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

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

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:& @5 Y; P, s0 E# n. l
參數說明:
  {9 F8 `# y3 k  ^( z: M-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”4 P; I5 s8 c8 q5 w: B% E+ o4 i
-a 想在信件中夾帶附加檔案,用這個參數就對了。
, u" ~. f9 Z( G  b例 :-a ~/testfile
' i, |5 y# N( F4 n, C-c 指定信件的副本。
$ \* V) E6 p4 \! u2 e. U例 :-c barry,vivian
. Y2 Z5 g, M- f% C( n-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
( O9 ?2 B; x5 C; P例 :-b mary,tina@msa.hinet.net- G0 h0 r! G4 W  @' g: w! X
-q 以指定的檔案做為信件的起始內容。" O' p: r! O7 U8 b
例: -q ~/mailfile& G% b1 }$ Y5 U- _$ _7 h4 x
-r 設定 mail from 的郵件地址。
$ Y+ {+ |& v, q8 t- M$ N4 U例:-r admin@paching.idv.tw
2 i$ e3 J; S+ N8 Q- G; @0 V-u 讀取使用者的 mailbox。
. c, Q' P. m5 h# _! I% M  t+ X( o例 :-u barry" [; M& z  L& L4 J! g/ S
-f 讀取使用者的 mailbox。
; I* r) C! k' B4 L& G4 f) U6 c例 :-f /var/spool/mail/barry
0 l! U! G& ?! E$ w/ Q$ ^9 c$ k
- V0 A" ~6 F& q8 O, D2 c% @6 b

4 {! G# _( |3 T5 U, G% g- f9 q& P+ `1 X6 q8 V5 ?
將content.txt文件的內容寄出(非附件寄出)2 K, T! o5 i/ @% C4 N
# cat content.txt ||mail -s "mail test" test@gmail.com9 n% S0 ]$ `2 G0 x
或者
& \+ B1 n, p) _# \) F; e) v9 c7 r
, R7 ~2 c- w1 u6 O" _) x# mail -s "This is a test" aa@aa.com < content.txt
7 r2 E/ S6 Y6 U6 \4 i" @. S5 b" N編輯模式寄出:
+ r9 Y% c3 e% a9 Q9 R# mail kevin@av4u.info
- a3 V9 T% X  vSubject: This is a test mail6 \3 g1 v  G/ Y) Q' F
There are writing area!+ \- n! p3 G% d) L6 Z6 F
You can't use the Up/Down button in this form...
4 }% R6 a  M1 |( r( ]& H  T) ^# |you can finish with "."
$ e8 e; J- O( b1 {0 t.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
9 H2 r* J/ L/ a5 O3 c; h4 t, v
' ]2 s7 B6 U* R& p1 _mail/mailx命令使用外部SMTP來發送郵件
7 o0 ]8 w, b, n% z* F2 T: p/ P/ O7 ?* a/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:! g* e/ e$ B" b3 w. i8 t1 c
修改/etc/mail.rc 加入底下設定:
+ p9 I) d4 N. {5 V
  1. set from=fromuser@domain.com smtp=domain.com
    5 T1 I$ t2 T# R7 J: x( J
  2. set smtp-auth-user=username smtp-auth-password=password
    $ x# @/ `2 t. b5 ]( U' B9 [* E, a
  3. set smtp-auth=login
複製代碼
說明:& t+ g: \) q( m& U/ A% G
from是發送的郵件地址
8 ~( Y4 t; P: `  q: R9 W0 Usmtp是發生的外部smtp服務器的地址
. D: u: R7 K/ K; a0 u) j+ l' F. hsmtp-auth-user是外部smtp服務器認證的用戶名
$ E8 F' }" {# ^# I& K/ Z5 wsmtp-auth-password是外部smtp服務器認證的用戶密碼+ G* H$ D7 _8 I
smtp-auth是郵件認證的方式  h2 G& X7 S& |
配置成功後,就可以使用了,可以發送一封郵件測試一下:& x0 h3 a2 p  @, K  I$ i& q- V
# mail -s "test" user@domain.com < content.txt5 {6 x# B0 B, w' V
在linux下利用Google的SMTP來發郵件- j  X0 U/ F' h, g6 t
' ]( [. ?1 `! X" `1 N1 V: J% y+ {. m
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。; T" I: s  y8 z# O( t
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
& _% F6 h! b- x! {+ h" N
5 x7 L% C5 Q/ v% i- j
! l. n" Q) \9 p
! J1 [: V9 P- w& f3 h% O
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
3 ]# c2 Z" n1 Q; E2 j1.安装mail5 a# l6 E7 Z; ?2 A
yum install mailx -y- {- @7 o" o) p. ?$ u/ @( X! Y
6 W3 S; s( R2 _3 h
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
! ?% ]3 j& K9 V- d0 V- d% B# l& K
* Y3 u9 C2 Y' ]" E0 h' F3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容" }3 k  G4 n3 q  ]; a8 m* [
set from=demo@qq.com
! o6 O2 R, r9 D' M) vset smtp=smtp.qq.com  
8 F0 Q. a4 K( q, zset smtp-auth-user=demo
: j$ t5 ~" w* kset smtp-auth-password=demopass 1 ?  K$ S1 K+ s' s
set smtp-auth=login1 j# I+ s' U' N0 P
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
+ t9 S: a+ P2 G8 Z/ g2 K4 C% j7 v% f
4.利用Google的SMTP發送郵件0 I  d* r+ Y; s8 G7 Q& I6 {/ G! |' B
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
. p5 M- L# m' z3 f6 Y% T: U编輯/etc/mail.rc,加入以下内容/ U/ m; t5 `5 {
set ssl-verify=ignore7 s' x, J/ ?0 ?/ A9 x
set nss-config-dir=~/.mozilla_nss_shared_db
0 m/ Y+ |& ]7 h2 f& bset from="myaccount@gmail.com(myname)"
% b, `* e$ U1 F9 V3 v6 Hset smtp=smtps://smtp.gmail.com:465
2 O4 }/ _- S1 D/ Tset smtp-auth=login; h. |/ a7 Q2 u2 I- Q
set smtp-auth-user=myaccount
$ b' j& ?5 V+ J' ^4 N' [set smtp-auth-password=mysecret
9 D! o1 T# L& v3 j, \% }8 {
7 B7 x1 b$ P# s4 d' W4 U/ H如果想添加多個帳號,那就這樣寫配置文件, P! U5 s. L* E6 B1 o/ x+ A- a9 F/ g
account starttls {
4 D$ W5 Y- q8 I! i7 V5 V6 g  aset smtp-use-starttls
: E% A% B) E9 k' Vset ssl-verify=ignore. A. x/ I- H, M! H, d! Y6 N7 G
set nss-config-dir=~/.mozilla_nss_shared_db
; N7 s! \' Z- _: u: u4 Nset from="myaccount@my.smtp.host(myname)"% p* y' _1 t/ u+ v' v2 c
set smtp=smtp://my.smtp.host:25
3 h, t4 U( D6 D3 `set smtp-auth=login/ A/ m% x+ o1 F7 \/ V5 {, q
set smtp-auth-user=myaccount
8 B9 ^9 N: g; l  h5 |) W! L/ b( l, dset smtp-auth-password=mysecret
8 u' Z- f7 `1 r; u2 ~/ X}/ D" S1 f4 c# n) k9 V
account gmail {
- L+ ^8 c& ^' N# B8 k+ Hset ssl-verify=ignore
- p" d$ l  t- s' pset nss-config-dir=~/.mozilla_nss_shared_db
, F6 ]2 O! Y+ K- uset from="myaccount@gmail.com(myname)"
: r7 S: r) Q, S9 W. B! zset smtp=smtps://smtp.gmail.com:465
9 Q: S( I" n4 f2 `# R* M- m9 K  bset smtp-auth=login
$ g0 A  B  u! d" iset smtp-auth-user=myaccount
; Q& a+ y9 q8 ?0 k8 r2 {set smtp-auth-password=mysecret
' a) Q8 s' G  h2 n3 D6 x9 ?2 s}
$ ]2 r6 P; \+ ]7 P/ C( Q" F( e不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail; M  x* n* t% e5 A" Z
但經我測試好像沒作用6 E$ O8 j4 ]3 v# m- ]8 [  u. A
讀信:#mail
- ]7 U- }+ A' p/ N  e9 X假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
" @+ D+ C7 {% n, _! S+ _#> /var/spool/mail/root
0 a( [, B/ n0 r5 ]/ V在執行 mail 就可正常讀信了
/ ^/ V% x, P; O! v+ m( u! D* |. b

# M+ y* @" n; E

- r  J5 a0 O5 X9 b請參考:6 b8 ~4 e: S3 X1 ?7 W$ h
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
* o% K6 O9 m3 G# |( h( C, m6 W1 R; L  T6 X1 F" e/ }  N# b





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