本帖最後由 IT_man 於 2016-4-15 18:36 編輯 9 y2 \& E& @, q3 a) P
" _' n) W% P) ^5 E
+ W( s0 X. q. F2 V0 \4 m# cat /etc/redhat-release/ c! ~' u; F" I, E, X- w
CentOS release 6.5 (Final)3 Z# P& ~) Q0 S/ [# P0 o0 r) M7 m
* V k0 z$ u2 A
4 N2 I( J9 ]# W' z查詢是否已安裝% g) d0 @% M: Q) y1 V7 d, G/ d
# rpm -qa | grep sendmail1 A, ~/ K. i4 g) r( K8 i
# rpm -qa | grep m4
) D3 H; b8 Q3 M9 R& R1 {. K
3 y4 L$ J# B9 i安裝
8 |& E' n& C, `# yum install sendmail sendmail-cf m4
( x' `" L% J x* e; q
% z, S1 p9 q! Q9 O4 e設定主機名稱, o8 W* L4 g" W( o% Q1 P
#vi /etc/mail/local-host-names% R; }3 E$ X6 D) l3 k
加入0 n) H, m2 ~( r+ x5 n! p
www.52av.tv- u2 q) ~( C5 ?' F) d* G" M8 j* L
www.av4u.info
3 T4 ~# L" G0 E0 i. O+ U4 n" A( @5 c
修改設定檔
# ]. r& Q; @ X& z+ {先備份再修改
1 S( a, C# ?" }- H9 I# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.default
; X% x! q+ y2 a F# vi /etc/mail/sendmail.mc+ h( D, C# k9 M- f' F1 \
將下行的 127.0.0.1 改成 0.0.0.0
! }2 @# z. ^" r) }, bDAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl; `. M/ g2 }/ S
* {; ^. G9 G0 e備份設定檔- A+ f& x# O& E0 E1 B
#cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.default. o, |( w# o: |# x3 N
4 M" x$ H$ P5 S, q k+ y
轉換設定檔
# A, f3 y+ k6 E$ @#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
, ?! f* C4 g p6 t
2 e' M/ g/ l& ]* Z! l2 R設定 Relay
, q9 c) E4 d( z) V+ y7 X# vi /etc/mail/access- F9 T% n: k+ D6 R1 p0 I
加一行, y6 G/ {' g; q8 Y% n& i- N
Connect:www.52av.tv RELAY6 Z b& D! v8 ?: O; T
. Z f& ?6 A: l6 A% N7 @# T; x
製作出 hash 格式的資料庫# L" f5 U3 U) R; ^' s& C
# cd /etc/mail$ W2 M0 D. e1 H) j
# makemap hash access < access n' _; a4 ^" F% g& w/ Y
0 }) I2 G) I$ O' i2 h n2 j' q
啟動服務
, H9 M2 o/ N& X9 {' jservice sendmail start! {/ H/ |( z! V+ o+ R
6 Y9 z# @% v! |1 d# X
設定開機就啟動
% {* c9 R H/ } ^& {chkconfig sendmail on- D3 x3 G9 l, K7 s2 h& r5 _
( d4 f# e# U* msu 成其他使用者測試時* A, I' G+ T* r& R
出現錯誤訊息
! ~9 G- s V: V3 L5 D% n/var/spool/mail/root: 拒絕不符權限的操作
6 b" I5 _3 z- v% B原因
" D$ p8 G5 I- h8 I要用 su - 使用者
" G4 W" M3 Z: F# u& B3 c* d: l不可用 su 使用者$ C: x; e) R$ `* W
. M$ W: @9 J N3 @* k6 T7 V) H
使用 telnet 測試出現錯誤訊息(假如無telnet client,則可以 yum install telnet 在CentOS下安裝telnet client)
) [2 q4 j0 f; Jtelnet www.52av.tv 259 R& |) E& R& S6 `$ A+ m
正連線到 www.52av.tv ....無法開啟連接到主機的連線: 連線失敗) p/ K, r* G! u4 J0 L& U; n8 Z
本來以為是本機防火牆擋住了
3 L' Q3 ?( m7 U: _關掉防火牆後仍無法連線& p, R$ N0 m5 X) |
將下行的 IP 改成 主機 IP
; _8 E* K$ b" W9 a/ GDAEMON_OPTIONS(`Port=smtp,Addr=XXX.XXX.XXX.XXX, Name=MTA')dnl
+ i) [1 f \/ k重新轉換設定檔; v9 [& `3 ]! e4 f- l$ q
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
. x* x9 {- ^# ]* |4 }重新啟動服務
+ L m |! D# A8 K9 p; u. H7 ]service sendmail restart: u% d, a& v! D- O
" H- D2 E2 `( i$ g" n0 B
telnet 測試成功+ G: P' G% q- d, C# O% |1 }0 d
HELO yourname -通知 SMTP Server 你是誰(在linux mail server上有帳號)
* ^" |3 A0 X# a* {( v: m0 q" i# MMAIL FROM: [email protected] -寄件者電郵地址
) R+ T5 x5 r% ?% a% zRCPT TO: [email protected] -收件者電郵地址
8 [% t7 i+ U* i3 G# DDATA -以上步驟通過後,可以用 DATA 開頭並輸入信件內容,結束時用 “.”2 |- p5 c( B( T) z6 i S5 u
QUIT -離開用 QUIT 結束
7 r3 m# ]% b ^3 J* |( e" [( i5 P) N7 u3 q H: p
sendmail發郵件報錯的解决辦法. N E" p1 b4 A6 w5 n
$ M0 e' q3 g5 g- C+ z
error: Real domain name required for sender address。
' c; ?% J! e! v0 y) P是hostname配置的問題,修改hostname即可。8 ?6 s' D4 j' S8 k' v$ m: Q
- 1、hostname av4u.info 【立即生效】$ T# M' M7 y7 l: J! t
- 2、vi /etc/sysconfig/network 【重啟後會讀這個文件】
* w( d0 g" {8 l9 ]1 M. ^ - 添加或修改:HOSTNAME=av4u.info2 h q6 w+ U% ^- n' k
- 3、vi /etc/hosts 【跟各個應用有關系,一定得改】
' ^$ @6 ~( c9 H& s* Q - 在127.0.0.1後面添加主機名av4u.info
複製代碼 ( Y8 V+ I7 }$ L. }# f* O) T
error: Relaying denied. IP name lookup failed
2 N% w7 x+ ^! d8 N解决:3 J( U& O5 |8 Z1 ]* [. U
修改access文件,將本機ip加入後,問題解决!( Y& o% n8 C! L5 Z- s
具體方法:/ r4 R4 p$ d4 |4 |
- /etc/mail/access5 w3 n5 ?/ q5 Z; H5 Z! F4 y/ Q+ G
- 加入! o$ Z( q- \6 @4 G
- xxx.xxx.xxx.xxx RELAY
複製代碼
( }# ?4 `* O8 [" O6 sP.S 在我的主機以mail 指令測試收發信件都ok
. h& ~5 p( a- \' u/ C' M+ h9 G參考:http://pejslin.blogspot.tw/2014/04/centos-sendmail.html
4 g( m" b; m" c8 W6 r' ]1 f$ U, y+ r/ I0 ?& h: j
i1 H) z5 V5 e- I/ d5 v4 D
|
|