52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
9 ? v5 u6 J; a& k- @, {. \" C
參數說明:
( `. L u, W( m) P# m
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
# b) X# }+ C7 i7 ^) r7 `5 b) W! I
-a 想在信件中夾帶附加檔案,用這個參數就對了。
b b& Q' }: O
例 :-a ~/testfile
2 F, d2 s6 L7 | N1 T' ?! w
-c 指定信件的副本。
" L1 S. O; G% ^; D) ^
例 :-c barry,vivian
2 \0 d& h* C. K( }) j E" r- u
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
. m2 s! o8 m; \& H
例 :-b mary,
tina@msa.hinet.net
5 B. z9 z% f. C/ D4 l
-q 以指定的檔案做為信件的起始內容。
/ B; ~/ s) }2 b2 W
例: -q ~/mailfile
& l( R4 P/ p* f" R {/ I& B! C
-r 設定 mail from 的郵件地址。
" u7 v' H8 h0 |4 E2 h- t
例:-r
admin@paching.idv.tw
# K% T: \+ g ]5 z7 Q$ D
-u 讀取使用者的 mailbox。
! K! i. P6 M5 U
例 :-u barry
9 j# f4 v$ R6 Z# T# K x* f6 p7 d1 i
-f 讀取使用者的 mailbox。
8 V* F, {/ a2 s+ c1 C) b
例 :-f /var/spool/mail/barry
8 e% c2 p# m7 A3 h% N
3 u4 T R( I& ?
# @9 b7 h$ q9 A% J2 S# i& w: P' Y
/ R% t# h2 Q X% @# b
將content.txt文件的內容寄出(非附件寄出)
/ G8 Z% f! H6 R# _
# cat content.txt ||mail -s "mail test"
test@gmail.com
$ z4 D# ]. o r8 Z1 ?* Z
或者
$ a* D7 Z* B* X8 Q9 X
3 E7 C& F& B. d" k3 j4 s
# mail -s "This is a test"
aa@aa.com
< content.txt
' {% h0 K- N# ?1 L7 [9 ]( p
編輯模式寄出:
Q9 Q' J, | E3 k @& |
# mail
kevin@av4u.info
. O1 i X! R$ P2 w$ {7 g( C% ^
Subject: This is a test mail
+ L# s; y$ Z! `+ l
There are writing area!
& I; D" T( ^$ Q4 M4 k- V; A3 Y
You can't use the Up/Down button in this form...
+ Z, o) k8 J" ]2 c5 _9 Y! _1 k( l
you can finish with "."
: @8 ?8 x+ t( \2 w" W
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
) V- G9 l; k0 m" H
, K) D% f7 G4 T' d7 G
mail/mailx命令使用外部SMTP來發送郵件
: @ h! k+ B% V0 l4 ` v2 e7 F
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
, v/ V0 c$ H/ W: p. R- ]
修改/etc/mail.rc 加入底下設定:
3 M0 ~% M) R1 G* P
set from=fromuser@domain.com smtp=domain.com
: v+ x r/ p7 v' [ p
set smtp-auth-user=username smtp-auth-password=password
& t6 o8 a8 p- Y. r/ ? Z( y: \
set smtp-auth=login
複製代碼
說明:
( w" X h) X% B0 `4 {7 J
from是發送的郵件地址
7 ]6 E7 ^9 F+ U; r& M: P" l
smtp是發生的外部smtp服務器的地址
3 S( i7 i4 I1 W6 @$ f( Z
smtp-auth-user是外部smtp服務器認證的用戶名
2 [7 h- F [8 R# g1 v
smtp-auth-password是外部smtp服務器認證的用戶密碼
( m1 i3 ?4 C8 s2 ]7 U6 g* Z {
smtp-auth是郵件認證的方式
6 E" i1 G) _6 Q9 K) O- E# G( D2 O
配置成功後,就可以使用了,可以發送一封郵件測試一下:
0 ?4 B+ q) r* ]5 B( a4 K
# mail -s "test"
user@domain.com
< content.txt
2 V$ P% Y' u$ J7 [ W
在linux下利用Google的SMTP來發郵件
* J# }# h5 W4 K+ ?7 d/ P$ `6 w
' b$ W- W- |' O( x$ v5 j
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
, Z" Z5 @7 c$ [3 j) c
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
/ ]) q$ N& `: M" w
* u, B1 Z9 f1 q+ O
+ d& |4 r+ v; Q5 L0 I$ @
! g. Z ?: i9 w$ G
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
* u) L5 x+ k' f7 I9 P
1.安装mail
6 l+ r$ [ v3 N3 m' h* R
yum install mailx -y
: N; L6 U2 u- [! D' n
7 z) c% L* f" s
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
& @8 I# m5 i* ]( A' o
' Q0 j+ V% ]% l
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
7 f; T1 M" m6 M P+ |" y
set from=demo@qq.com
1 |- q' }' X0 V7 C9 [ b# X
set smtp=smtp.qq.com
: E1 F, |# ?, ]% K! ]5 ?( O3 m
set smtp-auth-user=demo
, F3 s1 S( }. C/ Z3 F. j; e
set smtp-auth-password=demopass
# G6 u8 N+ z) _/ c) O, m$ }+ r: C
set smtp-auth=login
- ?' Q8 E/ ^# \& k
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
2 ~! ^8 ~4 j. B# P: E
8 V' A V1 k8 X8 `
4.利用Google的SMTP發送郵件
# B$ `" T/ E/ C5 j( N* A1 g
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
/ o: l9 q" U* ]; W) D- M/ [
编輯/etc/mail.rc,加入以下内容
9 R6 W. p! w+ l( v3 I/ g
set ssl-verify=ignore
) F% F% |7 F, k3 a
set nss-config-dir=~/.mozilla_nss_shared_db
- P8 Z) G, C. x% c! a0 Q
set from="myaccount@gmail.com(myname)"
5 v2 L. a2 \1 P- G3 P, u$ Z' n
set smtp=smtps://smtp.gmail.com:465
`" e; K0 p; u& a8 ^! h
set smtp-auth=login
% V5 k$ F+ L& C. A9 _, {3 g$ L; \
set smtp-auth-user=myaccount
5 [3 r; W' B; I3 K% b
set smtp-auth-password=mysecret
9 e C" d3 n: Y
% o* g0 Q; w/ a
如果想添加多個帳號,那就這樣寫配置文件
3 U2 f" \) ]2 q- c( Y! s( @8 _
account starttls {
. D/ H2 u' s4 \" q/ M
set smtp-use-starttls
# J/ [0 i3 l% K7 ~2 \
set ssl-verify=ignore
T5 U# m3 O, J9 E& p: d
set nss-config-dir=~/.mozilla_nss_shared_db
1 \# o" s+ V& t
set from="myaccount@my.smtp.host(myname)"
2 E' p3 I& C/ I
set smtp=smtp://my.smtp.host:25
# M2 X% U8 [! S8 z0 K3 c1 W9 M% s
set smtp-auth=login
, c L# B/ G3 p- b9 m) K4 `! {
set smtp-auth-user=myaccount
9 q5 z: h0 J' i
set smtp-auth-password=mysecret
( m4 Z* f6 E/ j" q! w& {! e
}
3 [! G$ x: {7 W8 K+ r( A8 u
account gmail {
, K" A: G r" y) J2 H. s; H7 f$ j
set ssl-verify=ignore
3 j( ?: y: G) o
set nss-config-dir=~/.mozilla_nss_shared_db
) g/ s5 e2 q. }6 R' I, I
set from="myaccount@gmail.com(myname)"
1 {, w2 m/ _+ T+ H
set smtp=smtps://smtp.gmail.com:465
3 r* {5 p1 L2 V' j T& m; g
set smtp-auth=login
# }' _/ E' `0 ]% P8 V5 B2 P
set smtp-auth-user=myaccount
. O. A+ N" [0 ]: Z, q" ^3 J
set smtp-auth-password=mysecret
5 v4 t0 \+ U# v8 w6 a
}
, c5 q' y. @/ U& m8 V' E3 ^" o
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
) ?* b: q8 r# {6 ?1 S% {
但經我測試好像沒作用
) ]+ h% {% C; [1 X2 c2 h
讀信:
#mail
; b$ i" K! i: X- ~9 q, N- O4 L; O* K
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
. c! g5 x0 F4 b: Z
#> /var/spool/mail/root
: N, y2 |5 i, g. m- n3 D; ]
在執行 mail 就可正常讀信了
. E' z0 h( c: |7 W; D. N
6 V: ^7 h6 U- w: m+ k2 E
. G0 N: D; d k) f( z! i
請參考:
- Y& R8 `2 g9 B) n K
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
X- e( _+ R6 g5 ^+ ?
; }" u/ D4 U8 @4 V- n
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2