本帖最後由 IT_man 於 2016-4-15 18:36 編輯 + L" r' A6 e/ d
) \5 N9 }* W" M. E( L$ {) m
/ s6 b! N# y5 D6 {# cat /etc/redhat-release) U# V$ {! j% g9 H5 ]6 F
CentOS release 6.5 (Final)
2 E y9 d9 Y/ T: o1 n z
% u" d5 Y) b% j+ Z' F- W7 L! }) }! }2 s
查詢是否已安裝" c2 ^# |+ e( }0 r* X' K
# rpm -qa | grep sendmail- @" w+ I" ~/ _2 X u3 W7 S
# rpm -qa | grep m4! M( @$ L9 q# @! R9 l
6 `( L8 Y! i$ F1 Y& r
安裝
2 d: D/ k# _) y0 d% x5 V1 U# yum install sendmail sendmail-cf m4- @* @- }! c6 Y& ]
0 F, T* b' W( b& T0 `' _. d
設定主機名稱
- _" v/ L1 p" Q9 s4 K. g#vi /etc/mail/local-host-names
, @3 [) A" K ]8 r% D3 d, T: j加入2 D2 I& b) K: _9 b
www.52av.tv
5 \' @" D$ ^1 P$ B1 V6 `1 l: b$ m, swww.av4u.info
; g) P3 ~4 o& f0 z# H8 }. A
$ V' G! }: b$ q0 R+ T修改設定檔
0 O. w6 L, e ]$ ^% Y5 w先備份再修改
1 f {% z2 _6 ?3 o/ i# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.default
' V( b* C- O7 Q- I. H# f6 w" X9 j! V# vi /etc/mail/sendmail.mc
( `( n+ o5 Z% ~6 F. _8 V將下行的 127.0.0.1 改成 0.0.0.0
; ^) u. e g" }, R2 PDAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl d, H' j" f5 g
5 D# c/ m w% R% I2 e. H備份設定檔
2 C+ j1 N2 Y8 r4 ^0 Z$ ?#cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.default$ {4 Q% {. ?* B/ u; ~/ i, ^+ }% R: N0 o
0 R' l; w; r/ y, x
轉換設定檔
( b$ x5 b$ U( P v8 e4 s#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
A) I) S' J+ D. L# _5 |4 V- S6 @4 [
設定 Relay
8 c* b9 k5 c. A" T% M# vi /etc/mail/access
6 L& E5 V" u; g加一行4 R& [6 l8 \: C2 w, E) F* P5 ~
Connect:www.52av.tv RELAY
/ r5 r8 n2 L6 H' |) z6 N/ o& B& q4 j
製作出 hash 格式的資料庫
: f, ]4 ]" S4 e7 J# cd /etc/mail" `, W" @6 I$ B2 i& n- }# ^
# makemap hash access < access9 T5 B0 B( l5 S
6 H; @+ y% @4 p8 B3 z9 a
啟動服務
" Z# s8 C2 [& T0 hservice sendmail start
9 i3 d+ h+ {8 m; e6 b$ l+ L' F1 @1 J7 Z! y7 Q% M
設定開機就啟動
& T) [4 O. N$ \9 ^; x8 Gchkconfig sendmail on
- h: h$ t3 F, _& D- f' X, S
! k5 d/ j; V; Q9 D" ]su 成其他使用者測試時+ \) m2 ^; S; J7 Z( O: i' Y! j
出現錯誤訊息
* Z; I- b, a" p6 h' v1 j% ~" Y* X/var/spool/mail/root: 拒絕不符權限的操作
# q6 o6 g0 F6 O( _* C原因
: K+ t! C- u7 R1 a9 \要用 su - 使用者! D. m1 f5 R3 b$ g4 `# Z% }
不可用 su 使用者
5 F/ r1 S+ O- F
( ^: _' f( n O9 h, i' d* E使用 telnet 測試出現錯誤訊息(假如無telnet client,則可以 yum install telnet 在CentOS下安裝telnet client)5 i4 ]" y% F% t! E. `
telnet www.52av.tv 25$ |- a+ a E% ^& L
正連線到 www.52av.tv ....無法開啟連接到主機的連線: 連線失敗
/ p$ C, Y' s" P# [; n5 e本來以為是本機防火牆擋住了
" K& L: g f9 C/ Q7 g4 T W關掉防火牆後仍無法連線5 N( A5 z, R+ r( s
將下行的 IP 改成 主機 IP4 P( R2 V7 S6 r" x6 o
DAEMON_OPTIONS(`Port=smtp,Addr=XXX.XXX.XXX.XXX, Name=MTA')dnl& z8 r) Y0 e+ q
重新轉換設定檔
( e6 p! Q! T5 y) b#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
! l. ^9 b/ L* o重新啟動服務
9 N- [( ^7 I2 F, I6 `1 S; ~service sendmail restart) e: o7 C$ A4 B( V
, t: P! m: `9 P# {. x" D! Btelnet 測試成功
1 S& H- N+ ~5 A% kHELO yourname -通知 SMTP Server 你是誰(在linux mail server上有帳號)% }6 Y3 u" C! N
MAIL FROM: [email protected] -寄件者電郵地址
) U. _8 s( i- Q) @- c/ DRCPT TO: [email protected] -收件者電郵地址# n0 @$ v) d* a" a+ N( Q9 I
DATA -以上步驟通過後,可以用 DATA 開頭並輸入信件內容,結束時用 “.”
- G I& r, g G3 ~0 F" Y+ y0 nQUIT -離開用 QUIT 結束2 {+ V3 D' A k8 A" }
3 n- O5 ?: u! A# V& \, D! g2 e Z; C
sendmail發郵件報錯的解决辦法- U. C0 J0 C, D" X& t3 [" y
- b* L: a# x2 w' m. a4 T3 Werror: Real domain name required for sender address。' \) {* b/ j9 {/ S( w
是hostname配置的問題,修改hostname即可。
, ~3 m, O! U6 g( Y# k; A( l- 1、hostname av4u.info 【立即生效】0 \, ~$ M, n5 A7 `$ V/ e
- 2、vi /etc/sysconfig/network 【重啟後會讀這個文件】
$ i& S4 n$ e, C. I( ? - 添加或修改:HOSTNAME=av4u.info
7 D( I! _, X V. M+ U$ O1 g - 3、vi /etc/hosts 【跟各個應用有關系,一定得改】
. t, F( \. N$ r7 S2 n6 ` - 在127.0.0.1後面添加主機名av4u.info
複製代碼
9 H$ f/ I; W, ]0 J- q7 c& Y' Uerror: Relaying denied. IP name lookup failed
( \/ k3 m, o' B# L t @解决:. J9 O$ ?) l' U( C+ ~
修改access文件,將本機ip加入後,問題解决!6 |5 P3 j0 ]6 v. Q% H
具體方法:
. W1 l& r0 \) Y/ ^9 G! i, t- /etc/mail/access! V/ R! _* e5 z6 G" u2 r
- 加入8 e+ O" \1 L- i6 b3 v
- xxx.xxx.xxx.xxx RELAY
複製代碼
; X/ {' N5 D5 L/ s, A* yP.S 在我的主機以mail 指令測試收發信件都ok
/ Q# l a- ]4 ]. o參考:http://pejslin.blogspot.tw/2014/04/centos-sendmail.html
" [, m: o w( J0 I- d# P
% v: f2 I8 }4 x1 i- w4 J. O7 G' {" k0 P5 H/ p7 U
|
|