|
tid=35304&寄信:
4 w% {. G6 ?% a1 w參數說明:
$ X! k, B$ q) b; e" R0 _; i4 Y-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
" M2 q$ F3 t8 ^+ k2 P-a 想在信件中夾帶附加檔案,用這個參數就對了。
1 L( c8 e9 ]! C2 F5 X/ J& _例 :-a ~/testfile2 t2 E2 Z1 p0 y3 x- B; h
-c 指定信件的副本。4 S: H+ ]: L. P1 f: l8 Y
例 :-c barry,vivian# B. g: q4 g6 L. g6 d
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。+ i! f0 s) u- i% N& r; X
例 :-b mary,tina@msa.hinet.net
+ F! Y5 D4 i" [$ r6 v-q 以指定的檔案做為信件的起始內容。. J G- G1 w* t- P! S
例: -q ~/mailfile
0 g$ t$ H/ j( _0 ^' S-r 設定 mail from 的郵件地址。
" [" g8 ] A: t例:-r admin@paching.idv.tw
) N _; F+ Q1 m& [-u 讀取使用者的 mailbox。
4 n$ u8 c! L& g. p( d例 :-u barry+ |2 |, w$ P! x% s; a, }" \8 W) Q
-f 讀取使用者的 mailbox。
7 \, a) Y1 z7 y3 x9 z: K例 :-f /var/spool/mail/barry
! f( W5 K7 d+ k$ \. A4 x6 \3 K; v* _2 w
- b: F1 y1 ]. a) D; q$ P& ^/ D" U2 c( d+ n8 @
將content.txt文件的內容寄出(非附件寄出)& c0 c( B/ Q8 V$ b t, ^
# cat content.txt ||mail -s "mail test" test@gmail.com [7 v6 Z1 `# p- X
或者1 |! R8 e) d5 ?6 V6 c8 I p) F0 b
_0 z" y2 z7 U
# mail -s "This is a test" aa@aa.com < content.txt. N: A$ Y4 H* J. I/ y, k# \. u
編輯模式寄出:
& U/ t6 I _+ Y! f) S# x4 Y J% j# mail kevin@av4u.info
1 w# p& n# }" _& MSubject: This is a test mail
7 a; y! @- {0 F( k. z: l: ?4 l. QThere are writing area!& h0 s. F* r; }: Q0 L5 f' t
You can't use the Up/Down button in this form...
+ I# E/ Y! n/ R0 E3 C; R3 D# @+ Nyou can finish with ".": u3 b% N! h: o$ j
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
/ @* P/ k6 v, W0 q5 `
{' c c0 Z; r8 f) ?# Fmail/mailx命令使用外部SMTP來發送郵件! o K' X$ B: J& j
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
k" }1 L4 o- u( z- n修改/etc/mail.rc 加入底下設定:5 w* P' {" k+ ]+ f' I1 x
- set from=fromuser@domain.com smtp=domain.com
+ T8 G" s" J& P [+ E# ^% L, k - set smtp-auth-user=username smtp-auth-password=password
$ {1 c! i; J0 c) p& G7 H1 E - set smtp-auth=login
複製代碼 說明:4 t3 L0 e: L( c( V' m8 Q4 _
from是發送的郵件地址
2 O, w) G. K& B) \' B9 Ismtp是發生的外部smtp服務器的地址# o. X0 v" u6 a; b! l0 T3 ?
smtp-auth-user是外部smtp服務器認證的用戶名4 U$ s6 _- r/ H2 C r% r
smtp-auth-password是外部smtp服務器認證的用戶密碼" ^# L2 G$ c4 R5 x
smtp-auth是郵件認證的方式
: z( n! D2 r5 p. W$ v配置成功後,就可以使用了,可以發送一封郵件測試一下:
/ q3 [4 e: K" [* s* M u7 S1 h# mail -s "test" user@domain.com < content.txt
% g P$ a$ ]; z6 W5 t$ A0 ]在linux下利用Google的SMTP來發郵件
) m2 Y& ?3 ~. ^8 ?. E) W2 R
$ b1 ^7 v+ e/ a% j在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。. C- q% [$ e' S- M1 j5 O
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
3 R( o: n7 H9 }. m+ D! w- m$ M
9 E; B4 }: Z" C& `7 W4 e& Y: B
5 _0 r) ~/ x: ]' r* |
& \- A, c$ A* C- |* `下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。 S) P% S# J2 @3 Y/ {. K* e
1.安装mail
& Q3 g/ t' w3 w- b2 g, R- Myum install mailx -y
5 X6 K' s- }* ]3 g4 Z, J( \
" j0 U" o; B5 D7 ~, H2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
# h2 k: F0 O' s0 U
Z' e- k ?5 L( }% L1 e5 I: r7 ~3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容7 n7 e5 _6 Z. s. U
set from=demo@qq.com
. `* E( M& o2 C# N$ K% J1 zset smtp=smtp.qq.com 5 C% {1 W! h- Y. t: r' V
set smtp-auth-user=demo 9 P0 Q/ g" ~/ |# G( L
set smtp-auth-password=demopass
4 K3 Y) d! ?. K L4 j# j! vset smtp-auth=login, s9 e. @8 p6 t# y9 P
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
1 g1 C1 h5 c% m, o& v( j9 T/ l% {
4.利用Google的SMTP發送郵件
# Z! e1 W% p0 g在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
3 j* c" ~0 l0 j7 E" _7 G# \编輯/etc/mail.rc,加入以下内容
3 R; L4 [+ a: h' Tset ssl-verify=ignore& {# T% z7 y8 R: T
set nss-config-dir=~/.mozilla_nss_shared_db/ \! F. d2 ?9 e2 T! V+ \
set from="myaccount@gmail.com(myname)"
( `0 k6 b+ G4 s0 F1 Xset smtp=smtps://smtp.gmail.com:465
- }5 Q' `" k* u3 Xset smtp-auth=login
, Z- y( l( [4 n; c1 L9 Bset smtp-auth-user=myaccount
+ Q8 S" {; a: e) N. H) Eset smtp-auth-password=mysecret8 A3 p8 k0 c3 {: q
! u: E3 K" \) R1 j7 L如果想添加多個帳號,那就這樣寫配置文件/ r( o. M# \( J
account starttls {: _" d: l/ P% \% f- F' j$ K
set smtp-use-starttls I, S; \) A4 D. M* T7 U( w, X8 F0 i
set ssl-verify=ignore
8 P2 I5 c8 U0 W* t5 |6 xset nss-config-dir=~/.mozilla_nss_shared_db
& i" W: T3 G0 f/ i9 Mset from="myaccount@my.smtp.host(myname)"! |# P" a U; s2 T- d
set smtp=smtp://my.smtp.host:259 h* M- S! h8 O& U' H
set smtp-auth=login
7 U0 Q+ T8 O8 j( M: _8 Xset smtp-auth-user=myaccount
8 m, o5 J2 L: G' A8 r6 P# Tset smtp-auth-password=mysecret
+ n# X( x( V0 i4 f2 z2 Q, \}
% ^: \: p2 b- q. U7 }5 I$ N$ e; |$ {7 zaccount gmail {/ |; N7 h5 ~- e: {" w
set ssl-verify=ignore
" g5 S9 p" w: P/ m4 @8 hset nss-config-dir=~/.mozilla_nss_shared_db, W& n: \7 s8 ?9 M! M9 @" X
set from="myaccount@gmail.com(myname)"
8 O* |; b% Y4 B$ Y; Q {* ^" _1 l* eset smtp=smtps://smtp.gmail.com:4656 B2 @( S* f$ `0 s k8 x- w
set smtp-auth=login
7 @7 p# U# i: ]set smtp-auth-user=myaccount
* w+ O" ]& Z4 uset smtp-auth-password=mysecret
/ ^7 E+ f) [! l0 L; n8 i( R}- i Q% w) I! s. L- ?; q
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail! T! a# ]! X5 t/ |
但經我測試好像沒作用+ x; ^7 [$ Q4 [& h6 B1 z
讀信:#mail
- e9 h% O% p4 k) i# M假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:) f0 T: N& e9 M* }( |. M
#> /var/spool/mail/root
9 U! z) C7 t) J Q在執行 mail 就可正常讀信了
2 m) w5 A* j4 N
0 G! K; U" X; r' D/ q9 L0 p
8 B" D3 U5 m2 o4 v4 G8 s( V請參考:% v6 u: c& S- j# H
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
, Q! v2 D( E5 F5 \1 a1 s4 ] j4 F' J5 a* D3 v: P5 |& I: s5 I: a
|
|