52AV手機A片王|52AV.ONE
標題:
linux 下 mail 指令大全
[打印本頁]
作者:
IT_man
時間:
2016-4-15 17:22
標題:
linux 下 mail 指令大全
寄信:
. I! a7 m$ O: r8 |- B
參數說明:
: L: ~7 ~, S7 p& {+ ]
-s 設定這封信的主旨,當主旨內容留有空白字元時,需將其用引號包住。\\例 :-s “test mail”
6 r$ ^, ^: l9 A. Q
-a 想在信件中夾帶附加檔案,用這個參數就對了。
/ {: ~/ z0 K7 R9 K( `1 d
例 :-a ~/testfile
/ ~9 u/ T* h1 g+ H, u; _
-c 指定信件的副本。
" H( B a: B6 d/ a+ r* O" D
例 :-c barry,vivian
$ p, F3 e7 @$ I
-b 指定信件的密件副本 ( 將收件者的郵件地址隱藏 )。
9 N8 A6 k& ], O) h. t* K
例 :-b mary,
[email protected]
! u# ~) P' B4 ~
-q 以指定的檔案做為信件的起始內容。
+ n" N8 p: O9 \. T, S7 H
例: -q ~/mailfile
Y: ~) J( r" F
-r 設定 mail from 的郵件地址。
1 M# o1 _' D9 j
例:-r
[email protected]
/ F9 r8 c2 y) m% h9 |8 l& w* Q
-u 讀取使用者的 mailbox。
7 l6 F3 E# E2 x$ `8 [$ b- r. A( ?2 _% J
例 :-u barry
# [3 S; ^1 G6 j' i. j$ S
-f 讀取使用者的 mailbox。
* \ U! \& f) X: ^% W6 S
例 :-f /var/spool/mail/barry
2 a+ D4 d$ B; I8 q+ @3 f
: c" l( j% K' u/ @/ D
) {: c- f5 V- [5 ~ y
' h$ s' X( Q, _5 i& K" ^: ~) k0 u% y
將content.txt文件的內容寄出(非附件寄出)
0 V. J) [ u) W
# cat content.txt ||mail -s "mail test"
[email protected]
2 Y1 M& v6 i' W6 D: @
或者
6 E: x9 O0 C6 _) i6 J
- ?8 k: Z$ B# Z4 l! t/ f& P' ?
# mail -s "This is a test"
[email protected]
< content.txt
: A, E# k2 o! I
編輯模式寄出:
+ L$ o# U4 q1 k: S5 P4 W
# mail
[email protected]
$ F8 q1 x+ k( e1 T' u7 A
Subject: This is a test mail
: M0 c$ Y1 c5 Q% f1 g. L
There are writing area!
4 F) Y9 q* g# w( ?" v% Q" j9 E
You can't use the Up/Down button in this form...
, K% s1 h6 n" N/ F0 R
you can finish with "."
. s: d$ b6 z' A) [6 k
. <==這個『.』就是結束符號!要正常離開編輯畫面就是 . !
5 E1 y% |- u3 x! Y8 n$ s5 _
* A+ h% d% G: q5 v+ B% H% K; x
mail/mailx命令使用外部SMTP來發送郵件
- U1 S( L1 y/ n0 E
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:
% s4 r& \4 t) |3 x( e c6 V
修改/etc/mail.rc 加入底下設定:
# i% f4 T, Y5 v! i" @% h
set
[email protected]
smtp=domain.com
8 E: G9 K, x' X5 R3 V) |1 f
set smtp-auth-user=username smtp-auth-password=password
5 ]" V7 F- ^0 i. {9 E) S3 x" |
set smtp-auth=login
複製代碼
說明:
/ R, E: U, `. E/ D7 _3 S, Z0 I
from是發送的郵件地址
# w& I% ~3 Z N( q3 ?! W+ q9 g. S
smtp是發生的外部smtp服務器的地址
3 \/ A1 {2 t+ y) L2 F- }
smtp-auth-user是外部smtp服務器認證的用戶名
0 m8 E- I" R9 E$ m0 ^
smtp-auth-password是外部smtp服務器認證的用戶密碼
# u! P1 L6 E$ `( A" x
smtp-auth是郵件認證的方式
+ a* a2 `6 D/ M. S u% t
配置成功後,就可以使用了,可以發送一封郵件測試一下:
2 @4 ?/ t3 b# a/ R% Y+ `
# mail -s "test"
[email protected]
< content.txt
9 e) Y2 m& d* i ~1 V
在linux下利用Google的SMTP來發郵件
9 }* Z, R3 y! E6 I
) O& y" _' m2 j+ f
在维護伺服器的時候,經常需要建立一個伺服器錯誤抱錯系统,而郵件是一個很好的工具。
& ?1 b1 Q( r# Z) _
在linux下,一般是透過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回復,並且sendmail服務要求發送方是系统可試别用户,配置比較麻煩。下面是透過使用Google的SMTP伺服器來發送郵件,不但减輕負担,而且可以使用類似的公共郵件地址來作為發送方。
6 k& ^6 |# ^8 k* B* J* T7 ^3 k
7 g; X, I! ~) l
8 G( v7 I: d( l0 N$ J% A* y
" R6 j9 ^0 Z6 f, n+ E& g! M
下面所有步骤,全部基於CentOS 5.11,其他發行版本類似。
" [+ |4 d1 S2 e: ?/ K' [& O/ o
1.安装mail
" `9 I0 J5 {' }& b d+ d; t0 y
yum install mailx -y
( l. P- w# s1 [7 E
5 Z9 y3 p# c1 v3 B5 w
2.如果想直接使用sendmail來發送郵件,需要啟動sendmail服務,或者saslauthd服務
; B$ a# {( z. K: O9 \5 V; X
; J! v3 c1 |% j( \* Z
3.如果想利用外部SMTP來送郵件,需编輯/etc/mail.rc,加入以下内容
6 C I6 n5 i4 z" s8 q. W
set
[email protected]
" y, j7 e- A! {( ]: B9 w
set smtp=smtp.qq.com
. p a, J6 B* X q
set smtp-auth-user=demo
/ w' s6 `' G/ F& Q
set smtp-auth-password=demopass
; s D/ \& ~+ }% g* l' ?3 j
set smtp-auth=login
}2 V( n+ S/ a3 \5 P1 R
但是這個設置只適合那些支持非ssl鏈接的SMTP伺服器,但對於想Google,强制使用SSL加密鏈接的,需根據第4步配置mail
7 ]( J: J. T4 w; c+ |
/ J' ]* j9 e$ R! P" l# H3 n
4.利用Google的SMTP發送郵件
: u5 H7 x7 o2 D$ A2 _# O7 ]
在裝有 Firefox 的 Linux 主機, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
# M" ~5 R8 `" j* D5 M
编輯/etc/mail.rc,加入以下内容
4 w% g, v8 V9 V
set ssl-verify=ignore
# Z& d- a; ?5 J6 X* W; X$ b
set nss-config-dir=~/.mozilla_nss_shared_db
2 \ b2 Y% L4 T& A2 {
set from="
[email protected]
(myname)"
3 \; k" j% p l7 {6 }" t# ]. J
set smtp=smtps://smtp.gmail.com:465
' @" F+ m/ g( x' C- Z7 D& F; v- _
set smtp-auth=login
7 _/ x4 \6 D1 J1 e$ P2 F- r" |- C
set smtp-auth-user=myaccount
; b) R$ z+ r" h7 D
set smtp-auth-password=mysecret
. F7 _! P: B& ?
4 j: R/ v( n% ]2 k( I* w3 ~
如果想添加多個帳號,那就這樣寫配置文件
j8 r, Y9 B1 c" O! A% p
account starttls {
4 O) E" h! \4 e. |+ V
set smtp-use-starttls
/ H6 V5 { R& J6 {. H O+ T
set ssl-verify=ignore
0 \/ F8 G% q4 A* C
set nss-config-dir=~/.mozilla_nss_shared_db
3 F+ x( b/ E9 `8 K2 l1 k4 T/ q
set from="
[email protected]
(myname)"
8 G$ e* x* r2 i. h/ |8 W
set smtp=smtp://my.smtp.host:25
1 h) F. U/ |" _# Q. W. D5 k
set smtp-auth=login
/ a1 N6 c9 ^# C, {/ p; ~
set smtp-auth-user=myaccount
: Z& x/ {2 O" B% K# |/ n) C% O2 S! y2 j
set smtp-auth-password=mysecret
' e9 c1 ~4 t% W( R8 N( U
}
7 k1 K. \0 t/ E/ J
account gmail {
2 l" p/ ~: R7 Q* a. z
set ssl-verify=ignore
$ U: V1 e9 @' t0 D7 e; X9 f9 \
set nss-config-dir=~/.mozilla_nss_shared_db
' _9 a: {8 |/ D3 ]0 R
set from="
[email protected]
(myname)"
# `1 f2 G# q* _# d1 h" Q9 x, i
set smtp=smtps://smtp.gmail.com:465
) |- K9 d1 W# L, _6 Z
set smtp-auth=login
! M S+ D$ ]1 w0 x5 u
set smtp-auth-user=myaccount
# e8 p& P m- k6 l, h* m) X9 y
set smtp-auth-password=mysecret
4 T4 d2 v }6 A/ K. b$ j! V
}
( x& `8 r; K+ ?0 n, Y5 T) m
不過在發送郵件的時候,需要用-A参數指定發送帳號,比如-A gmail
4 d& }) j/ i6 X P
但經我測試好像沒作用
+ X' ?1 F0 {. ] a1 c
讀信:
#mail
2 d( w- h* N: m
假如讀信時空間已滿,可以查看 /var/spool/mail之下哪一個使用者檔案最大,例如 root(一般也是root最大),將它清空:
3 q, \3 f' y2 y- S
#> /var/spool/mail/root
' a: Z3 y/ U# n
在執行 mail 就可正常讀信了
( c7 G- _( a7 r7 F" y
4 Q+ T2 w1 X) T" O+ \. ]/ a |
5 X8 A% P( [9 }# A! }* |
請參考:
6 s* T0 b3 b" s
http://linux.vbird.org/linux_server/0380mail.php#mua_mail
+ G& }! B8 U5 ^$ h# d, F! F6 P
6 J' U' V8 `& N, f4 ]
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2