52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
5 c1 q, R {/ a- ^/ v1 T3 |
參數說明:
6 J4 R' u4 \" z5 O9 S
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
$ d, l5 g8 y/ o! A0 }
-a 想在信件中夾帶附加檔案,用這個參數就對了。
0 q' R; t( P- a- p
例 :-a ~/testfile
) s1 |4 V0 g6 l; S
-c 指定信件的副本。
6 n" p6 L5 q |& ^
例 :-c barry,vivian
2 d6 y* H+ U/ W# p8 c6 e- t
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
# D: B% d9 g$ R! ?
例 :-b mary,
[email protected]
& s2 w# \. t, P" l1 N3 }1 v
-q 以指定的檔案做為信件的起始內容。
9 [$ U. r+ I$ P
例: -q ~/mailfile
+ s* J! X& M' M& `" n6 P8 E2 D
-r 設定 mail from 的郵件地址。
9 y) F- _5 O. v
例:-r
[email protected]
: |, u+ o |% W$ Q+ N2 n' i
-u 讀取使用者的 mailbox。
* F: T5 \' r3 Y+ E
例 :-u barry
. [3 L1 J: g# [1 d
-f 讀取使用者的 mailbox。
! w6 g- b& N: U5 W6 V0 @- ~
例 :-f /var/spool/mail/barry
4 f, p+ {* }8 t7 {; A) N
, F0 T* j- b9 L7 e
( U+ w/ \+ M; S* I) d6 z
) f/ k2 o) x2 ^! G& B* t$ W
將content.txt文件的內容寄出(非附件寄出)
3 N( t4 N4 ~& a3 C
# cat content.txt ||mail -s "mail test"
[email protected]
. E. a# B" }# Z) T: |$ g
或者
& J8 Y1 _% G7 q w9 o) T
$ y2 g( x _& k" ~3 }
# mail -s "This is a test"
[email protected]
< content.txt
6 p% |9 H& j- P' a% _1 D2 n1 ^
編輯模式寄出:
0 ^4 v8 ^4 v( k8 F/ T
# mail
[email protected]
5 l1 f: b+ D9 B! Y% v v
Subject: This is a test mail
5 J1 @# k1 x3 |
There are writing area!
7 Q4 ~# |9 r1 K5 l$ y4 y
You can't use the Up/Down button in this form...
/ L: V+ Q* f/ b
you can finish with "."
4 p2 { \: l, @& G$ `! ~
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
- U# K3 c/ R: r+ M! }
, a6 K: B4 u2 R; n9 v/ G( r4 z6 t F
mail/mailx命令使用外部SMTP來發送郵件
/ a& o' [2 T7 q a2 r' f
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
. E6 m* E# u$ k+ [' W- W7 i
修改/etc/mail.rc 加入底下設定:
( j8 R$ g& S! z* Q
set
[email protected]
smtp=domain.com
, f& F* R/ d, R Q+ d
set smtp-auth-user=username smtp-auth-password=password
2 ^% {- A! E: D) [* k& Y
set smtp-auth=login
複製代碼
說明:
5 d" Z \4 l& Q: z; Y
from是發送的郵件地址
, C( `, L& a4 \* u3 O6 t$ T& M
smtp是發生的外部smtp服務器的地址
" G' V/ Q* _. ?% c- V& r! n
smtp-auth-user是外部smtp服務器認證的用戶名
4 w% R1 L3 }: T# \: H! Z, I5 z' G9 b
smtp-auth-password是外部smtp服務器認證的用戶密碼
( W l& V( C7 m5 a: N4 H
smtp-auth是郵件認證的方式
3 M! }, b3 z8 I7 Y r
配置成功後,就可以使用了,可以發送一封郵件測試一下:
9 | K, q% y H9 _+ Z
# mail -s "test"
[email protected]
< content.txt
4 p$ Q: V# ?9 F( C: q( U+ S7 t1 M
在linux下利用Google的SMTP來發郵件
& \' U0 t; ?# H* N+ E
9 ?# E8 `( |, H; P/ |
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
2 @ {, O D+ N2 Z2 H
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
R9 A/ N' K$ r: S# n8 j
/ C2 ^! d" @7 q2 Q
) x7 n9 k# a$ r+ m& G) i
2 F6 b9 h$ {! r0 w3 R% m
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
- }2 L N. ~, T6 t
1.安装mail
/ Y- |/ y$ O2 H3 T* O
yum install mailx -y
# m) Y# n- X d* C, I
8 [7 M6 T# B0 e+ j7 W! f" A
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
! J! _. v( A6 w0 g3 ?
8 `. L2 {/ M7 M0 e8 @
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
- k) A3 [9 w! e3 P4 C: |
set
[email protected]
2 J2 z' d \( L# }& h" z
set smtp=smtp.qq.com
6 g3 R- s& |: a3 H8 `6 D: t1 n" e
set smtp-auth-user=demo
R$ l; R4 Q: p- a/ q# s j
set smtp-auth-password=demopass
- U7 ]. B R1 m _; l5 \
set smtp-auth=login
+ }( P( U6 _% c: u) X7 X/ E) g/ f
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
* ~* N! a" F3 W) }
$ W( M- w4 I5 d- ]: _! F
4.利用Google的SMTP發送郵件
: |: { j1 k0 y9 p3 X
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
. Y5 a9 A; G: ]2 O8 A0 s, F7 R
编輯/etc/mail.rc,加入以下内容
1 d! \1 U3 a, E, {
set ssl-verify=ignore
7 ] ~3 P2 L3 t) `& N
set nss-config-dir=~/.mozilla_nss_shared_db
, H( Z' g# o3 e
set from="
[email protected]
(myname)"
9 r! ]# C. O* G/ U9 k) V
set smtp=smtps://smtp.gmail.com:465
/ F1 j4 F) E5 ~+ D' G k
set smtp-auth=login
, ~$ [0 Q, \2 e8 A& D1 a. L
set smtp-auth-user=myaccount
6 `" L6 D1 p8 r$ f7 A6 D" [
set smtp-auth-password=mysecret
7 S# }3 x# e' r9 r9 F. B: S% ?. O
8 z! w5 _( G- F
如果想添加多個帳號,那就這樣寫配置文件
@0 b L5 y4 q( h$ h
account starttls {
1 v* q7 m/ Y+ W$ }5 R, ], _3 |
set smtp-use-starttls
* f- T r& ]: C0 W, T
set ssl-verify=ignore
9 t7 P: X! c: t8 X0 j
set nss-config-dir=~/.mozilla_nss_shared_db
" D7 o( P( r% e# q' g/ R
set from="
[email protected]
(myname)"
+ W0 w6 d- z- H2 [1 d
set smtp=smtp://my.smtp.host:25
1 k8 _: X' c2 R4 }% r' _
set smtp-auth=login
0 a& f) p0 z# _- Q
set smtp-auth-user=myaccount
# L/ v2 n) O8 B3 S- }: c0 Q( Z
set smtp-auth-password=mysecret
/ p4 Q# }+ m9 D; E4 P+ j: E
}
6 @+ F2 j! z2 V5 F: X) ]3 z
account gmail {
1 f% L) i+ v9 [' v( ?( e2 \
set ssl-verify=ignore
; X: F+ l2 A& B2 k- f7 T- s
set nss-config-dir=~/.mozilla_nss_shared_db
' a( F; k. D, `. z* ]9 m
set from="
[email protected]
(myname)"
) b7 b: \- q+ T U
set smtp=smtps://smtp.gmail.com:465
B3 i" T% d4 _3 e! e3 ~2 a
set smtp-auth=login
( g) O5 u: v: [+ w4 u
set smtp-auth-user=myaccount
; D, }5 e; R' U0 O
set smtp-auth-password=mysecret
% L$ F9 H" ?/ a! J# R" I
}
/ a7 D; i. k/ I1 S
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
" q+ z% g+ q# X2 c( J8 a3 m% B7 q
但經我測試好像沒作用
) O' H+ B. ?% w) z/ C% I
讀信:
#mail
8 z# u: P; h: R5 p. m: T; y4 B
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
% a; ?! b, {3 v3 Q
#> /var/spool/mail/root
/ @" M) F7 Q- O
在執行 mail 就可正常讀信了
$ z; Z* h9 P j3 h+ G6 e& ~
$ ~7 W. \9 K9 L
3 R: A6 Q' M* U7 P& q* G% C1 ~
請參考:
- i' S9 L* X) s
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
2 ~2 m- ^& n# E1 W9 ~
: C5 Q9 e8 Q6 z$ y2 U. Q
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2