52AV手機A片王|52AV.ONE

標題: linux 下 mail 指令大全 [打印本頁]

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:
( ?  A2 W. Y3 D1 A+ ?$ {+ q" ~參數說明:+ |% ?. E% _, |/ ]" [- q- Q
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”. P' E5 V3 Z( m6 |1 k! I! g1 p
-a 想在信件中夾帶附加檔案,用這個參數就對了。
8 H! \, S, c( {, y+ ~" D$ Z; s例 :-a ~/testfile/ Q* y6 ^7 ^; k; t- \8 n6 W
-c 指定信件的副本。5 w* u. l/ f! R# |5 _
例 :-c barry,vivian
' u" x5 k; c1 E; \8 s8 Q-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。# A, y3 \6 r5 G2 [- Q
例 :-b mary,tina@msa.hinet.net
* c0 {) \9 d0 e) J: @-q 以指定的檔案做為信件的起始內容。
* v0 H; h) `9 y2 f- z+ ?0 I& e例: -q ~/mailfile
0 {5 o" s0 I9 U9 a; ^7 A; }+ H% v-r 設定 mail from 的郵件地址。! q6 y5 x8 O, m# ]  G8 g& J
例:-r admin@paching.idv.tw3 f# _! u* Q( S7 y1 @! A
-u 讀取使用者的 mailbox。8 e! `, |- ]) \; P7 X
例 :-u barry6 e6 |' s: T1 b2 `
-f 讀取使用者的 mailbox。
1 ]  |+ H6 j' E0 |7 E, l例 :-f /var/spool/mail/barry
8 f) |7 w7 r3 R' D/ X% L- {' r# Y; Y+ I5 a6 z5 U( _
" g/ `9 e0 \( ?3 ]2 _

# W0 C$ c9 `/ h/ n  M3 L將content.txt文件的內容寄出(非附件寄出)# V0 B0 Q0 }5 }3 I$ A
# cat content.txt ||mail -s "mail test" test@gmail.com0 V: A6 u$ c: k* ?+ T
或者
: w0 _& H- f/ p$ d5 X, o, q2 f/ U+ u: ]5 Z+ o
# mail -s "This is a test" aa@aa.com < content.txt* j, \% v( W0 T2 R. P" O4 l0 p' C
編輯模式寄出:! a/ I1 q' r8 J3 V0 D$ b. m$ N& [
# mail kevin@av4u.info
: b- Y3 i& @3 _3 j' |3 HSubject: This is a test mail) v" B. c5 f, o9 H4 ~0 k
There are writing area!
2 F: t' x6 e7 n5 u0 Q: RYou can't use the Up/Down button in this form...
% D; @# ]0 P) }% y- Ayou can finish with "."
( ~5 }9 G2 |3 n. i" d7 N.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
9 A2 v& G; G  L5 ]! }5 ?% p! m7 @, x( d; x9 r3 h/ U9 [
mail/mailx命令使用外部SMTP來發送郵件' e  A) V- I/ H3 X3 h& ^% Y+ g
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
) r% y- P8 r* p, \, M1 P6 L修改/etc/mail.rc 加入底下設定:
% ]1 Z3 H, W) N3 o8 [! s- O
  1. set from=fromuser@domain.com smtp=domain.com
    ( c8 r, I9 {8 Y/ p: V) U1 g( u
  2. set smtp-auth-user=username smtp-auth-password=password$ O" L: a3 I  u/ d# M1 g# {* @
  3. set smtp-auth=login
複製代碼
說明:
, H& `8 F: ~9 u4 J6 m4 Mfrom是發送的郵件地址8 A4 c2 w9 u1 V5 F/ T5 U
smtp是發生的外部smtp服務器的地址
& f5 N  T7 e# A# |5 g  bsmtp-auth-user是外部smtp服務器認證的用戶名
. L$ Y4 f. h, R7 r( _) Msmtp-auth-password是外部smtp服務器認證的用戶密碼6 [! s5 B* X& W8 A. A
smtp-auth是郵件認證的方式
$ t( ?2 |0 G" ]! E配置成功後,就可以使用了,可以發送一封郵件測試一下:+ C; \2 H8 i4 G1 q
# mail -s "test" user@domain.com < content.txt9 l. x+ T. A2 K. `
在linux下利用Google的SMTP來發郵件
/ L1 }; O2 U9 Z8 _, C# O
. @! ^1 y9 p0 @) j/ g) S' P- p$ s9 S在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。7 i1 R9 l( z1 g& t: c6 J' |. @
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
: G" |! {* y( O' @+ @; q

