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

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

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:
; o' a- Z; q( v/ |! e參數說明:, u! x+ ?; p# p$ D: e# t
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”' I9 x3 F9 F3 Y) [2 n. a1 p
-a 想在信件中夾帶附加檔案,用這個參數就對了。
. @# X4 ]8 o( |8 O例 :-a ~/testfile1 {/ w3 v' h4 {$ {" x+ U
-c 指定信件的副本。8 p( ?& q5 O6 |3 j6 m, J
例 :-c barry,vivian8 j1 w5 k  d6 r6 i
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
* V. I' e) t* ]& |6 H例 :-b mary,tina@msa.hinet.net- R+ z3 N7 A  H- c5 s+ B
-q 以指定的檔案做為信件的起始內容。! i7 O+ h5 v8 N7 Z, C3 Q: u  L
例: -q ~/mailfile5 z, R+ x8 j4 D+ a% P# z
-r 設定 mail from 的郵件地址。9 g8 t1 E  O: t$ b0 _9 L
例:-r admin@paching.idv.tw, u+ d4 ^# ]3 _) }. V: C6 \
-u 讀取使用者的 mailbox。
% x7 X  g+ `# e- g* T7 Y6 o+ K例 :-u barry
" \# _1 `% F% T+ @) z-f 讀取使用者的 mailbox。
  T$ V" }8 Q7 `, f0 z3 O例 :-f /var/spool/mail/barry
! q8 n+ g: s; G, x/ J( t$ L4 l* Y  d* _" _
4 `4 |- l9 _6 x+ V; j  @
, O! S6 T6 o& h$ r0 b; H, i
將content.txt文件的內容寄出(非附件寄出)" v+ ]' S" T. K! `$ }
# cat content.txt ||mail -s "mail test" test@gmail.com& ~3 U! M; O: {: T4 U4 v
或者4 p& q; v2 ]+ R5 h# g9 ?6 n

/ ?3 i4 d* C% p& K! }% E5 A# mail -s "This is a test" aa@aa.com < content.txt
4 p9 R* F$ C# h( R* U( _編輯模式寄出:
* O7 Z1 [4 L) ?* |# mail kevin@av4u.info0 I% Y6 Y0 M. V( Z" C
Subject: This is a test mail( d  q" D& [! C1 X' }* {( d5 a
There are writing area!
# T3 z% ~4 g2 o6 ]: C2 V# ]  X: @2 J5 |% eYou can't use the Up/Down button in this form...
+ _, c) l$ R+ L) k& `5 tyou can finish with "."* |$ R, z; z* M4 q
.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
4 _5 {* v5 Q- o. J
9 G( U$ Q/ p5 x1 S4 h* N6 I7 zmail/mailx命令使用外部SMTP來發送郵件
6 ^( ^& c% Z$ j3 i7 j/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
  L+ X, p1 K% V6 |  w/ P. W修改/etc/mail.rc 加入底下設定:* i1 t- ~- r, i/ F( o$ R! ?4 _
  1. set from=fromuser@domain.com smtp=domain.com4 t+ w( e1 l# |% A$ _* }
  2. set smtp-auth-user=username smtp-auth-password=password0 N5 }* l9 b/ q$ g& a- ]0 a
  3. set smtp-auth=login
複製代碼
說明:4 s8 G9 Z" A/ D' o4 ?' H2 `" r" o
from是發送的郵件地址
/ B2 u" @' g, D' i1 T1 ~smtp是發生的外部smtp服務器的地址
, X. ?$ Z8 t) _" Y4 P: ?# Nsmtp-auth-user是外部smtp服務器認證的用戶名, I. m% x, W0 o6 P: j, |* t& _/ t
smtp-auth-password是外部smtp服務器認證的用戶密碼1 ?  }$ U  R  ?$ d! I3 U1 h
smtp-auth是郵件認證的方式
, }  M8 ~: x$ @$ G& ~. P配置成功後,就可以使用了,可以發送一封郵件測試一下:
- x, r9 j# l% t# mail -s "test" user@domain.com < content.txt
3 V# t% s, j3 k0 v在linux下利用Google的SMTP來發郵件
1 Q; B- T4 ~7 ?! _5 c  ?9 F" [2 H/ ]
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。" {: |( D8 J* s* e. Q8 \7 q
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
' K! _+ G9 ^: Z
" n. G; V3 D7 B+ U# `9 s
. w) k3 f: Z' S) k! p' ]
5 |/ t/ A3 q; Z& M: ?, s- F
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。8 E4 ]# D2 E: n6 }2 K/ ?
1.安装mail
. }3 b" M% j$ `+ n9 P! g6 D& _( d# ]yum install mailx -y* s6 _6 S. f. ], A$ O# t  I0 g) f

