52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
3 j; z2 ~4 ^) a8 b9 \# s
參數說明:
: W% }# l. l! t9 u0 x6 `7 w- C' W
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
8 Y$ t' ^) U7 e0 u8 F) @
-a 想在信件中夾帶附加檔案,用這個參數就對了。
$ ]& t/ p# S- [+ b
例 :-a ~/testfile
: t7 V( e7 W, c6 J, K& h0 _# I
-c 指定信件的副本。
1 } p2 ~% t) e5 q
例 :-c barry,vivian
6 t/ P; V/ [: U
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
7 Y- Q( S& h# a/ |
例 :-b mary,
tina@msa.hinet.net
9 |( Z7 _ s+ ~. e* w1 a6 `
-q 以指定的檔案做為信件的起始內容。
5 _$ G. m1 H# d7 O2 U
例: -q ~/mailfile
C- X6 S T) X- Q, z
-r 設定 mail from 的郵件地址。
4 L/ I1 {- l$ r
例:-r
admin@paching.idv.tw
2 A3 s, S" @- s! p$ ^& c3 Z
-u 讀取使用者的 mailbox。
0 p2 k1 t0 e# o5 R8 @6 @
例 :-u barry
5 [- `$ G# E/ ?. h7 o
-f 讀取使用者的 mailbox。
4 u" d t; x! k4 `2 L# z! `
例 :-f /var/spool/mail/barry
' {% x( ^! n/ ]. n( j
$ r/ u3 t p% U; e! D3 ~
, t* ~6 @9 j2 x# ~
- r3 U" {+ ]9 l9 q* x( S* l$ s
將content.txt文件的內容寄出(非附件寄出)
; m/ F' o9 o2 K' [9 S/ Q0 \
# cat content.txt ||mail -s "mail test"
test@gmail.com
4 \# u. B7 O3 c
或者
j) Y& Y' c t% |! ^4 i% Y
+ B. m1 k8 \, t0 k5 J& p+ U
# mail -s "This is a test"
aa@aa.com
< content.txt
! p# _7 A2 h+ r' [( H3 j
編輯模式寄出:
; A$ `8 I6 b. p& _ n) Y v1 ?
# mail
kevin@av4u.info
: c5 c" _+ t9 t
Subject: This is a test mail
R0 m9 M- v. C& X) e5 M5 h( y
There are writing area!
6 q# E" p! d B7 w0 O7 U
You can't use the Up/Down button in this form...
) g# Z9 I! O9 h
you can finish with "."
' a- H9 s$ m9 B) D+ e
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
" n4 q! s% G; n5 v( Z4 V2 R9 N# @
5 s# f/ l6 S `' s1 o
mail/mailx命令使用外部SMTP來發送郵件
5 L$ O! f( N6 r2 B$ E( m
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
! p* k; I" j0 F& W: a" f) q
修改/etc/mail.rc 加入底下設定:
& v9 o' m: x" Y
set from=fromuser@domain.com smtp=domain.com
- O1 S/ h6 l$ \5 G3 V* |
set smtp-auth-user=username smtp-auth-password=password
0 E2 m! \0 }# s3 s* w# \
set smtp-auth=login
複製代碼
說明:
- g4 J9 E8 s5 y5 E( Q3 i- t
from是發送的郵件地址
G( v0 |/ @( x. d3 o5 L8 r& l
smtp是發生的外部smtp服務器的地址
- Q( n- x; K( }3 W5 ]+ D G
smtp-auth-user是外部smtp服務器認證的用戶名
8 b3 D8 i8 z' J7 H" F( Y y- o. L, d* x
smtp-auth-password是外部smtp服務器認證的用戶密碼
- ]- ^! E* h4 F! S- A# Q \
smtp-auth是郵件認證的方式
5 w1 C# j) j9 m s
配置成功後,就可以使用了,可以發送一封郵件測試一下:
; Q( c& B9 V( N: I! u- N$ K0 M$ j* M
# mail -s "test"
user@domain.com
< content.txt
* y2 X& v% I4 h7 R& o% c; N+ I
在linux下利用Google的SMTP來發郵件
]3 q2 U$ y" `+ G
+ A: |; t7 @$ A0 C2 ~
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
! D6 i: S, ^' t7 O! e
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
! c6 M4 z2 k$ o9 ]
- h+ S A, ~9 h$ z4 Y0 x/ G9 u
6 k! T$ z4 w+ [4 y$ P J, H
4 _1 T& i% ?' D- V& B. K3 I0 J% n
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
. M. p! v, Z" [, [
1.安装mail
, j4 }+ E/ ^3 n8 g9 e
yum install mailx -y
' G) [ v3 Z n, O( G
& d1 M6 S# ~3 m- b0 R
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
. r. w$ U o: t9 T: @/ s5 m9 Z$ M4 M
W2 ?) `- K( j3 S0 `5 U
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
% t: |1 \, y* _: R
set from=demo@qq.com
2 z' M6 T0 d3 g+ K
set smtp=smtp.qq.com
* w& N' J2 T9 S! ~- L2 t- Z
set smtp-auth-user=demo
% u; S/ ~# L4 Q' f( i
set smtp-auth-password=demopass
7 ]! \( G8 I) K. F; m
set smtp-auth=login
- R9 ?; [# u9 ], ?5 y7 w
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
3 f$ I- p G' T
; e- J% r2 Y0 u: Q8 V% f1 L
4.利用Google的SMTP發送郵件
* L$ s1 l4 h, c' v, ]$ A0 @* Y3 g
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
' X# f' E' B# f' t9 [; K7 [
编輯/etc/mail.rc,加入以下内容
0 F, p$ {8 j% g( g
set ssl-verify=ignore
5 ?, X4 k& t$ h. R* Y' L# U: l. ?
set nss-config-dir=~/.mozilla_nss_shared_db
2 z# J% Z* W* R9 t
set from="myaccount@gmail.com(myname)"
, O$ h# D( [3 }( k) [
set smtp=smtps://smtp.gmail.com:465
5 `# l3 |6 W9 g( ]# b
set smtp-auth=login
! \: `* ?% T: l/ C e
set smtp-auth-user=myaccount
$ M+ g$ r4 B8 {2 d# w) I
set smtp-auth-password=mysecret
6 F5 D; R- f( a, f
" T j. c$ R" v: _. ~4 i
如果想添加多個帳號,那就這樣寫配置文件
* m. R1 T, _& C
account starttls {
6 u1 ^ O$ @/ d n; G
set smtp-use-starttls
' i2 W% Q, W; `/ ?2 ?
set ssl-verify=ignore
6 z( ]8 m7 \% f7 U
set nss-config-dir=~/.mozilla_nss_shared_db
+ @4 v, F" Q: A: x
set from="myaccount@my.smtp.host(myname)"
! \6 _+ j! ]! x- k/ q# e
set smtp=smtp://my.smtp.host:25
2 l8 H# w* P" C- M/ g/ Q( }2 G
set smtp-auth=login
) ~$ t3 @) I. P) O2 {9 I" D6 {
set smtp-auth-user=myaccount
1 z1 i& \( Z4 [% |, ?
set smtp-auth-password=mysecret
# w0 ^3 @: x! u* F2 ^+ d: ^: ~
}
& p7 K0 U( R) t6 L$ j8 `) i
account gmail {
* u! q2 o( F- k6 K
set ssl-verify=ignore
) [. j& w5 ~0 N& E. R# ^: [
set nss-config-dir=~/.mozilla_nss_shared_db
( V' i1 k4 k. {$ i0 N; H Z5 T
set from="myaccount@gmail.com(myname)"
4 e: m4 c( p6 K6 k4 |
set smtp=smtps://smtp.gmail.com:465
& w" f3 D {8 V0 A& N# ?' z4 s
set smtp-auth=login
6 Z: J @. Q$ P1 H7 X
set smtp-auth-user=myaccount
8 b9 O8 g1 p& M. j, p. d( u/ W; s
set smtp-auth-password=mysecret
& y. _+ t# n8 W4 b; m8 Q
}
( m3 _! f9 k* b
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
) z+ V# L& M' |% |$ y+ H7 f
但經我測試好像沒作用
- \& X1 _* r- W8 Y
讀信:
#mail
6 T; t" ~) y3 V! i4 @+ O. w) H
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
% j& Y- O* H; d6 I. G; Q( @' h
#> /var/spool/mail/root
5 ]& ?: ^1 f# o8 Y. o& b6 }
在執行 mail 就可正常讀信了
2 m, U. @! _0 a% {" m1 i7 C- t
4 D, o$ P5 x9 y% l
+ b; Y! t/ r Z6 k0 D T
請參考:
% l) v: r+ M* i3 U; w p( s! B6 `6 p: J
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
" r& \! X$ ?0 t. q! ] `
: K) @3 m+ M9 M" y
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2