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

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

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:. I! a7 m$ O: r8 |- B
參數說明:: L: ~7 ~, S7 p& {+ ]
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
6 r$ ^, ^: l9 A. Q-a 想在信件中夾帶附加檔案,用這個參數就對了。
/ {: ~/ z0 K7 R9 K( `1 d例 :-a ~/testfile/ ~9 u/ T* h1 g+ H, u; _
-c 指定信件的副本。
" H( B  a: B6 d/ a+ r* O" D例 :-c barry,vivian
$ p, F3 e7 @$ I-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。9 N8 A6 k& ], O) h. t* K
例 :-b mary,[email protected]
! u# ~) P' B4 ~-q 以指定的檔案做為信件的起始內容。
+ n" N8 p: O9 \. T, S7 H例: -q ~/mailfile  Y: ~) J( r" F
-r 設定 mail from 的郵件地址。
1 M# o1 _' D9 j例:-r [email protected]
/ F9 r8 c2 y) m% h9 |8 l& w* Q-u 讀取使用者的 mailbox。
7 l6 F3 E# E2 x$ `8 [$ b- r. A( ?2 _% J例 :-u barry# [3 S; ^1 G6 j' i. j$ S
-f 讀取使用者的 mailbox。
* \  U! \& f) X: ^% W6 S例 :-f /var/spool/mail/barry
2 a+ D4 d$ B; I8 q+ @3 f
: c" l( j% K' u/ @/ D

) {: c- f5 V- [5 ~  y
' h$ s' X( Q, _5 i& K" ^: ~) k0 u% y將content.txt文件的內容寄出(非附件寄出)
0 V. J) [  u) W# cat content.txt ||mail -s "mail test" [email protected]
2 Y1 M& v6 i' W6 D: @或者
6 E: x9 O0 C6 _) i6 J- ?8 k: Z$ B# Z4 l! t/ f& P' ?
# mail -s "This is a test" [email protected] < content.txt: A, E# k2 o! I
編輯模式寄出:
+ L$ o# U4 q1 k: S5 P4 W# mail [email protected]$ F8 q1 x+ k( e1 T' u7 A
Subject: This is a test mail: M0 c$ Y1 c5 Q% f1 g. L
There are writing area!
4 F) Y9 q* g# w( ?" v% Q" j9 EYou can't use the Up/Down button in this form...
, K% s1 h6 n" N/ F0 Ryou can finish with ".". s: d$ b6 z' A) [6 k
.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
5 E1 y% |- u3 x! Y8 n$ s5 _
* A+ h% d% G: q5 v+ B% H% K; xmail/mailx命令使用外部SMTP來發送郵件- U1 S( L1 y/ n0 E
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:% s4 r& \4 t) |3 x( e  c6 V
修改/etc/mail.rc 加入底下設定:# i% f4 T, Y5 v! i" @% h
  1. set [email protected] smtp=domain.com8 E: G9 K, x' X5 R3 V) |1 f
  2. set smtp-auth-user=username smtp-auth-password=password
    5 ]" V7 F- ^0 i. {9 E) S3 x" |
  3. set smtp-auth=login
複製代碼
說明:/ R, E: U, `. E/ D7 _3 S, Z0 I
from是發送的郵件地址# w& I% ~3 Z  N( q3 ?! W+ q9 g. S
smtp是發生的外部smtp服務器的地址3 \/ A1 {2 t+ y) L2 F- }
smtp-auth-user是外部smtp服務器認證的用戶名0 m8 E- I" R9 E$ m0 ^
smtp-auth-password是外部smtp服務器認證的用戶密碼
# u! P1 L6 E$ `( A" xsmtp-auth是郵件認證的方式
+ a* a2 `6 D/ M. S  u% t配置成功後,就可以使用了,可以發送一封郵件測試一下:
2 @4 ?/ t3 b# a/ R% Y+ `# mail -s "test" [email protected] < content.txt
9 e) Y2 m& d* i  ~1 V在linux下利用Google的SMTP來發郵件
9 }* Z, R3 y! E6 I) O& y" _' m2 j+ f
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
& ?1 b1 Q( r# Z) _在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
6 k& ^6 |# ^8 k* B* J* T7 ^3 k
7 g; X, I! ~) l
8 G( v7 I: d( l0 N$ J% A* y

" R6 j9 ^0 Z6 f, n+ E& g! M下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
" [+ |4 d1 S2 e: ?/ K' [& O/ o1.安装mail
" `9 I0 J5 {' }& b  d+ d; t0 yyum install mailx -y
( l. P- w# s1 [7 E
5 Z9 y3 p# c1 v3 B5 w2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務; B$ a# {( z. K: O9 \5 V; X

; J! v3 c1 |% j( \* Z3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容6 C  I6 n5 i4 z" s8 q. W
set [email protected]" y, j7 e- A! {( ]: B9 w
set smtp=smtp.qq.com  
. p  a, J6 B* X  qset smtp-auth-user=demo / w' s6 `' G/ F& Q
set smtp-auth-password=demopass ; s  D/ \& ~+ }% g* l' ?3 j
set smtp-auth=login
  }2 V( n+ S/ a3 \5 P1 R但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
7 ]( J: J. T4 w; c+ |
/ J' ]* j9 e$ R! P" l# H3 n4.利用Google的SMTP發送郵件
: u5 H7 x7 o2 D$ A2 _# O7 ]在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db# M" ~5 R8 `" j* D5 M
编輯/etc/mail.rc,加入以下内容4 w% g, v8 V9 V
set ssl-verify=ignore
# Z& d- a; ?5 J6 X* W; X$ bset nss-config-dir=~/.mozilla_nss_shared_db2 \  b2 Y% L4 T& A2 {
set from="[email protected](myname)"
3 \; k" j% p  l7 {6 }" t# ]. Jset smtp=smtps://smtp.gmail.com:465' @" F+ m/ g( x' C- Z7 D& F; v- _
set smtp-auth=login7 _/ x4 \6 D1 J1 e$ P2 F- r" |- C
set smtp-auth-user=myaccount; b) R$ z+ r" h7 D
set smtp-auth-password=mysecret. F7 _! P: B& ?
4 j: R/ v( n% ]2 k( I* w3 ~
如果想添加多個帳號,那就這樣寫配置文件  j8 r, Y9 B1 c" O! A% p
account starttls {
4 O) E" h! \4 e. |+ Vset smtp-use-starttls
/ H6 V5 {  R& J6 {. H  O+ Tset ssl-verify=ignore
0 \/ F8 G% q4 A* Cset nss-config-dir=~/.mozilla_nss_shared_db
3 F+ x( b/ E9 `8 K2 l1 k4 T/ qset from="[email protected](myname)"8 G$ e* x* r2 i. h/ |8 W
set smtp=smtp://my.smtp.host:25
1 h) F. U/ |" _# Q. W. D5 kset smtp-auth=login
/ a1 N6 c9 ^# C, {/ p; ~set smtp-auth-user=myaccount
: Z& x/ {2 O" B% K# |/ n) C% O2 S! y2 jset smtp-auth-password=mysecret
' e9 c1 ~4 t% W( R8 N( U}
7 k1 K. \0 t/ E/ Jaccount gmail {
2 l" p/ ~: R7 Q* a. zset ssl-verify=ignore$ U: V1 e9 @' t0 D7 e; X9 f9 \
set nss-config-dir=~/.mozilla_nss_shared_db' _9 a: {8 |/ D3 ]0 R
set from="[email protected](myname)"# `1 f2 G# q* _# d1 h" Q9 x, i
set smtp=smtps://smtp.gmail.com:465
) |- K9 d1 W# L, _6 Zset smtp-auth=login! M  S+ D$ ]1 w0 x5 u
set smtp-auth-user=myaccount
# e8 p& P  m- k6 l, h* m) X9 yset smtp-auth-password=mysecret
4 T4 d2 v  }6 A/ K. b$ j! V}
( x& `8 r; K+ ?0 n, Y5 T) m不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail4 d& }) j/ i6 X  P
但經我測試好像沒作用
+ X' ?1 F0 {. ]  a1 c讀信:#mail
2 d( w- h* N: m假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
3 q, \3 f' y2 y- S#> /var/spool/mail/root
' a: Z3 y/ U# n在執行 mail 就可正常讀信了
( c7 G- _( a7 r7 F" y

4 Q+ T2 w1 X) T" O+ \. ]/ a  |

5 X8 A% P( [9 }# A! }* |請參考:
6 s* T0 b3 b" shttp://linux.vbird.org/linux_server/0380mail.php#mua_mail+ G& }! B8 U5 ^$ h# d, F! F6 P

6 J' U' V8 `& N, f4 ]




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