- M( W9 I  g0 \
- j" r0 J. R% }' F
/ P" Z2 ]+ e- V+ H& R7 |
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。# o9 w. Z1 b+ j6 M9 y
1.安装mail: \$ X! ~  D2 z0 z2 ?4 d
yum install mailx -y$ ]' \+ k4 D* a) M. \5 T+ j

  Z& e- i- M2 b! ~1 L2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
1 o0 t: v6 Q3 r5 s3 t" J- u6 o
8 I- F. m) j- q$ M3 W) {3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容/ R/ N! b+ A1 l2 ~
set from=demo@qq.com
4 Q  ?8 J# v' H) r7 ]set smtp=smtp.qq.com  
  @% F" h$ }: e8 l8 M/ b1 c4 `set smtp-auth-user=demo ( ~6 u& h! B  f% K5 d1 `1 o- T" ]
set smtp-auth-password=demopass / |  X& ?1 r$ _
set smtp-auth=login% v5 t) o5 M; L1 A) [+ @
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail' Z$ ~) m7 u* ]3 b+ }+ ^6 q
' c  a- b; R. p, q3 S/ Z2 K5 ]
4.利用Google的SMTP發送郵件
& G$ W5 y+ Q7 \( c3 H在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db0 s/ P' e* l9 e! k/ n* ^0 e
编輯/etc/mail.rc,加入以下内容# z% T' C* [- Z
set ssl-verify=ignore
$ V2 k( c  ]6 U/ P* Pset nss-config-dir=~/.mozilla_nss_shared_db
( Y+ v$ R; d7 c: oset from="myaccount@gmail.com(myname)"
1 j9 d1 V  }' R& C$ Uset smtp=smtps://smtp.gmail.com:465
- M- J. l# K" Mset smtp-auth=login7 U: ], q% v- J- ~" Z8 |
set smtp-auth-user=myaccount
  v' b$ |5 H7 ~! ~set smtp-auth-password=mysecret
6 Y. p2 Z+ K0 l3 l1 z/ x
3 {" V; f. [* r5 D% z如果想添加多個帳號,那就這樣寫配置文件' L! L( w: _, ~: U4 e
account starttls {
* ^) I7 t" i+ C5 v( }: `" _set smtp-use-starttls
% @! U0 P8 z$ E" `0 W8 Uset ssl-verify=ignore
+ F3 B3 i7 f1 F/ a, c1 \* R) M2 M5 Wset nss-config-dir=~/.mozilla_nss_shared_db
- E, N: x2 \( _+ x6 `8 dset from="myaccount@my.smtp.host(myname)"  V& J2 o# E4 c. d2 z
set smtp=smtp://my.smtp.host:25- C! Z. W: A) R. i
set smtp-auth=login8 C; E/ a' x9 V& ~
set smtp-auth-user=myaccount! d' i' R, |, r: `! l6 l. N
set smtp-auth-password=mysecret
0 O6 a7 U& T% m4 ?1 o}
# Y+ y1 Q9 d- G$ F6 |account gmail {
8 Z- x0 @! r. vset ssl-verify=ignore
& Q- ]9 `  L* v& y" c% I& aset nss-config-dir=~/.mozilla_nss_shared_db/ Z5 U- ?: M# @  ~
set from="myaccount@gmail.com(myname)"5 y% \5 P0 z, D+ l5 D- N
set smtp=smtps://smtp.gmail.com:465$ Y- o' y9 N. W5 Z" n
set smtp-auth=login
! ]3 K* W5 V' A0 q9 }, Oset smtp-auth-user=myaccount
6 F0 f9 Q, l' n( I7 X1 K% q2 L) E, Zset smtp-auth-password=mysecret6 ~( L0 F- Z" k& U6 l
}; E" U  f- W. Z, F( Z5 y" J% a% W
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
8 d: ?' R% U! k& O3 i5 @9 D; W
但經我測試好像沒作用
  _; a. |* [1 b" ^; z讀信:#mail
$ ^: _. k1 z5 J& Q假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:- i: @2 p- Q" X7 L8 _. T4 z* o4 L
#> /var/spool/mail/root
& ?7 |9 B; ?& P/ _8 Y7 C7 x5 E在執行 mail 就可正常讀信了
- @% i/ m: Y0 f/ B# ]( A

3 F) N2 ~. q) g$ d. u$ r

# F4 J. _! `) O3 A1 t6 [( y0 H請參考:6 h6 j3 T6 R/ q+ n# ~% L7 ^
http://linux.vbird.org/linux_server/0380mail.php#mua_mail/ d7 p2 K/ R3 I8 r& B( X- B, x- h4 i+ f
1 a: ]7 @" A3 P





歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/) Powered by Discuz! X3.2