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

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

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:6 d  @2 b; k1 b4 S1 `
參數說明:
) A, \$ Z  u2 r' Q- f/ G8 |-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”. l( D" h; ^  K6 \6 S' c7 h8 G
-a 想在信件中夾帶附加檔案,用這個參數就對了。
5 g' y& {$ r8 o: U6 r3 N例 :-a ~/testfile
9 j" Y' Q7 {8 t$ F! I# F9 d-c 指定信件的副本。/ c0 y' C& O+ `# i4 U) y
例 :-c barry,vivian/ ^7 G% n' P' Y2 i
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
0 f' \" S& X. ~& M* I- j例 :-b mary,[email protected]
3 E3 Q' ]+ E9 i! V8 G$ \-q 以指定的檔案做為信件的起始內容。4 {. i' h$ i$ V
例: -q ~/mailfile% r- T4 E6 ^; x& W4 g
-r 設定 mail from 的郵件地址。1 r" k7 a# }! W* Q) U/ p
例:-r [email protected]
% e* [- E9 K6 k8 b-u 讀取使用者的 mailbox。
* ?+ k8 D' _0 ]4 E$ n4 N例 :-u barry9 ^# g9 `; L2 i( [/ O" ]7 `: ]
-f 讀取使用者的 mailbox。
& i' n; n0 }- q, q6 d例 :-f /var/spool/mail/barry
, K3 S5 T( [; M4 ]1 w4 v. l" W) Q: ]# w
' O& ~9 ?- r9 Z0 H- \1 V

7 q: l0 ]1 }- A% j將content.txt文件的內容寄出(非附件寄出)
. t* h  I$ N* t$ c# cat content.txt ||mail -s "mail test" [email protected]
. @! L" W2 p+ H3 T或者% ?) M' v3 K4 ]/ t% [6 j7 C

0 {7 z- W+ B' ^- A7 ?) r$ M( o# mail -s "This is a test" [email protected] < content.txt
8 y  z6 l  t/ R" K, u編輯模式寄出:
8 }1 Q; ~  [% ?' S  F4 l1 C; u# mail [email protected]
; m1 ?3 |5 |5 PSubject: This is a test mail8 o# ^) o& C1 I/ {
There are writing area!
& @" Y! g5 u$ u1 _$ R3 o  S( hYou can't use the Up/Down button in this form...
. x# i+ c( e7 t* Y' n# h  ~you can finish with "."
2 R- ~0 n5 {6 q.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !& x4 E0 n5 I. d& @3 c

, z2 v8 m; w6 d- q+ J7 X% Nmail/mailx命令使用外部SMTP來發送郵件. \1 o! E- p) G0 h6 ^6 b% h  t  L) j% {3 q
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
0 }8 Z, r% ]+ o: y* S1 |修改/etc/mail.rc 加入底下設定:
4 n. l" L' z8 V
  1. set [email protected] smtp=domain.com# M9 S; d: G4 u3 @1 ^
  2. set smtp-auth-user=username smtp-auth-password=password% E8 P' y9 j* H3 ?2 g
  3. set smtp-auth=login
