52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
& @5 Y; P, s0 E# n. l
參數說明:
{9 F8 `# y3 k ^( z: M
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
4 P; I5 s8 c8 q5 w: B% E+ o4 i
-a 想在信件中夾帶附加檔案,用這個參數就對了。
, u" ~. f9 Z( G b
例 :-a ~/testfile
' i, |5 y# N( F4 n, C
-c 指定信件的副本。
$ \* V) E6 p4 \! u2 e. U
例 :-c barry,vivian
. Y2 Z5 g, M- f% C( n
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
( O9 ?2 B; x5 C; P
例 :-b mary,
tina@msa.hinet.net
- G0 h0 r! G4 W @' g: w! X
-q 以指定的檔案做為信件的起始內容。
" O' p: r! O7 U8 b
例: -q ~/mailfile
& G% b1 }$ Y5 U- _$ _7 h4 x
-r 設定 mail from 的郵件地址。
$ Y+ {+ |& v, q8 t- M$ N4 U
例:-r
admin@paching.idv.tw
2 i$ e3 J; S+ N8 Q- G; @0 V
-u 讀取使用者的 mailbox。
. c, Q' P. m5 h# _! I% M t+ X( o
例 :-u barry
" [; M& z L& L4 J! g/ S
-f 讀取使用者的 mailbox。
; I* r) C! k' B4 L& G4 f) U6 c
例 :-f /var/spool/mail/barry
0 l! U! G& ?! E$ w/ Q$ ^9 c$ k
- V0 A" ~6 F& q8 O, D2 c% @6 b
4 {! G# _( |3 T5 U
, G% g- f9 q& P+ `1 X6 q8 V5 ?
將content.txt文件的內容寄出(非附件寄出)
2 K, T! o5 i/ @% C4 N
# cat content.txt ||mail -s "mail test"
test@gmail.com
9 n% S0 ]$ `2 G0 x
或者
& \+ B1 n, p) _# \) F; e) v9 c7 r
, R7 ~2 c- w1 u6 O" _) x
# mail -s "This is a test"
aa@aa.com
< content.txt
7 r2 E/ S6 Y6 U6 \4 i" @. S5 b" N
編輯模式寄出:
+ r9 Y% c3 e% a9 Q9 R
# mail
kevin@av4u.info
- a3 V9 T% X v
Subject: This is a test mail
6 \3 g1 v G/ Y) Q' F
There are writing area!
+ \- n! p3 G% d) L6 Z6 F
You can't use the Up/Down button in this form...
4 }% R6 a M1 |( r( ]& H T) ^# |
you can finish with "."
$ e8 e; J- O( b1 {0 t
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
9 H2 r* J/ L/ a5 O3 c; h4 t, v
' ]2 s7 B6 U* R& p1 _
mail/mailx命令使用外部SMTP來發送郵件
7 o0 ]8 w, b, n% z* F2 T: p/ P/ O7 ?* a
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
! g* e/ e$ B" b3 w. i8 t1 c
修改/etc/mail.rc 加入底下設定:
+ p9 I) d4 N. {5 V
set from=fromuser@domain.com smtp=domain.com
5 T1 I$ t2 T# R7 J: x( J
set smtp-auth-user=username smtp-auth-password=password
$ x# @/ `2 t. b5 ]( U' B9 [* E, a
set smtp-auth=login
複製代碼
說明:
& t+ g: \) q( m& U/ A% G
from是發送的郵件地址
8 ~( Y4 t; P: ` q: R9 W0 U
smtp是發生的外部smtp服務器的地址
. D: u: R7 K/ K; a0 u) j+ l' F. h
smtp-auth-user是外部smtp服務器認證的用戶名
$ E8 F' }" {# ^# I& K/ Z5 w
smtp-auth-password是外部smtp服務器認證的用戶密碼
+ G* H$ D7 _8 I
smtp-auth是郵件認證的方式
h2 G& X7 S& |
配置成功後,就可以使用了,可以發送一封郵件測試一下:
& x0 h3 a2 p @, K I$ i& q- V
# mail -s "test"
user@domain.com
< content.txt
5 {6 x# B0 B, w' V
在linux下利用Google的SMTP來發郵件
- j X0 U/ F' h, g6 t
' ]( [. ?1 `! X" `1 N1 V: J% y+ {. m
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
; T" I: s y8 z# O( t
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
& _% F6 h! b- x! {+ h" N
5 x7 L% C5 Q/ v% i- j
! l. n" Q) \9 p
! J1 [: V9 P- w& f3 h% O
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
3 ]# c2 Z" n1 Q; E2 j
1.安装mail
5 a# l6 E7 Z; ?2 A
yum install mailx -y
- {- @7 o" o) p. ?$ u/ @( X! Y
6 W3 S; s( R2 _3 h
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
! ?% ]3 j& K9 V- d0 V- d% B# l& K
* Y3 u9 C2 Y' ]" E0 h' F
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
" }3 k G4 n3 q ]; a8 m* [
set from=demo@qq.com
! o6 O2 R, r9 D' M) v
set smtp=smtp.qq.com
8 F0 Q. a4 K( q, z
set smtp-auth-user=demo
: j$ t5 ~" w* k
set smtp-auth-password=demopass
1 ? K$ S1 K+ s' s
set smtp-auth=login
1 j# I+ s' U' N0 P
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
+ t9 S: a+ P2 G8 Z
/ g2 K4 C% j7 v% f
4.利用Google的SMTP發送郵件
0 I d* r+ Y; s8 G7 Q& I6 {/ G! |' B
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
. p5 M- L# m' z3 f6 Y% T: U
编輯/etc/mail.rc,加入以下内容
/ U/ m; t5 `5 {
set ssl-verify=ignore
7 s' x, J/ ?0 ?/ A9 x
set nss-config-dir=~/.mozilla_nss_shared_db
0 m/ Y+ |& ]7 h2 f& b
set from="myaccount@gmail.com(myname)"
% b, `* e$ U1 F9 V3 v6 H
set smtp=smtps://smtp.gmail.com:465
2 O4 }/ _- S1 D/ T
set smtp-auth=login
; h. |/ a7 Q2 u2 I- Q
set smtp-auth-user=myaccount
$ b' j& ?5 V+ J' ^4 N' [
set smtp-auth-password=mysecret
9 D! o1 T# L& v3 j, \% }8 {
7 B7 x1 b$ P# s4 d' W4 U/ H
如果想添加多個帳號,那就這樣寫配置文件
, P! U5 s. L* E6 B1 o/ x+ A- a9 F/ g
account starttls {
4 D$ W5 Y- q8 I! i7 V5 V6 g a
set smtp-use-starttls
: E% A% B) E9 k' V
set ssl-verify=ignore
. A. x/ I- H, M! H, d! Y6 N7 G
set nss-config-dir=~/.mozilla_nss_shared_db
; N7 s! \' Z- _: u: u4 N
set from="myaccount@my.smtp.host(myname)"
% p* y' _1 t/ u+ v' v2 c
set smtp=smtp://my.smtp.host:25
3 h, t4 U( D6 D3 `
set smtp-auth=login
/ A/ m% x+ o1 F7 \/ V5 {, q
set smtp-auth-user=myaccount
8 B9 ^9 N: g; l h5 |) W! L/ b( l, d
set smtp-auth-password=mysecret
8 u' Z- f7 `1 r; u2 ~/ X
}
/ D" S1 f4 c# n) k9 V
account gmail {
- L+ ^8 c& ^' N# B8 k+ H
set ssl-verify=ignore
- p" d$ l t- s' p
set nss-config-dir=~/.mozilla_nss_shared_db
, F6 ]2 O! Y+ K- u
set from="myaccount@gmail.com(myname)"
: r7 S: r) Q, S9 W. B! z
set smtp=smtps://smtp.gmail.com:465
9 Q: S( I" n4 f2 `# R* M- m9 K b
set smtp-auth=login
$ g0 A B u! d" i
set smtp-auth-user=myaccount
; Q& a+ y9 q8 ?0 k8 r2 {
set smtp-auth-password=mysecret
' a) Q8 s' G h2 n3 D6 x9 ?2 s
}
$ ]2 r6 P; \+ ]7 P/ C( Q" F( e
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
; M x* n* t% e5 A" Z
但經我測試好像沒作用
6 E$ O8 j4 ]3 v# m- ]8 [ u. A
讀信:
#mail
- ]7 U- }+ A' p/ N e9 X
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
" @+ D+ C7 {% n, _! S+ _
#> /var/spool/mail/root
0 a( [, B/ n0 r5 ]/ V
在執行 mail 就可正常讀信了
/ ^/ V% x, P; O! v+ m( u! D* |. b
# M+ y* @" n; E
- r J5 a0 O5 X9 b
請參考:
6 b8 ~4 e: S3 X1 ?7 W$ h
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
* o% K6 O9 m3 G# |( h( C
, m6 W1 R; L T6 X1 F" e/ } N# b
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2