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

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

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:
5 Y$ }. k! R' D  @參數說明:
& k3 n6 [  N" Y6 M' U4 R! I# Y* ~-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”/ r$ G  z$ T! `
-a 想在信件中夾帶附加檔案,用這個參數就對了。1 `4 u1 T/ B+ ~
例 :-a ~/testfile. X0 n& K- @1 Z: h( L1 R
-c 指定信件的副本。
7 S) S& _% K- E( V例 :-c barry,vivian% q, R1 L. {3 F9 F
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
3 f: ~5 L; f$ |例 :-b mary,[email protected]( Z- o& O% P9 `. Y" e
-q 以指定的檔案做為信件的起始內容。; J" E7 b6 \4 R
例: -q ~/mailfile# a1 }- p1 M4 m4 v; e
-r 設定 mail from 的郵件地址。
0 w( w! B: ^8 V- D8 K例:-r [email protected]! t: f! J" x/ r% ]8 b. I
-u 讀取使用者的 mailbox。1 O+ o' r2 g* O) q, M( O+ @# j  ?
例 :-u barry8 O: A- m# e1 H5 k8 e
-f 讀取使用者的 mailbox。8 [# l. b2 A, r  n
例 :-f /var/spool/mail/barry
* L$ \6 e  g$ L7 C
# G! i: \( ~1 ?2 Q& f

: s$ E! ]+ K- e0 j: W) R0 N6 F9 B) E" R# @/ K
將content.txt文件的內容寄出(非附件寄出)
! z% G3 [2 {/ G- a: I; ]0 @# cat content.txt ||mail -s "mail test" [email protected]0 e# `: _1 J& F5 {
或者
2 C; Z; g3 Q1 f% t/ W+ S# b9 V" ^$ q
/ k. q. T8 ~6 S0 t# mail -s "This is a test" [email protected] < content.txt0 S/ L7 |0 `) Z8 _8 o/ Z
編輯模式寄出:$ C8 Z* K  i9 b, d+ H% F
# mail [email protected]
: A' w1 D5 d; O: ]6 B& MSubject: This is a test mail
, l. y. `( h  R9 w0 IThere are writing area!
% r" O% C; g- ~7 q) }% z  w) \You can't use the Up/Down button in this form...
6 J) [5 F! f- V" h; Z4 Ayou can finish with "."
3 C+ b! a9 n; t% z6 {6 \.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !( s3 u; F& C8 K( |9 T
# H4 y" f( b3 D2 r; L( ]; H) L
mail/mailx命令使用外部SMTP來發送郵件2 c6 C6 ?6 t- _$ \7 s( i# \
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
, Q( f8 T) ^, i7 i8 q. x' T% i0 S修改/etc/mail.rc 加入底下設定:
5 L2 a  U. `5 }% y/ M3 k; C3 @
  1. set [email protected] smtp=domain.com. Q: r. l9 [5 l! F5 ^& [. o
  2. set smtp-auth-user=username smtp-auth-password=password
    9 _, U: O' I+ {7 U7 b8 X( \0 a% Z. A
  3. set smtp-auth=login
複製代碼
說明:
1 a: k0 W$ t2 @& |" `9 Jfrom是發送的郵件地址* u6 Q% [4 ]; T1 ~+ j$ D
smtp是發生的外部smtp服務器的地址
3 f& l8 j$ Y, Y  z7 C! `4 Fsmtp-auth-user是外部smtp服務器認證的用戶名
* T& w6 x4 B0 a9 [+ b2 H% x/ `smtp-auth-password是外部smtp服務器認證的用戶密碼" t( r& [3 _! t7 j8 Q8 u
smtp-auth是郵件認證的方式
5 T5 C7 |' R' d配置成功後,就可以使用了,可以發送一封郵件測試一下:  F9 g. v* l% F' x9 L. Z$ z
# mail -s "test" [email protected] < content.txt
3 e4 }% L6 x# s4 M在linux下利用Google的SMTP來發郵件+ {& B4 [3 ]3 B7 g# Z. q

; U" w& L3 n" c9 p$ y在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。" Q- k7 L6 L. W8 ^
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
9 o$ o" T: `9 V% V3 k. m8 E& z: V

# Q; ^" z* m/ T6 p. V5 [
+ F) `8 o; T9 `/ d
- A. d: A, }4 N5 |! V( W/ q0 M
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
9 a5 L% k/ Z( \  `1.安装mail
- ~0 ^, D5 g4 y3 h1 e) lyum install mailx -y
$ \- F/ V9 A: {1 V
3 }& u6 e% t: `7 R/ M) N2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
; g' b+ K1 a! m/ N& E- p$ b. v
9 ]8 B# G) z$ `# [3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
4 T4 H* y  }( |6 m0 xset [email protected]) ?! p9 \5 c) z! z9 |
set smtp=smtp.qq.com  
# ?4 |3 r2 D' }4 t: u* Eset smtp-auth-user=demo 0 e: G, b  y$ G2 c0 c4 j4 G
set smtp-auth-password=demopass
, }  O; p6 ?9 a2 q4 nset smtp-auth=login# |5 u! L6 J* z9 u0 H" K4 e
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
- i, }+ H; A3 m5 ^. q' k( ^
0 X1 m( ?& V( W3 x' C4.利用Google的SMTP發送郵件9 c$ B" r( ~5 }2 e- J
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db0 T- {* Y6 k9 _, O) |
编輯/etc/mail.rc,加入以下内容5 s$ i. C' L2 Y$ q2 g1 s" o* ?
set ssl-verify=ignore1 Y/ R" J  m7 L2 K8 f
set nss-config-dir=~/.mozilla_nss_shared_db
7 I4 d6 ~* z% Sset from="[email protected](myname)"" S+ `$ R  R3 O2 y( ^
set smtp=smtps://smtp.gmail.com:4651 Y$ V" c0 A4 S" M3 @( e  p
set smtp-auth=login: |3 U; b1 N' E) k$ E* B* X4 j! X
set smtp-auth-user=myaccount( m0 W9 C& M; K, L- i+ s) k
set smtp-auth-password=mysecret
8 X/ b( W! n* {' Z1 A
! _0 n# E/ L6 B$ s# x' ~  O如果想添加多個帳號,那就這樣寫配置文件& [& ^% h: L1 S! p1 W( X3 }
account starttls {; ]; V) o. B+ G3 Q* T
set smtp-use-starttls/ G( H1 d" Z5 R+ {6 v& f
set ssl-verify=ignore
3 T4 v. k; r) n6 pset nss-config-dir=~/.mozilla_nss_shared_db
( U3 a0 P9 I2 B  }set from="[email protected](myname)"
9 A* W: l5 L% P' L5 Kset smtp=smtp://my.smtp.host:25
1 c0 C0 ?( g2 T8 N" ^set smtp-auth=login
" A) l: ]  X9 {" p2 }# c; eset smtp-auth-user=myaccount
* I. |# d9 G( P% R( `! R* Y' ]set smtp-auth-password=mysecret" h7 R! S) V3 I
}; Z1 s6 P, v8 a9 Y1 A$ K
account gmail {
' a/ \- w/ x  b" G4 o/ M; t5 Eset ssl-verify=ignore
6 M% F3 G, K* t9 T6 i/ Nset nss-config-dir=~/.mozilla_nss_shared_db9 ]" Q! H- d: c6 I  ^0 I. p% F$ I+ H
set from="[email protected](myname)"
) f9 s! }4 j3 C7 Kset smtp=smtps://smtp.gmail.com:465! t- W3 u$ @! o
set smtp-auth=login
) T* R) v, M* Tset smtp-auth-user=myaccount
1 ]7 L  n6 [$ L3 N" F  gset smtp-auth-password=mysecret: q1 |9 t. [8 A( }* D& c* `/ p$ }
}
$ @/ r8 c+ H. d& l: L不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
: x/ C( j5 S4 v! Y
但經我測試好像沒作用" I: e1 r8 \9 P5 P
讀信:#mail
) }1 ]. P# h: `9 W3 F假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:) i' O8 c6 V" L1 M" u) ?
#> /var/spool/mail/root
9 f, V; Y6 b: t在執行 mail 就可正常讀信了- o; n! R. Z) p, x2 m$ g

2 E/ v" S+ l& d# Q0 k3 c* `
2 W9 y9 e5 \9 x
請參考:. _, @" m- L. X% v
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
! x# T; a: ?! \) D3 `
* |+ v: j: Y6 R# @) o




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