複製代碼
說明:
' A% v) C3 m; r  gfrom是發送的郵件地址
, i* H. r# _8 M9 k9 I" I3 T! \2 Asmtp是發生的外部smtp服務器的地址
3 u$ x# I$ g/ b( S* ^7 T* qsmtp-auth-user是外部smtp服務器認證的用戶名
: j8 X* [( M! o! usmtp-auth-password是外部smtp服務器認證的用戶密碼
" E1 p3 x$ ?' w2 E+ ^smtp-auth是郵件認證的方式, F  Q/ ^5 H0 s' L7 Y1 g
配置成功後,就可以使用了,可以發送一封郵件測試一下:' ]2 c2 D: C+ r' B6 F1 D
# mail -s "test" [email protected] < content.txt* n& g# e. Z# ~2 p6 c
在linux下利用Google的SMTP來發郵件
; B- F+ |9 j- x. Z! j& B5 f8 t% y! T6 g: r
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。% }. o( k6 a+ L# q+ b9 {% i
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
/ r' W' ?, r% l

( q; }/ V3 P7 A& R8 B! R3 r
* \  T( `  m. x* j  D/ x- F3 _

  a$ N* l& P: H* g( U& K9 q/ y下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
4 u5 E! b+ j+ ^" J* a1.安装mail
8 ^% Z8 T9 N, X4 [% C) P+ hyum install mailx -y
/ _" J) O8 [) L0 l! g9 i
) |4 ^- b7 ?. N6 j2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
9 K- k, Z9 V6 {8 v+ p7 @/ }( \6 C9 O6 Y: m9 E
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
! Y& Q3 u) k# Q( k* }' [set [email protected]% U$ J" I/ H3 y# _9 K; C- }1 V; [0 {' [
set smtp=smtp.qq.com  * L5 _% _+ @: O1 m: e: U  W
set smtp-auth-user=demo 6 P" _* Y  }' [. P4 M9 y* Q
set smtp-auth-password=demopass ( M/ D! d) y6 Q/ n
set smtp-auth=login$ x9 ]/ d. [  [( t6 X4 Z, ~
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail0 ]6 X2 T, x  A6 O: L4 V

- ~, d$ c/ O9 L! D: I4.利用Google的SMTP發送郵件
4 m+ [& R/ c- z) Y& o在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db- G- n# V( n. A
编輯/etc/mail.rc,加入以下内容0 C1 J" G1 ?. {2 h' c1 t1 F- H: T1 b
set ssl-verify=ignore$ I- R& F& r1 c/ w
set nss-config-dir=~/.mozilla_nss_shared_db
. [2 W2 T' E1 d0 f- Y7 |( s  ?set from="[email protected](myname)"7 T; U, T' c" t& W8 l1 N
set smtp=smtps://smtp.gmail.com:465
; w# x9 T% |$ L2 P9 u9 sset smtp-auth=login
) t' w# O+ m% S% ^set smtp-auth-user=myaccount
: j; F! W! i9 w1 O+ ~) b1 Qset smtp-auth-password=mysecret1 e+ S& B% ?$ |1 y4 \

, p; d- {$ a8 a如果想添加多個帳號,那就這樣寫配置文件" w; {- U% c2 N- N/ a
account starttls {
, P& F' z$ e; S2 J. eset smtp-use-starttls
& v3 h# w& W! a- R$ p  P& jset ssl-verify=ignore2 E( h  i6 ^% I6 p
set nss-config-dir=~/.mozilla_nss_shared_db' N# e% J% A( x. `( {
set from="[email protected](myname)"
9 z5 R' Y# e  R5 uset smtp=smtp://my.smtp.host:25
5 B! o$ e- i4 s$ F- rset smtp-auth=login" b& c, x5 K! x$ N+ I2 h; o
set smtp-auth-user=myaccount" Z  v) y6 v" y- S
set smtp-auth-password=mysecret9 \4 N- M3 p8 t! l$ F
}
: ?! d& m* q4 H0 R0 laccount gmail {  G5 t' o$ G7 h/ P/ @  C9 C6 H9 a
set ssl-verify=ignore" ?! d& }5 J2 X* I1 {
set nss-config-dir=~/.mozilla_nss_shared_db. Y: L6 ~, H4 S/ d  I
set from="[email protected](myname)"3 V* o/ j7 i6 C% L- ?
set smtp=smtps://smtp.gmail.com:465
5 E+ I8 g2 i& G: f4 l3 I' Kset smtp-auth=login( k* f! r! P# `& L& r9 X
set smtp-auth-user=myaccount* E& q* h7 ]! [# T1 F/ z* K) s
set smtp-auth-password=mysecret
$ r0 \+ P  b- Z* ^2 k}; L5 P  _4 y3 y0 F  @. x9 s5 I
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
. O& E. o6 V0 f( t
但經我測試好像沒作用
/ T& u5 Q8 b! x讀信:#mail
1 `; P4 v0 Z8 {: B假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:/ C1 f) K: Y9 q% q6 G. K) |
#> /var/spool/mail/root: @( v. G' r$ F$ ]. i
在執行 mail 就可正常讀信了
$ i  w. |( ~3 y7 e+ q4 w" J
( _; @' \+ w+ \- F
# }' k9 Y2 m- R8 P
請參考:9 o4 U1 y5 j& V5 n& m- Q; r
http://linux.vbird.org/linux_server/0380mail.php#mua_mail4 w) R1 L( x" i
( `' N# \3 ^1 A& O4 B





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