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

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

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:
" Z, C' R% b2 X+ W參數說明:
5 W+ |6 I( L- u& F-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”! k, V- L' d- r% O+ k/ @
-a 想在信件中夾帶附加檔案,用這個參數就對了。
* b9 g9 ^0 v  @, `: P例 :-a ~/testfile. O7 `( [5 s8 J4 d" E
-c 指定信件的副本。  l) S" ~- m0 G5 r- v* y& `# ^
例 :-c barry,vivian
$ e  Z! B7 k7 ^. o2 z1 y8 O-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。% U  |+ W5 H0 J  V" B' T
例 :-b mary,[email protected]
+ V; n. O2 D( s$ Q-q 以指定的檔案做為信件的起始內容。0 `: r9 x) b3 L+ s; z
例: -q ~/mailfile
8 l8 V5 K6 _& @" a: J# I-r 設定 mail from 的郵件地址。
6 H! r+ |& s  }8 I  f例:-r [email protected]" S* s0 b$ F" O) I
-u 讀取使用者的 mailbox。
* q0 r% h6 N. G" }! g# ~例 :-u barry1 N6 f; T) T  F+ n2 R" q6 h; u
-f 讀取使用者的 mailbox。
- Q1 I" g+ }" i* O5 v8 D& W例 :-f /var/spool/mail/barry6 z! q8 C/ }% D" Y# T
& r8 Z5 m* v2 c

+ n9 @- ~1 ~  Y0 ^2 H$ Y. o5 s! S* q. y
將content.txt文件的內容寄出(非附件寄出)2 C7 a7 z/ v$ r0 k- v9 H% |3 t
# cat content.txt ||mail -s "mail test" [email protected]
4 `5 g5 k7 f. T" j& S) S; v3 o或者: v& {$ a. ?0 D% P
$ W8 b, _; l8 c4 m7 n2 t% e
# mail -s "This is a test" [email protected] < content.txt  U6 D# z/ b% U3 ]4 e
編輯模式寄出:
$ I/ s- _3 G  |' }0 u# mail [email protected]
! q3 ]+ m7 I) S, J! `/ tSubject: This is a test mail( e8 K0 ?; s% R/ A, S' W! @
There are writing area!
* V# i# r0 A% U3 Q  B) WYou can't use the Up/Down button in this form...) o( a/ J8 n" \
you can finish with "."
. K, E+ Z; S& u- x- s1 I8 v.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
* ]8 v: v% y2 u* \0 s$ r
/ l; s7 c0 W$ K( Zmail/mailx命令使用外部SMTP來發送郵件
9 E$ K7 B# H) h  @: C' a/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
, \+ a# {. l$ e1 Y0 K修改/etc/mail.rc 加入底下設定:
( S7 J- w% m' Y! r4 t# g
  1. set [email protected] smtp=domain.com8 x! n5 e/ R# {4 e
  2. set smtp-auth-user=username smtp-auth-password=password
    0 Z# I' s' J' s+ o7 I
  3. set smtp-auth=login
複製代碼
說明:
5 c: n1 `9 I! f* ?0 x; r6 Dfrom是發送的郵件地址1 e1 m: E) o% p, Y% M) P; _
smtp是發生的外部smtp服務器的地址2 Q, d6 W1 s  j: J. ]3 ^2 [5 Z
smtp-auth-user是外部smtp服務器認證的用戶名0 Z( @) `: ^* J' Z' w
smtp-auth-password是外部smtp服務器認證的用戶密碼
* g- t4 |' C7 o( u# wsmtp-auth是郵件認證的方式
* t6 u9 n6 I0 b& J配置成功後,就可以使用了,可以發送一封郵件測試一下:
( Z  j$ F  l: M. I" }7 j" v6 z# mail -s "test" [email protected] < content.txt
0 o* t) o0 Q. n在linux下利用Google的SMTP來發郵件
# W& B2 y( N& o% Y" W* L& @+ {5 v1 E! M6 J9 X' T( C" u
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
8 T' L8 ^) |' h4 d在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
+ h) ?6 ]2 h! ?9 A
' }" D) e5 q+ k+ X/ I
$ w2 \( m) W- w) o' F$ \0 J8 ]
9 R0 D5 O7 _1 l5 }# i
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
8 ~3 Q4 {6 t/ Z& h7 |6 G5 J2 l5 {1.安装mail) \6 n  i# F1 s! s- s' \6 `4 _
yum install mailx -y
: l9 H7 y3 P9 w8 m: a9 r& g% f! H. A+ b4 a$ c& @
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
4 d$ h3 p" r* V3 R) [! O8 O, C
' |5 ^- z2 L8 v5 a6 W* Y: p3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
3 |/ u" [6 m- z, [4 L! Uset [email protected]
8 f- D2 w$ J9 y- u# u: kset smtp=smtp.qq.com  0 `' M$ Z0 c6 _% {5 i5 r! a
set smtp-auth-user=demo ) x5 g5 g8 ?" H* y. G- J. H( }/ d/ }4 i
set smtp-auth-password=demopass . T' W$ U; ?7 c) A3 m
set smtp-auth=login
! c* j4 W3 f8 x) B但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
/ v; O$ d9 e/ }: \, v$ ^3 h/ p( K9 Z1 H: X) b' d) r1 P' S
4.利用Google的SMTP發送郵件
0 {9 [# \1 j1 `% [% o& s在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db, |' [4 Y& m/ a6 G
编輯/etc/mail.rc,加入以下内容! X- R/ d2 [, Z0 R( Q) r( T$ w, ?
set ssl-verify=ignore# |9 m7 {& Y8 `0 Y# e
set nss-config-dir=~/.mozilla_nss_shared_db
4 T' s2 L" H$ w' Q6 {0 Y; Eset from="[email protected](myname)"
2 ^0 D5 b: I' a1 F$ z. j, ~+ Q1 pset smtp=smtps://smtp.gmail.com:465
; z  E, I( O, Gset smtp-auth=login8 \' I1 R" P0 u6 [4 m5 d) q
set smtp-auth-user=myaccount6 I, t2 n! n0 f8 Q& {+ p( ]
set smtp-auth-password=mysecret6 h2 K  j$ w2 ^5 G- p# T: b
$ [5 E% H* D6 ?8 l
如果想添加多個帳號,那就這樣寫配置文件7 C7 N5 s/ _6 a) w* Q
account starttls {
# Z" }9 J/ m  O9 H1 hset smtp-use-starttls
  @* k$ r: B- g* Rset ssl-verify=ignore
  f) R$ n. g9 D, G8 Mset nss-config-dir=~/.mozilla_nss_shared_db
$ T7 f! Y% o3 G$ s8 _  |set from="[email protected](myname)"
8 u0 _" n2 K" N8 I+ m- G- vset smtp=smtp://my.smtp.host:25: l# f6 H( z3 ?7 p8 j2 r  a
set smtp-auth=login
5 x7 T" B% |1 K, iset smtp-auth-user=myaccount- q# t- [3 ^& R% q. G
set smtp-auth-password=mysecret
6 t  n; _: R$ z}9 k* H4 U( T7 w2 l2 e
account gmail {' U* w. L4 b  p: R) a, a" |6 e
set ssl-verify=ignore) x( |. L" z  Z0 m! ~; i
set nss-config-dir=~/.mozilla_nss_shared_db  o' R5 @0 q: p& \. N7 P
set from="[email protected](myname)"
5 X) ]3 @# {9 i+ [/ Zset smtp=smtps://smtp.gmail.com:465# j# w+ S/ V7 m% M6 l- I7 f0 M
set smtp-auth=login
  J0 {" q9 L  Hset smtp-auth-user=myaccount3 Y0 w/ c; X) y3 O* B4 H; X$ @
set smtp-auth-password=mysecret
$ j, R3 e% c& B. {# }3 c}
3 t' f) V0 M$ W2 A6 ?. D不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
' c+ h( |$ H4 g$ ?' V
但經我測試好像沒作用, G; Z! _3 u6 f. f& [- D
讀信:#mail
- L- G  ~( C9 d) {9 |' z9 R假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:' C. w" [; R7 U
#> /var/spool/mail/root; L/ a0 k1 f' [7 n- g  _
在執行 mail 就可正常讀信了
3 G1 s/ }% g  \. T

, S- U& b; g( w: P9 a0 L6 q; k8 o

0 D/ Z! m; }1 l% W0 N1 M. P請參考:1 m: _0 T' w2 f5 C% Y+ b
http://linux.vbird.org/linux_server/0380mail.php#mua_mail# M- S$ p( k" ~! i( t
; J7 k$ ?# E8 Q5 _) z& z/ U





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