|
寄信:
+ F6 n$ t5 m% ^% i2 U" H0 u參數說明:. {4 p/ j- P0 S9 F4 P
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”3 a; z p* I3 _* V4 Y
-a 想在信件中夾帶附加檔案,用這個參數就對了。: ]( j3 w; F2 {# M6 Z# ]
例 :-a ~/testfile
, @! ?- f/ Z6 |1 Y- W Y-c 指定信件的副本。
: P5 A- u5 s2 R+ @* L$ O# ~# N例 :-c barry,vivian1 \6 v( r4 D# G5 ~- d
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
% ?% L5 M7 l6 S' ]例 :-b mary,[email protected]6 a5 l) \- W+ X) l
-q 以指定的檔案做為信件的起始內容。
- y/ @1 ^& ^+ P9 K( K6 |例: -q ~/mailfile, j, f( \1 R) } u! o- H) }1 p
-r 設定 mail from 的郵件地址。" o2 j) |7 l8 b" |4 C% m3 i- u
例:-r [email protected]
# j" ]2 e, l _( e' l-u 讀取使用者的 mailbox。/ B# }2 m3 y& R8 p
例 :-u barry
3 U% \; I/ T5 t6 j6 L* v. ]2 a* [-f 讀取使用者的 mailbox。* I3 i; I. D4 v1 [* C' T: x
例 :-f /var/spool/mail/barry% d; t, m% |! v' l0 ? k
. E+ G8 |( }4 u3 A$ Q% m1 b5 t% L. S/ j1 L1 m& a
- S5 Q' x" \0 b; {6 ^
將content.txt文件的內容寄出(非附件寄出)
4 ]3 x# A- K; r7 j6 h! j# cat content.txt ||mail -s "mail test" [email protected]0 h( d) o3 n( I- u* d; d
或者$ t, N! A7 p* r# v- f! z
& X3 q* L8 H+ i# mail -s "This is a test" [email protected] < content.txt. e/ z; u7 q4 `& e
編輯模式寄出:4 ^( q& D( z0 R" P( Y: q
# mail [email protected]/ H9 w9 X: T$ E% ~( x
Subject: This is a test mail; o/ y$ F" f6 L8 I- ^ N, m
There are writing area!, J+ ~% H! _# a$ O9 d Q- I
You can't use the Up/Down button in this form...& j, B) C/ _3 K$ \- A+ M
you can finish with ".". F8 @3 Z, x8 c9 W ^1 C, U) d$ y
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
, s2 V' `2 t2 l6 @8 I1 j5 T2 }
1 T2 v" ~, x3 N+ r! [# m$ Q) w7 Hmail/mailx命令使用外部SMTP來發送郵件
$ N0 W, T4 N$ [/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:2 b# L3 r, P/ \9 b
修改/etc/mail.rc 加入底下設定:
" p( ?$ e; h w% I4 K. H: Y- set [email protected] smtp=domain.com
7 R2 h$ q' i/ K* m. i% u5 z - set smtp-auth-user=username smtp-auth-password=password9 L# p! \' i, Y' r
- set smtp-auth=login
複製代碼 說明:8 p% J# d( y$ d* y
from是發送的郵件地址5 e' r$ l; L. J* K+ ]
smtp是發生的外部smtp服務器的地址1 y$ k+ z+ G& \. w% y6 j# G
smtp-auth-user是外部smtp服務器認證的用戶名1 r* r% f2 d6 U* ^
smtp-auth-password是外部smtp服務器認證的用戶密碼" w+ q {# j0 \* s# `0 I. W# B8 a3 |
smtp-auth是郵件認證的方式8 p5 f* {. G, W% ^* s3 _* i8 {
配置成功後,就可以使用了,可以發送一封郵件測試一下:
. o' s% s; f9 S$ s# mail -s "test" [email protected] < content.txt4 z% X* S* _. C" T- y# |
在linux下利用Google的SMTP來發郵件
$ c) y" } P. j; E4 _% q& H9 b8 s. S/ G- w. b
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
8 z! z* S6 q e& B在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
. G7 F7 y) D1 s) @6 Z/ o6 M, M7 u' e* [! ]0 x+ I1 |( [
/ d$ Q' |2 u7 ~- ~& H
, z% \& H$ f3 X$ }. ]5 D+ n
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
8 A, C$ w @# v1 B) S8 z0 j j1.安装mail- P% F+ g' R- L8 g9 [
yum install mailx -y) M4 v$ B7 Y2 |
) n/ d) J5 v* o& q9 \2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務4 A! ], p4 w! U, J0 ^
|, E3 a3 L% ?: o4 J
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
. u( U* v0 a+ vset [email protected]
1 Y, r7 `4 w2 {' q3 lset smtp=smtp.qq.com 9 \4 X. r1 Z6 x: w
set smtp-auth-user=demo ' x/ y' h# T# O+ ^ L
set smtp-auth-password=demopass
@, r( {2 [: K% zset smtp-auth=login
. }9 S" O2 D3 R但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail% ?6 |# G5 r2 v* B! `* _: G4 S
8 x* e: C0 Q" b* q; u! p
4.利用Google的SMTP發送郵件
0 |. q7 @9 ~" \& l6 s7 T在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db) w9 E, E. `6 u' \: G0 ?
编輯/etc/mail.rc,加入以下内容
6 H e5 g, a0 Jset ssl-verify=ignore
6 Z+ O& D$ a$ J2 ^* P) Yset nss-config-dir=~/.mozilla_nss_shared_db4 z" `$ z" ~, i& f
set from="[email protected](myname)"
2 R( V5 c1 y' E3 |' ^$ E8 uset smtp=smtps://smtp.gmail.com:4650 Z8 Z8 e4 f; h U) p/ [9 c
set smtp-auth=login0 t, `9 Z. M U% r# g, r
set smtp-auth-user=myaccount
5 F# q8 s( P' r* Lset smtp-auth-password=mysecret) D" Y6 I; g% \' c/ Y9 C1 J) B& }
6 |$ T, G. e G& j. S3 O" X; g如果想添加多個帳號,那就這樣寫配置文件, ^4 m, \) {+ y" L% V: J
account starttls {3 J) b$ ~2 X; k% f( F( F* S6 ?. L) S% `" q
set smtp-use-starttls+ v: U4 M1 X3 S7 x
set ssl-verify=ignore4 Q7 _1 s! Q# H4 X& L- s
set nss-config-dir=~/.mozilla_nss_shared_db
) Y* F0 ~( a" o( m1 p4 s; Y$ Iset from="[email protected](myname)"
5 V5 i+ v2 O1 Y! h% Y9 oset smtp=smtp://my.smtp.host:253 a/ [ i' s7 j) \1 S
set smtp-auth=login3 I2 M' c5 I7 ^4 `" ]1 u" H8 U) [
set smtp-auth-user=myaccount1 g) s$ t9 |) T* o$ o8 s
set smtp-auth-password=mysecret8 ?; d: y) j6 R! x
}1 S! ?8 ? \. T* Q3 u
account gmail {
& ]) O/ j0 j1 Y" k- n% vset ssl-verify=ignore2 S5 ^; x6 O8 F4 ^8 ^
set nss-config-dir=~/.mozilla_nss_shared_db
% x, r# v; V/ v- ?1 U/ {set from="[email protected](myname)"
4 T! \+ t# _( ^6 M2 ^set smtp=smtps://smtp.gmail.com:4656 d+ U& r- s' ^5 }' m, j4 B
set smtp-auth=login
6 A2 D. E* G! }0 M7 s+ w; k. gset smtp-auth-user=myaccount) S' P+ ], f; ? t0 j& X
set smtp-auth-password=mysecret. v$ D" W; F1 G: E0 C( F- z
}9 r+ W. p7 Q. I" o8 \+ q
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail/ W0 Z# s9 W/ K/ @
但經我測試好像沒作用
% b/ R' C- S) E0 u) ?* o; i讀信:#mail. q! B5 W2 L/ t2 R# a
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:2 u9 O3 r9 A4 A, e* Z
#> /var/spool/mail/root
/ ~( ^& w2 Q0 j6 F, N' U在執行 mail 就可正常讀信了
- B- x4 @8 b/ d9 I" G4 M
$ }! I9 l2 v0 A: X* U
# s0 S$ W. f9 {- N9 s! \5 G請參考:& X+ N& F e4 k, _
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
/ s4 `& N; X9 N. a, H. X( m; Z& ?# |: z! z
|
|
-->
|