52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
; o' a- Z; q( v/ |! e
參數說明:
, u! x+ ?; p# p$ D: e# t
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
' I9 x3 F9 F3 Y) [2 n. a1 p
-a 想在信件中夾帶附加檔案,用這個參數就對了。
. @# X4 ]8 o( |8 O
例 :-a ~/testfile
1 {/ w3 v' h4 {$ {" x+ U
-c 指定信件的副本。
8 p( ?& q5 O6 |3 j6 m, J
例 :-c barry,vivian
8 j1 w5 k d6 r6 i
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
* V. I' e) t* ]& |6 H
例 :-b mary,
tina@msa.hinet.net
- R+ z3 N7 A H- c5 s+ B
-q 以指定的檔案做為信件的起始內容。
! i7 O+ h5 v8 N7 Z, C3 Q: u L
例: -q ~/mailfile
5 z, R+ x8 j4 D+ a% P# z
-r 設定 mail from 的郵件地址。
9 g8 t1 E O: t$ b0 _9 L
例:-r
admin@paching.idv.tw
, u+ d4 ^# ]3 _) }. V: C6 \
-u 讀取使用者的 mailbox。
% x7 X g+ `# e- g* T7 Y6 o+ K
例 :-u barry
" \# _1 `% F% T+ @) z
-f 讀取使用者的 mailbox。
T$ V" }8 Q7 `, f0 z3 O
例 :-f /var/spool/mail/barry
! q8 n+ g: s; G, x/ J
( t$ L4 l* Y d* _" _
4 `4 |- l9 _6 x+ V; j @
, O! S6 T6 o& h$ r0 b; H, i
將content.txt文件的內容寄出(非附件寄出)
" v+ ]' S" T. K! `$ }
# cat content.txt ||mail -s "mail test"
test@gmail.com
& ~3 U! M; O: {: T4 U4 v
或者
4 p& q; v2 ]+ R5 h# g9 ?6 n
/ ?3 i4 d* C% p& K! }% E5 A
# mail -s "This is a test"
aa@aa.com
< content.txt
4 p9 R* F$ C# h( R* U( _
編輯模式寄出:
* O7 Z1 [4 L) ?* |
# mail
kevin@av4u.info
0 I% Y6 Y0 M. V( Z" C
Subject: This is a test mail
( d q" D& [! C1 X' }* {( d5 a
There are writing area!
# T3 z% ~4 g2 o6 ]: C2 V# ] X: @2 J5 |% e
You can't use the Up/Down button in this form...
+ _, c) l$ R+ L) k& `5 t
you can finish with "."
* |$ R, z; z* M4 q
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
4 _5 {* v5 Q- o. J
9 G( U$ Q/ p5 x1 S4 h* N6 I7 z
mail/mailx命令使用外部SMTP來發送郵件
6 ^( ^& c% Z$ j3 i7 j
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
L+ X, p1 K% V6 | w/ P. W
修改/etc/mail.rc 加入底下設定:
* i1 t- ~- r, i/ F( o$ R! ?4 _
set from=fromuser@domain.com smtp=domain.com
4 t+ w( e1 l# |% A$ _* }
set smtp-auth-user=username smtp-auth-password=password
0 N5 }* l9 b/ q$ g& a- ]0 a
set smtp-auth=login
複製代碼
說明:
4 s8 G9 Z" A/ D' o4 ?' H2 `" r" o
from是發送的郵件地址
/ B2 u" @' g, D' i1 T1 ~
smtp是發生的外部smtp服務器的地址
, X. ?$ Z8 t) _" Y4 P: ?# N
smtp-auth-user是外部smtp服務器認證的用戶名
, I. m% x, W0 o6 P: j, |* t& _/ t
smtp-auth-password是外部smtp服務器認證的用戶密碼
1 ? }$ U R ?$ d! I3 U1 h
smtp-auth是郵件認證的方式
, } M8 ~: x$ @$ G& ~. P
配置成功後,就可以使用了,可以發送一封郵件測試一下:
- x, r9 j# l% t
# mail -s "test"
user@domain.com
< content.txt
3 V# t% s, j3 k0 v
在linux下利用Google的SMTP來發郵件
1 Q; B- T4 ~7 ?! _
5 c ?9 F" [2 H/ ]
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
" {: |( D8 J* s* e. Q8 \7 q
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
' K! _+ G9 ^: Z
" n. G; V3 D7 B+ U# `9 s
. w) k3 f: Z' S) k! p' ]
5 |/ t/ A3 q; Z& M: ?, s- F
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
8 E4 ]# D2 E: n6 }2 K/ ?
1.安装mail
. }3 b" M% j$ `+ n9 P! g6 D& _( d# ]
yum install mailx -y
* s6 _6 S. f. ], A$ O# t I0 g) f
+ t+ @$ {" y$ b2 U( x, E6 ]
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
% n( {, O9 g4 v3 p3 z! K: [
( a2 ], W) d+ G
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
3 `' L7 H4 f7 N" D
set from=demo@qq.com
$ h* R i! ]9 [# G+ W/ }0 `7 P
set smtp=smtp.qq.com
0 Z" r: q# X$ H) K' X I! x
set smtp-auth-user=demo
0 A9 @9 Z- E# L8 _2 X) s$ `
set smtp-auth-password=demopass
& x' y: z& X6 y* o' @7 H
set smtp-auth=login
) b6 `: ?' n% e! G, o
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
+ x( d+ ^& G) _" S9 L" ]
/ B4 d9 P) d% S7 L
4.利用Google的SMTP發送郵件
1 G: B4 ^& j( p
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
7 \# \7 K7 T$ R5 N$ J# p) N0 g
编輯/etc/mail.rc,加入以下内容
( P; {9 [$ [* z" E1 b7 o- P! f0 e, @# C
set ssl-verify=ignore
( A& P. i( [- V0 r+ B% R
set nss-config-dir=~/.mozilla_nss_shared_db
( }+ b5 q& V+ T& |: m: ?
set from="myaccount@gmail.com(myname)"
1 {6 K7 u# J; g0 x' W+ b6 l1 g q
set smtp=smtps://smtp.gmail.com:465
; s4 W, B- N1 `7 n5 J* k+ o. m* }. h
set smtp-auth=login
4 i$ M X8 x4 n! y4 A
set smtp-auth-user=myaccount
% x( W$ \3 V) R; o) W; @" c
set smtp-auth-password=mysecret
0 z8 k" g a& v9 o
2 }: j1 z8 o ?
如果想添加多個帳號,那就這樣寫配置文件
2 n& Y" A6 T1 @% C c
account starttls {
( r; p) @- ]9 J$ @' d" s& o' l4 C
set smtp-use-starttls
( g* B @" `9 a; i1 b9 W
set ssl-verify=ignore
! b9 Q5 i: c, V- ]3 \: S Z
set nss-config-dir=~/.mozilla_nss_shared_db
5 Z$ \5 w% X: W* o M
set from="myaccount@my.smtp.host(myname)"
5 U& ?9 O, c4 k" z; f P
set smtp=smtp://my.smtp.host:25
& m" y& N' @ d, c
set smtp-auth=login
: V) A& \; |. y F7 N
set smtp-auth-user=myaccount
t, w; b4 c6 R4 ?9 _: c9 p
set smtp-auth-password=mysecret
$ j" } |0 K {6 A/ p
}
$ Z7 R. S- f! X
account gmail {
f. U' ^2 B2 o" K/ x: B* d A
set ssl-verify=ignore
3 l! `: s: K# e0 z3 R2 W8 G
set nss-config-dir=~/.mozilla_nss_shared_db
0 u: [8 i: s/ [: o6 @3 i
set from="myaccount@gmail.com(myname)"
. p7 q# b) N- k6 ?0 t8 |/ O- \ c
set smtp=smtps://smtp.gmail.com:465
0 T; u0 w# i% F' p: }" \
set smtp-auth=login
3 ~0 K5 ?$ d }2 h& b4 f
set smtp-auth-user=myaccount
X; v4 n$ X4 w9 \& A
set smtp-auth-password=mysecret
# G3 d3 B" L2 X1 {5 c. e
}
# B" m+ ?4 z X' J* y) y
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
/ ?) S3 I! x' c# I3 f x
但經我測試好像沒作用
9 ?( ^' c3 [; ?: V* d
讀信:
#mail
- v& I" u G2 a! A) r, l' g
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
# A `# }4 G: t! f% n5 m8 k
#> /var/spool/mail/root
# c9 ]' A& Y9 A: R; n/ }0 Z. U
在執行 mail 就可正常讀信了
6 f, a) m) w/ W& ^1 w5 A
8 K. w: c+ I" N# h6 Z
; I& ]. w2 A- l q. a& M8 v7 A
請參考:
' u$ e" m7 O& |
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
" S$ m& v% B1 x- f1 ]8 E
6 g- @) j) L3 _! s; I3 w! r( n
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2