+ t+ @$ {" y$ b2 U( x, E6 ]2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
% n( {, O9 g4 v3 p3 z! K: [( a2 ], W) d+ G
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容3 `' L7 H4 f7 N" D
set from=demo@qq.com
$ h* R  i! ]9 [# G+ W/ }0 `7 Pset smtp=smtp.qq.com  
0 Z" r: q# X$ H) K' X  I! xset smtp-auth-user=demo 0 A9 @9 Z- E# L8 _2 X) s$ `
set smtp-auth-password=demopass & x' y: z& X6 y* o' @7 H
set smtp-auth=login
) b6 `: ?' n% e! G, o但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
+ x( d+ ^& G) _" S9 L" ]/ B4 d9 P) d% S7 L
4.利用Google的SMTP發送郵件1 G: B4 ^& j( p
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
7 \# \7 K7 T$ R5 N$ J# p) N0 g编輯/etc/mail.rc,加入以下内容
( P; {9 [$ [* z" E1 b7 o- P! f0 e, @# Cset ssl-verify=ignore
( A& P. i( [- V0 r+ B% Rset nss-config-dir=~/.mozilla_nss_shared_db( }+ b5 q& V+ T& |: m: ?
set from="myaccount@gmail.com(myname)"
1 {6 K7 u# J; g0 x' W+ b6 l1 g  qset smtp=smtps://smtp.gmail.com:465; s4 W, B- N1 `7 n5 J* k+ o. m* }. h
set smtp-auth=login4 i$ M  X8 x4 n! y4 A
set smtp-auth-user=myaccount% x( W$ \3 V) R; o) W; @" c
set smtp-auth-password=mysecret
0 z8 k" g  a& v9 o
2 }: j1 z8 o  ?如果想添加多個帳號,那就這樣寫配置文件2 n& Y" A6 T1 @% C  c
account starttls {
( r; p) @- ]9 J$ @' d" s& o' l4 Cset smtp-use-starttls( g* B  @" `9 a; i1 b9 W
set ssl-verify=ignore! b9 Q5 i: c, V- ]3 \: S  Z
set nss-config-dir=~/.mozilla_nss_shared_db5 Z$ \5 w% X: W* o  M
set from="myaccount@my.smtp.host(myname)"
5 U& ?9 O, c4 k" z; f  Pset smtp=smtp://my.smtp.host:25
& m" y& N' @  d, cset smtp-auth=login: V) A& \; |. y  F7 N
set smtp-auth-user=myaccount  t, w; b4 c6 R4 ?9 _: c9 p
set smtp-auth-password=mysecret$ j" }  |0 K  {6 A/ p
}$ Z7 R. S- f! X
account gmail {
  f. U' ^2 B2 o" K/ x: B* d  Aset ssl-verify=ignore3 l! `: s: K# e0 z3 R2 W8 G
set nss-config-dir=~/.mozilla_nss_shared_db0 u: [8 i: s/ [: o6 @3 i
set from="myaccount@gmail.com(myname)". p7 q# b) N- k6 ?0 t8 |/ O- \  c
set smtp=smtps://smtp.gmail.com:4650 T; u0 w# i% F' p: }" \
set smtp-auth=login3 ~0 K5 ?$ d  }2 h& b4 f
set smtp-auth-user=myaccount  X; v4 n$ X4 w9 \& A
set smtp-auth-password=mysecret
# G3 d3 B" L2 X1 {5 c. e}# B" m+ ?4 z  X' J* y) y
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail/ ?) S3 I! x' c# I3 f  x
但經我測試好像沒作用
9 ?( ^' c3 [; ?: V* d讀信:#mail
- v& I" u  G2 a! A) r, l' g假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:# A  `# }4 G: t! f% n5 m8 k
#> /var/spool/mail/root
# c9 ]' A& Y9 A: R; n/ }0 Z. U在執行 mail 就可正常讀信了
6 f, a) m) w/ W& ^1 w5 A
8 K. w: c+ I" N# h6 Z

; I& ]. w2 A- l  q. a& M8 v7 A請參考:' u$ e" m7 O& |
http://linux.vbird.org/linux_server/0380mail.php#mua_mail" S$ m& v% B1 x- f1 ]8 E
6 g- @) j) L3 _! s; I3 w! r( n





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