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 barry
1 N6 f; T) T F+ n2 R" q6 h; u
-f 讀取使用者的 mailbox。
- Q1 I" g+ }" i* O5 v8 D& W
例 :-f /var/spool/mail/barry
6 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! `/ t
Subject: This is a test mail
( e8 K0 ?; s% R/ A, S' W! @
There are writing area!
* V# i# r0 A% U3 Q B) W
You 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( Z
mail/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
set
[email protected]
smtp=domain.com
8 x! n5 e/ R# {4 e
set smtp-auth-user=username smtp-auth-password=password
0 Z# I' s' J' s+ o7 I
set smtp-auth=login
複製代碼
說明:
5 c: n1 `9 I! f* ?0 x; r6 D
from是發送的郵件地址
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# w
smtp-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 v
1 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: a
9 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: p
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
3 |/ u" [6 m- z, [4 L! U
set
[email protected]
8 f- D2 w$ J9 y- u# u: k
set 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( K
9 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; E
set from="
[email protected]
(myname)"
2 ^0 D5 b: I' a1 F$ z. j, ~+ Q1 p
set smtp=smtps://smtp.gmail.com:465
; z E, I( O, G
set smtp-auth=login
8 \' I1 R" P0 u6 [4 m5 d) q
set smtp-auth-user=myaccount
6 I, t2 n! n0 f8 Q& {+ p( ]
set smtp-auth-password=mysecret
6 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 h
set smtp-use-starttls
@* k$ r: B- g* R
set ssl-verify=ignore
f) R$ n. g9 D, G8 M
set 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- v
set 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, i
set 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+ [/ Z
set smtp=smtps://smtp.gmail.com:465
# j# w+ S/ V7 m% M6 l- I7 f0 M
set smtp-auth=login
J0 {" q9 L H
set smtp-auth-user=myaccount
3 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