52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
" L# d2 B: G- k% ^$ j
參數說明:
, V: m+ `8 ~+ K3 p# d, f
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
* y- v, Y! ^$ _7 m9 Q( M6 U% I
-a 想在信件中夾帶附加檔案,用這個參數就對了。
$ ^: p! Y2 t; f
例 :-a ~/testfile
j. L1 p2 Z1 C$ c4 N8 Q& D2 n
-c 指定信件的副本。
) R. b- l! R: @0 W" T/ M
例 :-c barry,vivian
& l3 b8 C9 p, F8 V$ {- c
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
: E5 p* E$ N! I% E/ n G4 c
例 :-b mary,
tina@msa.hinet.net
, f; S7 R* B9 g( `& [* j1 d8 m
-q 以指定的檔案做為信件的起始內容。
& h& p0 U( J0 [/ X4 q
例: -q ~/mailfile
; _1 q9 z }5 S
-r 設定 mail from 的郵件地址。
) `% _& q( [4 K4 V |
例:-r
admin@paching.idv.tw
4 {& @) e" t2 l/ U' _) U' g# V
-u 讀取使用者的 mailbox。
& j9 h. p0 K$ M, k
例 :-u barry
4 n1 ~# J5 n! k6 J1 n( {, F/ N6 C5 R
-f 讀取使用者的 mailbox。
% H+ k r' o; J0 f
例 :-f /var/spool/mail/barry
6 B! F. G$ Z' q# R
' L% z l( ~: ~* a
6 y( \) _/ o6 g! q) N0 u5 T$ D
# `' N8 I& o3 p: B
將content.txt文件的內容寄出(非附件寄出)
- \2 N. z+ _' s1 q6 k, Z) L, v
# cat content.txt ||mail -s "mail test"
test@gmail.com
$ {- J; H9 w/ D8 V, Z$ p0 K5 i. ~5 }
或者
2 Z$ z$ q& B3 P# a- F4 D7 j+ \
) d: k* e) H$ O" o0 K0 X& ~/ ~
# mail -s "This is a test"
aa@aa.com
< content.txt
+ k5 @/ x" B% f: j- f5 L9 [" D! v7 h1 S
編輯模式寄出:
" N* f* [8 V4 W% n' ?2 y- o( K
# mail
kevin@av4u.info
* p9 X& t# H2 S' l+ _# ~) F1 F' T
Subject: This is a test mail
3 z+ S ?- r8 ~5 Y- J9 P5 v7 }( S
There are writing area!
2 l5 V! }+ @9 `. z1 w$ z
You can't use the Up/Down button in this form...
4 E$ ?& P6 x& i
you can finish with "."
. b9 z2 Z; z8 C/ f: j: y( _4 w9 U, j9 y( ~
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
7 Y- N9 Q4 D* x) k, T) d
) h0 s9 Q- W) z5 q) m
mail/mailx命令使用外部SMTP來發送郵件
* h- h$ x1 w! |" m# M- i$ m
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
L5 R3 N' `3 |5 _
修改/etc/mail.rc 加入底下設定:
7 {) S$ Z: f! g& J7 m; c( M: b
set from=fromuser@domain.com smtp=domain.com
X# L5 }* m" |! X" O: [
set smtp-auth-user=username smtp-auth-password=password
4 S1 z/ m0 d- w/ ^
set smtp-auth=login
複製代碼
說明:
& z# P) @2 r* P/ m- N! _
from是發送的郵件地址
5 i4 P# A! k: M: l
smtp是發生的外部smtp服務器的地址
& Z7 t# G) ], ?# I- ~3 |
smtp-auth-user是外部smtp服務器認證的用戶名
6 N# t2 c, `2 P
smtp-auth-password是外部smtp服務器認證的用戶密碼
7 t+ L& Y; R4 d- V% u+ _# \; l( w
smtp-auth是郵件認證的方式
5 w- R% l& {( h/ x5 y
配置成功後,就可以使用了,可以發送一封郵件測試一下:
) J' ]4 r3 M2 ]2 z" p& x7 X& i" \
# mail -s "test"
user@domain.com
< content.txt
. ^. _4 l4 V. I1 b* u% D3 d
在linux下利用Google的SMTP來發郵件
w5 z, D8 u& X
. G3 ^; S( W# G, ~0 I8 h
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
B9 C4 ~) V) x. A- m# y6 b( n8 T
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
/ I( t5 e, y! W+ S3 q% ~/ n
- ]0 e, x. q6 `. J
; U% P" O O/ @& U0 K8 W* Y3 d
( }5 a, l+ |0 N% I8 l, q
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
8 _# {* j7 Y9 v( F) ?) t/ ~
1.安装mail
# l' n7 n* T. N5 k" D
yum install mailx -y
8 b2 W- h+ j$ }6 y: G0 [) n6 [" F
) R# {5 e( k& e8 C, w1 L
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
. d7 S9 O6 S: h9 ]. W L
; n6 Z ~0 ^7 }" u9 t1 h
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
1 i Z5 [3 n+ a7 _, e9 u$ s
set from=demo@qq.com
4 d \/ n% \3 s
set smtp=smtp.qq.com
" [4 P" [6 {- J: x6 s1 U
set smtp-auth-user=demo
& t1 G# {7 _% q+ I) E
set smtp-auth-password=demopass
- \7 X$ O% g/ |7 v
set smtp-auth=login
0 }9 t" w( |! k7 [+ w
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
. q" k6 ?/ S4 g) F9 V6 I
: N- O) P$ P& A& q# d! c8 N0 \! N
4.利用Google的SMTP發送郵件
0 V" @, i- d6 n- O1 H2 B
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
7 Y% ^. g3 z9 q3 g$ n4 M3 b
编輯/etc/mail.rc,加入以下内容
; S% ]: T, b) c% `' I& Y8 s% Z
set ssl-verify=ignore
' a& R& V9 B i' j
set nss-config-dir=~/.mozilla_nss_shared_db
. ~: ?) r7 g# R( f! u D+ c
set from="myaccount@gmail.com(myname)"
7 r! Z d, E4 w0 g* G* T1 q) E t
set smtp=smtps://smtp.gmail.com:465
/ ^4 H* r# A5 F' K5 i; d
set smtp-auth=login
6 o. Y) }- m7 p3 y a7 j
set smtp-auth-user=myaccount
6 w1 t7 Q, ^& |- n l1 W1 k
set smtp-auth-password=mysecret
8 B; f7 F. u5 v* N1 L
" |) h0 @; A) g5 W( ?
如果想添加多個帳號,那就這樣寫配置文件
! M8 c _% r6 b4 s
account starttls {
. p9 X" A B) e5 F
set smtp-use-starttls
" M( K( I! A! ^+ w$ w
set ssl-verify=ignore
! ] F. Z% g" [) [
set nss-config-dir=~/.mozilla_nss_shared_db
, M5 a. Z; I& U- Z! d/ z
set from="myaccount@my.smtp.host(myname)"
1 F7 d. X. o* ~ D* M+ r
set smtp=smtp://my.smtp.host:25
5 q% M) P* h& ~' V2 R7 u
set smtp-auth=login
9 T' L8 ?9 w& n/ p& ^
set smtp-auth-user=myaccount
& h. ]9 d; p. M) t/ K+ W6 @$ z2 v
set smtp-auth-password=mysecret
% W0 f+ ? s6 R- C/ `/ v( Y
}
; B. {9 n- g% \
account gmail {
5 y' E! p: ~, b$ M! ]1 c
set ssl-verify=ignore
- T) F& W' _ R: X" F
set nss-config-dir=~/.mozilla_nss_shared_db
/ L% D/ t( \* Z7 Q* b' ]' ^
set from="myaccount@gmail.com(myname)"
; I0 }9 Q$ s" \' S% @
set smtp=smtps://smtp.gmail.com:465
% ]0 Z8 _& d3 u; B4 _% k! e
set smtp-auth=login
$ ?$ W3 T K& B- C4 `
set smtp-auth-user=myaccount
5 ^. w' C/ K" Y7 ^; p8 F3 f
set smtp-auth-password=mysecret
0 |/ L5 h1 {: b+ y, q T% i
}
# i) X/ b3 N2 K
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
4 H: r7 D) S6 z1 C. t& k- r
但經我測試好像沒作用
2 u( Y0 F* y6 C) ^1 p
讀信:
#mail
( x$ s) `# B8 ^1 ~
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
0 F! G3 {" [+ N3 ?5 T
#> /var/spool/mail/root
8 M. f" M" [8 T5 k% X
在執行 mail 就可正常讀信了
0 ?; {/ x8 I) t2 Y( Q& z
0 i/ { d7 H+ D: F4 }
" D$ x* A0 p; v$ L& c! V) d
請參考:
5 B" R) @0 P( z# _
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
8 w8 M% N9 z" N
- e6 X ?# f" ]+ K5 H0 T1 {9 K
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2