52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
( ? A2 W. Y3 D1 A+ ?$ {+ q" ~
參數說明:
+ |% ?. E% _, |/ ]" [- q- Q
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
. P' E5 V3 Z( m6 |1 k! I! g1 p
-a 想在信件中夾帶附加檔案,用這個參數就對了。
8 H! \, S, c( {, y+ ~" D$ Z; s
例 :-a ~/testfile
/ Q* y6 ^7 ^; k; t- \8 n6 W
-c 指定信件的副本。
5 w* u. l/ f! R# |5 _
例 :-c barry,vivian
' u" x5 k; c1 E; \8 s8 Q
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
# A, y3 \6 r5 G2 [- Q
例 :-b mary,
tina@msa.hinet.net
* c0 {) \9 d0 e) J: @
-q 以指定的檔案做為信件的起始內容。
* v0 H; h) `9 y2 f- z+ ?0 I& e
例: -q ~/mailfile
0 {5 o" s0 I9 U9 a; ^7 A; }+ H% v
-r 設定 mail from 的郵件地址。
! q6 y5 x8 O, m# ] G8 g& J
例:-r
admin@paching.idv.tw
3 f# _! u* Q( S7 y1 @! A
-u 讀取使用者的 mailbox。
8 e! `, |- ]) \; P7 X
例 :-u barry
6 e6 |' s: T1 b2 `
-f 讀取使用者的 mailbox。
1 ] |+ H6 j' E0 |7 E, l
例 :-f /var/spool/mail/barry
8 f) |7 w7 r3 R' D/ X% L- {' r
# Y; Y+ I5 a6 z5 U( _
" g/ `9 e0 \( ?3 ]2 _
# W0 C$ c9 `/ h/ n M3 L
將content.txt文件的內容寄出(非附件寄出)
# V0 B0 Q0 }5 }3 I$ A
# cat content.txt ||mail -s "mail test"
test@gmail.com
0 V: A6 u$ c: k* ?+ T
或者
: w0 _& H- f/ p
$ d5 X, o, q2 f/ U+ u: ]5 Z+ o
# mail -s "This is a test"
aa@aa.com
< content.txt
* j, \% v( W0 T2 R. P" O4 l0 p' C
編輯模式寄出:
! a/ I1 q' r8 J3 V0 D$ b. m$ N& [
# mail
kevin@av4u.info
: b- Y3 i& @3 _3 j' |3 H
Subject: This is a test mail
) v" B. c5 f, o9 H4 ~0 k
There are writing area!
2 F: t' x6 e7 n5 u0 Q: R
You can't use the Up/Down button in this form...
% D; @# ]0 P) }% y- A
you can finish with "."
( ~5 }9 G2 |3 n. i" d7 N
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
9 A2 v& G; G L5 ]! }5 ?% p! m
7 @, x( d; x9 r3 h/ U9 [
mail/mailx命令使用外部SMTP來發送郵件
' e A) V- I/ H3 X3 h& ^% Y+ g
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
) r% y- P8 r* p, \, M1 P6 L
修改/etc/mail.rc 加入底下設定:
% ]1 Z3 H, W) N3 o8 [! s- O
set from=fromuser@domain.com smtp=domain.com
( c8 r, I9 {8 Y/ p: V) U1 g( u
set smtp-auth-user=username smtp-auth-password=password
$ O" L: a3 I u/ d# M1 g# {* @
set smtp-auth=login
複製代碼
說明:
, H& `8 F: ~9 u4 J6 m4 M
from是發送的郵件地址
8 A4 c2 w9 u1 V5 F/ T5 U
smtp是發生的外部smtp服務器的地址
& f5 N T7 e# A# |5 g b
smtp-auth-user是外部smtp服務器認證的用戶名
. L$ Y4 f. h, R7 r( _) M
smtp-auth-password是外部smtp服務器認證的用戶密碼
6 [! s5 B* X& W8 A. A
smtp-auth是郵件認證的方式
$ t( ?2 |0 G" ]! E
配置成功後,就可以使用了,可以發送一封郵件測試一下:
+ C; \2 H8 i4 G1 q
# mail -s "test"
user@domain.com
< content.txt
9 l. x+ T. A2 K. `
在linux下利用Google的SMTP來發郵件
/ L1 }; O2 U9 Z8 _, C# O
. @! ^1 y9 p0 @) j/ g) S' P- p$ s9 S
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
7 i1 R9 l( z1 g& t: c6 J' |. @
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
: G" |! {* y( O' @+ @; q
- M( W9 I g0 \
- j" r0 J. R% }' F
/ P" Z2 ]+ e- V+ H& R7 |
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
# o9 w. Z1 b+ j6 M9 y
1.安装mail
: \$ X! ~ D2 z0 z2 ?4 d
yum install mailx -y
$ ]' \+ k4 D* a) M. \5 T+ j
Z& e- i- M2 b! ~1 L
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
1 o0 t: v6 Q3 r5 s3 t" J- u6 o
8 I- F. m) j- q$ M3 W) {
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
/ R/ N! b+ A1 l2 ~
set from=demo@qq.com
4 Q ?8 J# v' H) r7 ]
set smtp=smtp.qq.com
@% F" h$ }: e8 l8 M/ b1 c4 `
set smtp-auth-user=demo
( ~6 u& h! B f% K5 d1 `1 o- T" ]
set smtp-auth-password=demopass
/ | X& ?1 r$ _
set smtp-auth=login
% v5 t) o5 M; L1 A) [+ @
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
' Z$ ~) m7 u* ]3 b+ }+ ^6 q
' c a- b; R. p, q3 S/ Z2 K5 ]
4.利用Google的SMTP發送郵件
& G$ W5 y+ Q7 \( c3 H
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
0 s/ P' e* l9 e! k/ n* ^0 e
编輯/etc/mail.rc,加入以下内容
# z% T' C* [- Z
set ssl-verify=ignore
$ V2 k( c ]6 U/ P* P
set nss-config-dir=~/.mozilla_nss_shared_db
( Y+ v$ R; d7 c: o
set from="myaccount@gmail.com(myname)"
1 j9 d1 V }' R& C$ U
set smtp=smtps://smtp.gmail.com:465
- M- J. l# K" M
set smtp-auth=login
7 U: ], q% v- J- ~" Z8 |
set smtp-auth-user=myaccount
v' b$ |5 H7 ~! ~
set smtp-auth-password=mysecret
6 Y. p2 Z+ K0 l3 l1 z/ x
3 {" V; f. [* r5 D% z
如果想添加多個帳號,那就這樣寫配置文件
' L! L( w: _, ~: U4 e
account starttls {
* ^) I7 t" i+ C5 v( }: `" _
set smtp-use-starttls
% @! U0 P8 z$ E" `0 W8 U
set ssl-verify=ignore
+ F3 B3 i7 f1 F/ a, c1 \* R) M2 M5 W
set nss-config-dir=~/.mozilla_nss_shared_db
- E, N: x2 \( _+ x6 `8 d
set from="myaccount@my.smtp.host(myname)"
V& J2 o# E4 c. d2 z
set smtp=smtp://my.smtp.host:25
- C! Z. W: A) R. i
set smtp-auth=login
8 C; E/ a' x9 V& ~
set smtp-auth-user=myaccount
! d' i' R, |, r: `! l6 l. N
set smtp-auth-password=mysecret
0 O6 a7 U& T% m4 ?1 o
}
# Y+ y1 Q9 d- G$ F6 |
account gmail {
8 Z- x0 @! r. v
set ssl-verify=ignore
& Q- ]9 ` L* v& y" c% I& a
set nss-config-dir=~/.mozilla_nss_shared_db
/ Z5 U- ?: M# @ ~
set from="myaccount@gmail.com(myname)"
5 y% \5 P0 z, D+ l5 D- N
set smtp=smtps://smtp.gmail.com:465
$ Y- o' y9 N. W5 Z" n
set smtp-auth=login
! ]3 K* W5 V' A0 q9 }, O
set smtp-auth-user=myaccount
6 F0 f9 Q, l' n( I7 X1 K% q2 L) E, Z
set smtp-auth-password=mysecret
6 ~( L0 F- Z" k& U6 l
}
; E" U f- W. Z, F( Z5 y" J% a% W
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
8 d: ?' R% U! k& O3 i5 @9 D; W
但經我測試好像沒作用
_; a. |* [1 b" ^; z
讀信:
#mail
$ ^: _. k1 z5 J& Q
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
- i: @2 p- Q" X7 L8 _. T4 z* o4 L
#> /var/spool/mail/root
& ?7 |9 B; ?& P/ _8 Y7 C7 x5 E
在執行 mail 就可正常讀信了
- @% i/ m: Y0 f/ B# ]( A
3 F) N2 ~. q) g$ d. u$ r
# F4 J. _! `) O3 A1 t6 [( y0 H
請參考:
6 h6 j3 T6 R/ q+ n# ~% L7 ^
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
/ d7 p2 K/ R3 I8 r& B( X- B, x- h4 i+ f
1 a: ]7 @" A3 P
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2