52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
5 Y$ }. k! R' D @
參數說明:
& k3 n6 [ N" Y6 M' U4 R! I# Y* ~
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
/ r$ G z$ T! `
-a 想在信件中夾帶附加檔案,用這個參數就對了。
1 `4 u1 T/ B+ ~
例 :-a ~/testfile
. X0 n& K- @1 Z: h( L1 R
-c 指定信件的副本。
7 S) S& _% K- E( V
例 :-c barry,vivian
% q, R1 L. {3 F9 F
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
3 f: ~5 L; f$ |
例 :-b mary,
[email protected]
( Z- o& O% P9 `. Y" e
-q 以指定的檔案做為信件的起始內容。
; J" E7 b6 \4 R
例: -q ~/mailfile
# a1 }- p1 M4 m4 v; e
-r 設定 mail from 的郵件地址。
0 w( w! B: ^8 V- D8 K
例:-r
[email protected]
! t: f! J" x/ r% ]8 b. I
-u 讀取使用者的 mailbox。
1 O+ o' r2 g* O) q, M( O+ @# j ?
例 :-u barry
8 O: A- m# e1 H5 k8 e
-f 讀取使用者的 mailbox。
8 [# l. b2 A, r n
例 :-f /var/spool/mail/barry
* L$ \6 e g$ L7 C
# G! i: \( ~1 ?2 Q& f
: s$ E! ]+ K- e0 j: W) R0 N
6 F9 B) E" R# @/ K
將content.txt文件的內容寄出(非附件寄出)
! z% G3 [2 {/ G- a: I; ]0 @
# cat content.txt ||mail -s "mail test"
[email protected]
0 e# `: _1 J& F5 {
或者
2 C; Z; g3 Q1 f% t/ W+ S# b9 V" ^$ q
/ k. q. T8 ~6 S0 t
# mail -s "This is a test"
[email protected]
< content.txt
0 S/ L7 |0 `) Z8 _8 o/ Z
編輯模式寄出:
$ C8 Z* K i9 b, d+ H% F
# mail
[email protected]
: A' w1 D5 d; O: ]6 B& M
Subject: This is a test mail
, l. y. `( h R9 w0 I
There are writing area!
% r" O% C; g- ~7 q) }% z w) \
You can't use the Up/Down button in this form...
6 J) [5 F! f- V" h; Z4 A
you can finish with "."
3 C+ b! a9 n; t% z6 {6 \
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
( s3 u; F& C8 K( |9 T
# H4 y" f( b3 D2 r; L( ]; H) L
mail/mailx命令使用外部SMTP來發送郵件
2 c6 C6 ?6 t- _$ \7 s( i# \
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
, Q( f8 T) ^, i7 i8 q. x' T% i0 S
修改/etc/mail.rc 加入底下設定:
5 L2 a U. `5 }% y/ M3 k; C3 @
set
[email protected]
smtp=domain.com
. Q: r. l9 [5 l! F5 ^& [. o
set smtp-auth-user=username smtp-auth-password=password
9 _, U: O' I+ {7 U7 b8 X( \0 a% Z. A
set smtp-auth=login
複製代碼
說明:
1 a: k0 W$ t2 @& |" `9 J
from是發送的郵件地址
* u6 Q% [4 ]; T1 ~+ j$ D
smtp是發生的外部smtp服務器的地址
3 f& l8 j$ Y, Y z7 C! `4 F
smtp-auth-user是外部smtp服務器認證的用戶名
* T& w6 x4 B0 a9 [+ b2 H% x/ `
smtp-auth-password是外部smtp服務器認證的用戶密碼
" t( r& [3 _! t7 j8 Q8 u
smtp-auth是郵件認證的方式
5 T5 C7 |' R' d
配置成功後,就可以使用了,可以發送一封郵件測試一下:
F9 g. v* l% F' x9 L. Z$ z
# mail -s "test"
[email protected]
< content.txt
3 e4 }% L6 x# s4 M
在linux下利用Google的SMTP來發郵件
+ {& B4 [3 ]3 B7 g# Z. q
; U" w& L3 n" c9 p$ y
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
" Q- k7 L6 L. W8 ^
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
9 o$ o" T: `9 V% V3 k. m8 E& z: V
# Q; ^" z* m/ T6 p. V5 [
+ F) `8 o; T9 `/ d
- A. d: A, }4 N5 |! V( W/ q0 M
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
9 a5 L% k/ Z( \ `
1.安装mail
- ~0 ^, D5 g4 y3 h1 e) l
yum install mailx -y
$ \- F/ V9 A: {1 V
3 }& u6 e% t: `7 R/ M) N
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
; g' b+ K1 a! m/ N& E- p$ b. v
9 ]8 B# G) z$ `# [
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
4 T4 H* y }( |6 m0 x
set
[email protected]
) ?! p9 \5 c) z! z9 |
set smtp=smtp.qq.com
# ?4 |3 r2 D' }4 t: u* E
set smtp-auth-user=demo
0 e: G, b y$ G2 c0 c4 j4 G
set smtp-auth-password=demopass
, } O; p6 ?9 a2 q4 n
set smtp-auth=login
# |5 u! L6 J* z9 u0 H" K4 e
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
- i, }+ H; A3 m5 ^. q' k( ^
0 X1 m( ?& V( W3 x' C
4.利用Google的SMTP發送郵件
9 c$ B" r( ~5 }2 e- J
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
0 T- {* Y6 k9 _, O) |
编輯/etc/mail.rc,加入以下内容
5 s$ i. C' L2 Y$ q2 g1 s" o* ?
set ssl-verify=ignore
1 Y/ R" J m7 L2 K8 f
set nss-config-dir=~/.mozilla_nss_shared_db
7 I4 d6 ~* z% S
set from="
[email protected]
(myname)"
" S+ `$ R R3 O2 y( ^
set smtp=smtps://smtp.gmail.com:465
1 Y$ V" c0 A4 S" M3 @( e p
set smtp-auth=login
: |3 U; b1 N' E) k$ E* B* X4 j! X
set smtp-auth-user=myaccount
( m0 W9 C& M; K, L- i+ s) k
set smtp-auth-password=mysecret
8 X/ b( W! n* {' Z1 A
! _0 n# E/ L6 B$ s# x' ~ O
如果想添加多個帳號,那就這樣寫配置文件
& [& ^% h: L1 S! p1 W( X3 }
account starttls {
; ]; V) o. B+ G3 Q* T
set smtp-use-starttls
/ G( H1 d" Z5 R+ {6 v& f
set ssl-verify=ignore
3 T4 v. k; r) n6 p
set nss-config-dir=~/.mozilla_nss_shared_db
( U3 a0 P9 I2 B }
set from="
[email protected]
(myname)"
9 A* W: l5 L% P' L5 K
set smtp=smtp://my.smtp.host:25
1 c0 C0 ?( g2 T8 N" ^
set smtp-auth=login
" A) l: ] X9 {" p2 }# c; e
set smtp-auth-user=myaccount
* I. |# d9 G( P% R( `! R* Y' ]
set smtp-auth-password=mysecret
" h7 R! S) V3 I
}
; Z1 s6 P, v8 a9 Y1 A$ K
account gmail {
' a/ \- w/ x b" G4 o/ M; t5 E
set ssl-verify=ignore
6 M% F3 G, K* t9 T6 i/ N
set nss-config-dir=~/.mozilla_nss_shared_db
9 ]" Q! H- d: c6 I ^0 I. p% F$ I+ H
set from="
[email protected]
(myname)"
) f9 s! }4 j3 C7 K
set smtp=smtps://smtp.gmail.com:465
! t- W3 u$ @! o
set smtp-auth=login
) T* R) v, M* T
set smtp-auth-user=myaccount
1 ]7 L n6 [$ L3 N" F g
set smtp-auth-password=mysecret
: q1 |9 t. [8 A( }* D& c* `/ p$ }
}
$ @/ r8 c+ H. d& l: L
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
: x/ C( j5 S4 v! Y
但經我測試好像沒作用
" I: e1 r8 \9 P5 P
讀信:
#mail
) }1 ]. P# h: `9 W3 F
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
) i' O8 c6 V" L1 M" u) ?
#> /var/spool/mail/root
9 f, V; Y6 b: t
在執行 mail 就可正常讀信了
- o; n! R. Z) p, x2 m$ g
2 E/ v" S+ l& d# Q0 k3 c* `
2 W9 y9 e5 \9 x
請參考:
. _, @" m- L. X% v
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
! x# T; a: ?! \) D3 `
* |+ v: j: Y6 R# @) o
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2