|
|
tid=35304&寄信:$ D# L3 P0 Z2 @' Q" |2 l' K5 |. l
參數說明:4 g4 ~3 t! F; @1 g
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
e# Y+ j- b Q3 ]9 k5 a-a 想在信件中夾帶附加檔案,用這個參數就對了。
9 [! ?/ o S( a# e8 N例 :-a ~/testfile
0 o- C! a7 d+ L* Q6 D8 ?5 u. d0 o-c 指定信件的副本。
9 S: B; B5 @- v% ?$ k例 :-c barry,vivian
4 Y: Q7 s6 _+ @% W& x-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。, p5 `6 i! e3 M/ S( t; V* u
例 :-b mary,tina@msa.hinet.net
+ |* n0 S; M$ ^; N( @4 Z-q 以指定的檔案做為信件的起始內容。
5 w- b) L0 ?% h4 X8 N) D例: -q ~/mailfile0 d" ?; x% z- s, P ^
-r 設定 mail from 的郵件地址。
2 k l% a2 S! e) K* @* c. A例:-r admin@paching.idv.tw6 e' b K8 J( u0 \% ?0 y
-u 讀取使用者的 mailbox。
+ O; l, w( H0 I例 :-u barry
. q6 {" H; X" E m: l# s-f 讀取使用者的 mailbox。1 v! q+ l- W0 m4 i
例 :-f /var/spool/mail/barry
4 Z1 h5 _7 `$ D& D K# j: R" P/ n! Q+ c4 U
# W) {* e% g" i4 ~# K
% O% z5 K6 `: x9 s+ w( r3 V/ a0 O將content.txt文件的內容寄出(非附件寄出)' }6 p8 C1 @" M+ `4 e1 j
# cat content.txt ||mail -s "mail test" test@gmail.com
' p5 T; o7 u% Z, w% q. ?或者
9 a: A; ] W( e- E; F7 ]2 {# I
# mail -s "This is a test" aa@aa.com < content.txt
9 j5 W4 k' g) C0 K2 F5 E# p編輯模式寄出:- k7 J- V- H2 q3 I$ k
# mail kevin@av4u.info
% ~# V5 V0 J3 Z% @5 RSubject: This is a test mail2 y" j+ m, D, a6 z. D
There are writing area!
9 O8 m8 w( @' i, y; `1 rYou can't use the Up/Down button in this form...
7 t: P h( I" ]2 K$ g; Q+ q' uyou can finish with "."6 J: n4 C: z& i% h% l
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
" R2 @; K& z% W$ z& W. r% @
6 Q# ~$ E8 E4 F, |* v/ S( h8 U! {mail/mailx命令使用外部SMTP來發送郵件6 Z% Y$ P2 z& R9 D
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
: a5 ]1 I+ B; V7 s, Z/ O修改/etc/mail.rc 加入底下設定:
8 }+ R6 m+ }' T i' s) G- set from=fromuser@domain.com smtp=domain.com1 [2 y" P; ]3 f, M' O' T
- set smtp-auth-user=username smtp-auth-password=password
5 f# N5 i, R$ l e - set smtp-auth=login
複製代碼 說明:' H4 E" Q. u, h) c! `; {
from是發送的郵件地址
8 r, |, q, U/ P( g/ q* b7 Ssmtp是發生的外部smtp服務器的地址% d, l: Y: {% L2 z( g
smtp-auth-user是外部smtp服務器認證的用戶名
0 `- H) R' U4 s# Ksmtp-auth-password是外部smtp服務器認證的用戶密碼$ X1 o0 T& h, }
smtp-auth是郵件認證的方式) S+ x" g# C) }, j( s4 { B/ ]. Y# s
配置成功後,就可以使用了,可以發送一封郵件測試一下:5 Q) ~( J4 m5 a `
# mail -s "test" user@domain.com < content.txt4 C% V7 w5 x w1 a+ }" ~' V# t
在linux下利用Google的SMTP來發郵件
. O7 ]% R0 S- J, u. `; V/ a1 n9 X0 t. `. [
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。 T6 z* U4 c' D- @0 ~7 i% \2 t
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
# ]. w1 g: y) ]8 [- ^, w7 J! S
/ q; G1 g: B# P6 Z
$ R. U8 D) i+ r
& j7 k* t" C5 f, p6 N! R0 Z6 N- T下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
1 z: v& d- A! d# h" D& f5 a {1.安装mail
3 F3 ]! G1 c( P3 Z( }! D' v5 nyum install mailx -y& w9 C* Y0 w g# \8 l
: i7 z! Q! T5 v2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
) ~3 z6 O! {% R+ I' M9 S! G# Z/ c7 K4 r' W5 G0 N
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
- ^- V3 U' [" p4 oset from=demo@qq.com
8 r" [% B# L' _8 i7 H. s& r" u: P$ Tset smtp=smtp.qq.com
! y, V6 L4 a6 ]; C4 b7 W/ pset smtp-auth-user=demo
+ B% J$ m. F G2 T# K/ aset smtp-auth-password=demopass
. A5 o' [# v( s3 F! q6 N" @7 K1 dset smtp-auth=login" J+ a$ }3 N9 e- `
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail: L; P9 g6 {/ | {0 r
/ F# _1 {7 } q
4.利用Google的SMTP發送郵件
. N; R* J/ f. H/ U/ h5 ~在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db8 u, k7 |3 @& S: ?. b+ [* t
编輯/etc/mail.rc,加入以下内容
& b2 F1 Y u" `" O- I$ iset ssl-verify=ignore4 i! u) _6 A: A
set nss-config-dir=~/.mozilla_nss_shared_db0 W0 @2 N& s* t+ A! D. g
set from="myaccount@gmail.com(myname)"% G( r# B$ `% M, N) T4 Y
set smtp=smtps://smtp.gmail.com:465
1 c* x6 [( ` X6 M) P) m8 w6 gset smtp-auth=login! \6 S* c$ F i4 P$ i: B) x
set smtp-auth-user=myaccount- J* e9 u! B8 g/ X# O2 s) x3 y0 T
set smtp-auth-password=mysecret
$ ]! |5 s3 Y: L. J' m k
5 g y! f7 [3 j+ G, {如果想添加多個帳號,那就這樣寫配置文件
& O' L: f c3 Jaccount starttls {0 R! p( U' @2 C. ]: o
set smtp-use-starttls
8 U+ m; w( A- B; k: p, eset ssl-verify=ignore
: j# Q0 U& l1 u' ]6 S6 W, v: Jset nss-config-dir=~/.mozilla_nss_shared_db
3 \& F( {# G; f+ Mset from="myaccount@my.smtp.host(myname)"+ ~. r. g M2 V, V) \
set smtp=smtp://my.smtp.host:25
) X- q+ E5 o, Nset smtp-auth=login
4 f [5 s/ g. S6 gset smtp-auth-user=myaccount
2 R# v3 M! s Hset smtp-auth-password=mysecret( K; i6 O8 A. Z. y. |4 {
}. \" Q/ s& H# E) K
account gmail {5 u* A* n8 m1 a
set ssl-verify=ignore
4 |2 S/ E. p: e U* g$ ~" pset nss-config-dir=~/.mozilla_nss_shared_db# r% ], q" |1 u. i
set from="myaccount@gmail.com(myname)"! s8 f# [# U _+ K3 Z) x3 X
set smtp=smtps://smtp.gmail.com:465
; `! |7 J$ t; k: Gset smtp-auth=login
* e1 F. }( X* n8 ]% f% d5 z$ Lset smtp-auth-user=myaccount
; p6 Y5 b/ Q: Rset smtp-auth-password=mysecret
& J- L4 C* ~, q6 x}: n/ l( ?. B( [2 Y3 ~; M) D9 ^
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
# n) ?4 P; N3 V9 g; @" B但經我測試好像沒作用
5 _3 ^3 S! x1 O4 a$ M) @8 E$ f2 B讀信:#mail" y" ]1 X9 Z" T) u4 ^
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:0 A9 v- A, q! k/ d. z
#> /var/spool/mail/root6 s' v2 \6 ~5 u- u3 i
在執行 mail 就可正常讀信了; b3 d# H" d0 p( N$ T3 \3 G8 [
: n7 I9 e' p$ Y& X) }1 {& L
7 q7 k; @4 l% d! M- ?
請參考:
& z0 i5 a. U6 h4 S* lhttp://linux.vbird.org/linux_server/0380mail.php#mua_mail
9 V; J2 o7 \1 A* Z2 b% F* u
1 v" ] f, \6 d# ^# y) X |
|