|
|
tid=35304&寄信:
( \) d% I/ V' ]2 E; h/ K參數說明:3 o+ F u& u3 h0 Y0 I" D
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”6 S' J) S, Y! I' x9 `3 a: } R6 L
-a 想在信件中夾帶附加檔案,用這個參數就對了。5 U" @: D2 A# \6 e( `( g4 d
例 :-a ~/testfile$ U8 b' u3 A7 | }% e: i6 `/ ]2 k. s
-c 指定信件的副本。
% I8 q3 j- m Q# I9 I4 j9 q% n例 :-c barry,vivian
" t$ m- t/ B) {* `8 V$ s, ?% ?-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
0 K$ K! {1 F( a* U/ u5 @例 :-b mary,tina@msa.hinet.net; @- p6 t) T3 }" S
-q 以指定的檔案做為信件的起始內容。
" d" B: q5 m7 f+ c4 P# \0 @例: -q ~/mailfile) ^; |& @) B$ u: r) [6 |6 }
-r 設定 mail from 的郵件地址。
- Y; R9 \" X: n# x) P" w/ j例:-r admin@paching.idv.tw) a- e6 u8 t/ f0 v! a; d; R
-u 讀取使用者的 mailbox。( n3 M, d7 u0 O7 }
例 :-u barry5 k. z4 V! l7 S
-f 讀取使用者的 mailbox。
; a0 ~# {0 P. ?4 T$ `* |例 :-f /var/spool/mail/barry
" j2 o2 Q! \9 Q4 k" S" l) m5 l
' Q7 `. Z# l1 Q' j
% c( Q& G8 s5 U! D1 K0 U6 J
+ v' Z4 U |( c! ]- K* r$ q將content.txt文件的內容寄出(非附件寄出) K( q. k; K; m1 U& N
# cat content.txt ||mail -s "mail test" test@gmail.com3 C! ]$ Z& x, f* C8 }# w1 d
或者
8 z# c }% ]6 m& u8 J9 K) w
7 W; J& A2 Z8 M. Q& f- J1 F2 g# mail -s "This is a test" aa@aa.com < content.txt% S0 ~' U0 s# `1 m' D
編輯模式寄出:" X" ?5 d2 L# `5 D9 m1 x/ n0 {5 d
# mail kevin@av4u.info
- B1 [; w+ |3 T: v2 cSubject: This is a test mail: T5 b0 k" |, O. ?' v
There are writing area!
3 |2 p' F( u) n) r& tYou can't use the Up/Down button in this form...
: f. G/ s0 U3 V' v8 n) _2 syou can finish with "."1 ^* J9 }( y2 E
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
: w: z( V) `$ l5 z9 t2 u* M( J3 C
/ o8 r7 j# q* o0 _4 F4 e- Xmail/mailx命令使用外部SMTP來發送郵件
5 z0 f1 U) l6 p! c6 n/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:3 A; a6 |3 H6 ^
修改/etc/mail.rc 加入底下設定:
, U" m, S! z6 @) Y5 ~- set from=fromuser@domain.com smtp=domain.com
" m9 Y8 v' g& a' i - set smtp-auth-user=username smtp-auth-password=password& G3 w* [4 z8 d& ^' l) Y
- set smtp-auth=login
複製代碼 說明:/ r4 _0 r2 ~ D3 s) m) l
from是發送的郵件地址8 q7 ]% N4 w4 m/ z6 U
smtp是發生的外部smtp服務器的地址5 K- r" G' ]8 |* R- J8 R7 v. @0 e
smtp-auth-user是外部smtp服務器認證的用戶名
; w" I+ H$ p7 osmtp-auth-password是外部smtp服務器認證的用戶密碼
- e: i. o( z2 [$ s% m! ?smtp-auth是郵件認證的方式
0 I* |/ Q" a. U" f/ _' v3 C配置成功後,就可以使用了,可以發送一封郵件測試一下:; l( X/ m8 u+ r; l
# mail -s "test" user@domain.com < content.txt& A( F+ C+ N4 n& d- G2 B# F
在linux下利用Google的SMTP來發郵件
' w! F/ U0 W/ @+ Q( W1 H7 [, {- W* ?% x5 c
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。( N1 n' A% U. F* R% ?
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。4 i! b5 F5 f9 G2 g2 _& \5 y! |
1 v: p! Z3 W3 n1 e
1 y( W# m* i8 S3 P; @
/ L' D1 H f; A6 f Z8 Y下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
# w+ ]* s. `# b. J. _, v# {1.安装mail
* ~# a$ L* r( [7 [1 z& h" jyum install mailx -y
! p$ M% G9 { g- X# c* j6 H. s& s7 Z U" d. d+ P/ U
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務 e0 G4 s* ?8 j) U; I- s1 Q
l9 I6 k7 g& h( Y1 S+ g) e: T; i
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容2 T5 f& D. V; Q) c$ T
set from=demo@qq.com- q3 ?" t' Z6 m2 ]
set smtp=smtp.qq.com ! \& J* ?: E' d$ {5 r0 e
set smtp-auth-user=demo
% a2 C1 I2 D# E6 _+ e/ e0 mset smtp-auth-password=demopass
: {9 k1 f6 H! u# \set smtp-auth=login1 [# _) _% m5 w9 Y" ^
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail3 Y- S7 T) T* T; [
6 Z: i7 J. s/ `0 X! N/ u
4.利用Google的SMTP發送郵件
; H2 a) |3 o3 F+ v在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db0 d) T6 F l& `7 r3 H: |4 v) Q) P
编輯/etc/mail.rc,加入以下内容
. E) X: Y d5 ~5 xset ssl-verify=ignore
: N0 r+ Z9 F* R3 ]set nss-config-dir=~/.mozilla_nss_shared_db+ Z3 W5 L5 b4 U: l
set from="myaccount@gmail.com(myname)": g0 y/ m7 u$ L2 y8 @+ A
set smtp=smtps://smtp.gmail.com:465* C( N; C9 D4 e- _
set smtp-auth=login% }' H3 G4 G- e D5 N/ i! W
set smtp-auth-user=myaccount
7 d, A+ N: C2 w+ J! wset smtp-auth-password=mysecret$ w( B5 X. r* F7 d0 Q( k! n
# J6 V- N) r, }2 B7 r1 b' U7 c
如果想添加多個帳號,那就這樣寫配置文件
6 k+ j- p& T" T: g! paccount starttls {: z- L4 R- F7 K3 H; _* m+ S
set smtp-use-starttls
' U h/ f* y+ ]- i: O! S: Yset ssl-verify=ignore
; P: R1 ~# ?5 }& Jset nss-config-dir=~/.mozilla_nss_shared_db
7 W# s5 Y3 P, Z5 a: C# \' s$ [* C$ uset from="myaccount@my.smtp.host(myname)"9 f! S; L- W2 [: ^
set smtp=smtp://my.smtp.host:25
" t* _0 `3 t, d: z" P& Gset smtp-auth=login
+ K+ J3 _- v( x' G% d: _set smtp-auth-user=myaccount M! W- b8 q" b/ l
set smtp-auth-password=mysecret
- H) y% Q5 O/ r4 a+ f1 C}
: n2 _ Y/ G% z- B( laccount gmail {
+ _. T8 S& B5 e# w4 @- mset ssl-verify=ignore# \8 f2 s8 Z- i; D* B* @
set nss-config-dir=~/.mozilla_nss_shared_db0 B$ g( R# }" G: h
set from="myaccount@gmail.com(myname)"1 w4 X; E4 x" p$ u: o D. R
set smtp=smtps://smtp.gmail.com:465
0 U9 y( @0 Q1 _4 p! x) qset smtp-auth=login5 H1 ]( k6 @# H# r/ d# ]2 Q
set smtp-auth-user=myaccount
" G( K8 A6 l3 Uset smtp-auth-password=mysecret6 U& V7 N8 w& [4 D* |' I c
}
1 ^8 J0 E- h' G不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
+ B8 t8 z% l8 ?5 d4 Z7 d$ a但經我測試好像沒作用
4 W* Y$ p$ X% d讀信:#mail+ ?9 r3 }+ r9 D% l
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
8 {9 m4 {8 H7 T( Q6 T9 Z#> /var/spool/mail/root
/ D/ `8 i. e" N4 m g% w, F1 G! O3 X在執行 mail 就可正常讀信了6 R) q; v) ?3 F$ o# M# f! u
7 c4 ~* Y; Y0 E) i9 y/ T
/ c) Q* x" J% C+ z: Y請參考:
. T. a$ j! G, I) H0 K- `http://linux.vbird.org/linux_server/0380mail.php#mua_mail
* n* Z& f! X6 d) }8 T5 v
4 i" U6 U# D0 u3 ?: l8 j, p |
|