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

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

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:
7 U* h, L, @$ m參數說明:, ~7 I6 W+ n3 e- T6 z- x
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”0 A5 [9 z: R( |
-a 想在信件中夾帶附加檔案,用這個參數就對了。; ^; ]' \; a# `" V# V" C+ ]' e
例 :-a ~/testfile
& j, Y5 L. G5 }8 @& d& [+ I, B-c 指定信件的副本。% P6 R9 \2 [( g
例 :-c barry,vivian
. s5 D* r( |! y-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。0 t- {. {& J, Y! Y8 `
例 :-b mary,[email protected]7 }  M# g. r8 A: K6 x1 ?% x
-q 以指定的檔案做為信件的起始內容。
. p/ K' R4 [- |/ U! {例: -q ~/mailfile
' t7 Q7 [9 l, r- n2 w7 j-r 設定 mail from 的郵件地址。" L" F5 P0 N  T- B6 P
例:-r [email protected]) F4 D& q' |+ S# m
-u 讀取使用者的 mailbox。: y# l5 {/ @+ X- y0 ]
例 :-u barry# s7 k. Y! r, f8 z* F; }
-f 讀取使用者的 mailbox。
( J/ a( V% h& K* Z' k例 :-f /var/spool/mail/barry; d: l# [! I& D1 c

2 N/ d' y$ U" k$ T) Z
2 d$ u( Z/ W  ]1 k  ?

" N  Z4 x$ \" R" M, i1 C1 E將content.txt文件的內容寄出(非附件寄出)
* u9 e1 ~2 r! x- G# E# cat content.txt ||mail -s "mail test" [email protected]
9 z6 [9 H- ~+ _! u: ?4 v% D或者, O5 ?" m3 K1 e

$ _9 P( p! R3 L( A5 w# mail -s "This is a test" [email protected] < content.txt& z+ r- f. B$ o5 \& e& @, D
編輯模式寄出:
. u' q* c; X% s( \# mail [email protected]: L7 O6 k3 r" J; K& D# F) H
Subject: This is a test mail
# E7 a7 R. q# E. f/ t5 GThere are writing area!
, `4 l. l- H+ S& B2 k) [0 }3 `You can't use the Up/Down button in this form...
0 q2 }6 X, d# H- L. ]" ^6 Qyou can finish with "."
6 @) p7 N1 F- D# E' _' H8 Y. ~" R.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !8 U. ]- U5 S+ Q! Y
4 X1 x3 Z) Q: u- n2 W& H# e/ J0 @1 m
mail/mailx命令使用外部SMTP來發送郵件8 d3 z9 d% }; p$ O$ u% y" [& A
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:9 {& [( Q2 P# p% h7 F9 `2 o7 X# n
修改/etc/mail.rc 加入底下設定:( N6 R" g4 C8 D  V9 N
  1. set [email protected] smtp=domain.com8 f2 U; d: y7 U' f
  2. set smtp-auth-user=username smtp-auth-password=password
    * N( a7 r+ a' ^7 l/ V
  3. set smtp-auth=login
複製代碼
說明:4 x" P" p3 c& e' Z( O5 f8 ?
from是發送的郵件地址
/ W( ]! f. r/ \4 U2 |0 Z4 ^smtp是發生的外部smtp服務器的地址
" D1 l+ {& F3 l/ w+ O' @smtp-auth-user是外部smtp服務器認證的用戶名. {0 c( _/ ?/ N$ Z' P5 T8 S
smtp-auth-password是外部smtp服務器認證的用戶密碼( [( |7 }1 r0 [4 n3 `# F2 m
smtp-auth是郵件認證的方式) r- p# P& S) W
配置成功後,就可以使用了,可以發送一封郵件測試一下:
8 M6 p# j; E8 @0 t# N5 i# mail -s "test" [email protected] < content.txt
/ e. H! y- _: _/ D7 i在linux下利用Google的SMTP來發郵件
. H% x5 u  h1 C* P. X# e
$ J$ n& ?, ]" ^1 G1 F# o" W在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
& G4 H  Q' ?5 g2 |6 e% e/ ~. n6 [在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
( L; n, }  K  P7 k

9 K& J8 H6 \) h/ S3 u  @
. m, z- r3 z: C/ L' W+ X5 [

# {& y5 ]) j9 ~; Y. q2 o9 L& {下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。$ q% f2 d8 s6 G. L) P: z' E
1.安装mail
( `! }7 Z9 V, z2 _- v8 I; B0 [yum install mailx -y
  i( m, K# x# t; C; N0 J
4 N+ L' y3 W1 _: A; o" l+ u( Q: O2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務( j8 y! g( k2 U1 w% ~8 K* ]

! E0 F, q* q  O! @$ e3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
/ k- K( f. |) T$ u1 ^! S6 b5 aset [email protected]
1 d% c. S& @/ W; Y3 Lset smtp=smtp.qq.com    Z% m! z1 j5 p- `5 I% M
set smtp-auth-user=demo % \, x1 N$ H  J0 b8 n
set smtp-auth-password=demopass
1 H) f) J2 k9 N0 k1 R" ?  eset smtp-auth=login+ f+ f! X+ v4 D# `7 k
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail/ k$ A/ X2 L% i6 e' R
" A0 a8 F1 |/ c( @. q; Q
4.利用Google的SMTP發送郵件, t9 D! t' w, F1 Q. I- P1 c/ p' W
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
* j1 w" W* X4 ~  K+ F1 P8 \6 s编輯/etc/mail.rc,加入以下内容
* `7 M  Y" |& u8 w* R, }set ssl-verify=ignore
+ P2 k6 s: D8 R* F7 S( eset nss-config-dir=~/.mozilla_nss_shared_db( M) ]; j$ G" H) E0 D8 f$ I
set from="[email protected](myname)"
: k" M+ S$ [1 y# w1 c9 X' Hset smtp=smtps://smtp.gmail.com:465- {& ^" t6 n1 x( h- e6 q0 d. T
set smtp-auth=login
% `# K# Z! q+ K2 Zset smtp-auth-user=myaccount
# Z* j! u+ s; K, g# z' Eset smtp-auth-password=mysecret
% m& y7 x7 o; ^+ @
# S- n3 z- D: a8 u3 s如果想添加多個帳號,那就這樣寫配置文件
7 @7 O1 h/ T9 b5 Maccount starttls {; d  y  I3 [# h
set smtp-use-starttls0 @, k% I# f/ f! u, {+ K1 X
set ssl-verify=ignore
+ L1 a% a/ L/ E  ~& J" U$ J) k1 Gset nss-config-dir=~/.mozilla_nss_shared_db
/ W; d. j& K0 B6 mset from="[email protected](myname)"
1 i9 p" J( G/ Eset smtp=smtp://my.smtp.host:253 K) n5 w9 s- `
set smtp-auth=login
' y/ R8 U+ [3 sset smtp-auth-user=myaccount& M7 h4 {- C6 w& ]0 C9 D
set smtp-auth-password=mysecret' e( Z9 s- S6 ]( Q( {3 s
}
) W$ x( ^9 a0 C( Waccount gmail {
1 F/ B7 o2 A5 |  kset ssl-verify=ignore
9 U$ ?6 w: F7 o( D  t5 Cset nss-config-dir=~/.mozilla_nss_shared_db
: @8 [$ z% u' P5 {9 E# j, y  Y9 wset from="[email protected](myname)"
/ D9 R! d6 ?2 e. Fset smtp=smtps://smtp.gmail.com:465
0 C& X* k9 D6 v0 Jset smtp-auth=login
* ^" T: X4 J9 u( o: nset smtp-auth-user=myaccount
+ N& h3 v1 E1 H& |9 z" rset smtp-auth-password=mysecret
0 c8 w, O+ ~* b; k0 i+ D}& W  q8 N( t. n
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail, i9 d' h$ F! J* m9 d
但經我測試好像沒作用
. ^6 L% F+ m5 T8 f7 i讀信:#mail
, t: ~7 b. `/ K, `( m* G2 M5 v: J! P假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:  I0 b5 ^" O& g: M+ F: u; }
#> /var/spool/mail/root) G4 c9 u0 e( R" k2 A1 b& h
在執行 mail 就可正常讀信了1 d9 y: }, K5 B+ I
% G7 E" \) l. F& r" T/ A

9 C" j, x! j; n1 r% m  z請參考:: a: ~) \  j3 U, h# g
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
0 Y) ^, f$ t3 s7 ^4 f8 `  R1 G
( J2 W) i  @' J/ \




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