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

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

作者: IT_man    時間: 2016-4-15 17:22
標題: linux 下 mail 指令大全
寄信:+ P4 E% S* o  F
參數說明:) D9 z- n  X; x, S+ F# w; K
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”% s# q5 j" N6 F( n  p! q( O
-a 想在信件中夾帶附加檔案,用這個參數就對了。
. z4 |9 ?& A" G例 :-a ~/testfile
, i; O9 d  @) E0 S& P-c 指定信件的副本。
8 h9 s4 F; N* w% c例 :-c barry,vivian
& U! H8 p2 t2 ~-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。1 z7 V1 ]0 y% }4 ]7 G
例 :-b mary,tina@msa.hinet.net
3 C( G# U$ Q2 ]! V  p-q 以指定的檔案做為信件的起始內容。+ f8 B% f( T& N$ @5 X) Y
例: -q ~/mailfile( W; i& |9 r+ Z; v* z
-r 設定 mail from 的郵件地址。9 `5 ?2 d- F6 U3 t6 j$ K* ]; S
例:-r admin@paching.idv.tw. ?$ z# Q8 q3 j: ^4 l8 _
-u 讀取使用者的 mailbox。
9 ~: R' [9 [9 ^0 j8 W+ T2 S$ g/ k例 :-u barry
5 C8 a, R) b( Q-f 讀取使用者的 mailbox。) U2 a, v# S) ?) t4 B( L
例 :-f /var/spool/mail/barry$ W& w/ L9 l, [0 s7 I8 W& t# w

( A" z- n* ~( _
$ h$ L8 i! m" H

# C- D( j. B6 u8 r$ r( L3 j% G將content.txt文件的內容寄出(非附件寄出)" x$ g, R/ b1 B) q' I, P
# cat content.txt ||mail -s "mail test" test@gmail.com, {0 E3 m1 D, x* m0 ?4 `
或者/ M( d! z! b& R( F2 Z; r

' L2 B/ {% E% H% r- O# mail -s "This is a test" aa@aa.com < content.txt
" I' r4 O+ n2 c! `6 o編輯模式寄出:
# \+ j" o$ w* `# R( B/ u1 Y6 J# mail kevin@av4u.info* b. i, I- u9 L  Q
Subject: This is a test mail
$ m6 Z% y7 W# C' uThere are writing area!( X, A! `& _: q& V) B: ^4 N
You can't use the Up/Down button in this form...; f# {. J# P! Z2 r4 m  q
you can finish with "."
0 u: V; a& B# f5 O# Y9 E.  <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
* J  M7 P; w( ?5 O# Q! y$ i! k3 u  i
mail/mailx命令使用外部SMTP來發送郵件
" a& O5 T7 B+ x+ `$ b/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:$ ?, ~& h+ ~& G. [) g, k8 W- l
修改/etc/mail.rc 加入底下設定:
) v  g% F7 ]$ V. }
  1. set from=fromuser@domain.com smtp=domain.com
    ; q9 T$ _, ]! F0 S
  2. set smtp-auth-user=username smtp-auth-password=password- W8 [9 d6 L* A5 V
  3. set smtp-auth=login
複製代碼
說明:
8 ]  C& [2 j$ S! Kfrom是發送的郵件地址2 R& t4 O8 q5 R' b
smtp是發生的外部smtp服務器的地址
: [7 U) [; s3 N4 g, ?smtp-auth-user是外部smtp服務器認證的用戶名7 i7 t* n, J# T( X  q
smtp-auth-password是外部smtp服務器認證的用戶密碼
; v" ?4 ]: k' w2 n, E# @smtp-auth是郵件認證的方式) a$ S$ Q" I! ~& n- G
配置成功後,就可以使用了,可以發送一封郵件測試一下:
) }1 t* z4 @% v# mail -s "test" user@domain.com < content.txt8 i% D" {/ @! {
在linux下利用Google的SMTP來發郵件
7 W3 o& c* a9 f" |9 v: X8 Q* W5 W4 `2 N3 {4 A: v" N: }- N5 M
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。* q! @8 J5 [, {  _7 m& Q5 j; {2 Q
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
9 C8 X3 M! Y* C, s
) Q! i" W& d8 C" \1 \; B1 u. `

5 s9 @( \7 z3 v- A5 J( R
5 K4 p. M5 c# S- x3 K2 I. p
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。5 V2 |* X% d: r1 o4 R
1.安装mail8 A5 q0 d" a4 z* q5 L6 M6 S; o5 _
yum install mailx -y
% B: z. B( ?$ h5 S
0 X; D/ ^! X9 |$ c2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
9 G. y( K; o( \$ D! L( V1 H, F, H0 n. ]1 Z
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
, Q( q+ h  C/ r8 w1 vset from=demo@qq.com, t& |4 a5 d4 B- m& y
set smtp=smtp.qq.com  
3 k2 l7 Z5 c+ H3 l+ d2 H! E8 aset smtp-auth-user=demo & x& r( U: y6 K9 y( ?1 e1 E
set smtp-auth-password=demopass
3 C9 B) v3 q6 j% iset smtp-auth=login: ^+ G7 u% }9 h+ p( l
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail% J/ W& N4 {% [! ]

' F. A; U7 S; ~2 U& R1 F5 [6 V4.利用Google的SMTP發送郵件, |+ _# f: [: h
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db) M) |6 @1 V4 w! V/ a
编輯/etc/mail.rc,加入以下内容7 x  f5 [4 o4 ]* D
set ssl-verify=ignore, r) }" D+ e7 Q4 a0 W# \( S
set nss-config-dir=~/.mozilla_nss_shared_db
. F) P# ~0 K) t4 M$ pset from="myaccount@gmail.com(myname)"1 K8 Z0 u( Q5 J$ T
set smtp=smtps://smtp.gmail.com:465, M4 ^) h0 K9 ~
set smtp-auth=login
" `3 m4 k1 F3 x& M- t8 aset smtp-auth-user=myaccount4 ]: j- W+ d4 j7 G8 z4 ^2 M
set smtp-auth-password=mysecret
! I: b! i# H8 E  w0 j* ^" V7 G; y2 k& |
如果想添加多個帳號,那就這樣寫配置文件
  X' j2 o3 U$ [: I5 ?account starttls {
, |; f7 Y& l4 V  iset smtp-use-starttls
7 ~/ V! X( d8 O1 qset ssl-verify=ignore
& a0 z+ i2 W- j1 V$ {0 Zset nss-config-dir=~/.mozilla_nss_shared_db3 u% N; X* n. Q/ u8 P8 K
set from="myaccount@my.smtp.host(myname)"
. ?4 Z0 P9 g1 t) a( F5 ]2 hset smtp=smtp://my.smtp.host:256 I& C/ O& y6 o$ L1 n. m
set smtp-auth=login
$ i1 G4 [/ c) p8 e. w( g6 }* pset smtp-auth-user=myaccount
( O- s8 }2 G* d1 @set smtp-auth-password=mysecret
; ^' g. p4 N' e% {}
* `; D& V( `- L+ Zaccount gmail {' M* T: c5 u. M& i7 ?/ @
set ssl-verify=ignore
( m! V! S3 [- K4 e. z, }set nss-config-dir=~/.mozilla_nss_shared_db: |; o5 a; F. g
set from="myaccount@gmail.com(myname)"
# q: G4 R1 I; N7 ]# N8 j0 oset smtp=smtps://smtp.gmail.com:465
0 g0 V, F" H  H0 O& Wset smtp-auth=login3 Z6 n8 p5 C$ y+ I
set smtp-auth-user=myaccount9 W0 \  }8 {5 A. i6 V
set smtp-auth-password=mysecret
( [: t3 o, c* g. x" @}
& C: G* R6 r: q( }4 |不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
: t( Y+ k7 r! w3 X' o( }
但經我測試好像沒作用* @* Q" m& [/ v5 J
讀信:#mail3 S) D% M/ a% N2 W) N
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:" K! g0 z7 F0 i6 _- P
#> /var/spool/mail/root
  K* {. c! l4 d1 V+ A在執行 mail 就可正常讀信了& c5 L- @; x6 v9 y2 V1 M
/ D* x- }6 E5 F" e0 ?& y8 Q

7 g/ A1 g* m! [) s' K/ O, Y! H請參考:
! ?$ T6 G* L% N2 xhttp://linux.vbird.org/linux_server/0380mail.php#mua_mail5 m! u* ^4 ?1 X* n2 @

3 T  p# ~- B8 f* }- f4 s. c, j' v6 h




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