tid=24709& 本帖最後由 IT_man 於 2016-4-15 18:36 編輯
3 h! t3 |- Z- y, s) r; Q( X
0 U3 h1 ^/ F1 ~. A9 }% T* \* D, x+ G/ l0 V$ q+ D
# cat /etc/redhat-release8 O/ s" G- b) N+ }- m. N
CentOS release 6.5 (Final)
' T3 `3 n' C6 O7 z% v: s2 P# m
0 \ q0 Z1 g7 j- k! m. w2 m9 E) t o! X! B
查詢是否已安裝# g6 v% i0 G# {0 M
# rpm -qa | grep sendmail
7 |' c/ s- h, i# rpm -qa | grep m4( S( {; c6 i$ G+ O
: c+ V7 l: {2 r/ B6 ?5 b; G
安裝
; C# g9 v. h1 y; Q# z# yum install sendmail sendmail-cf m4
0 \- J& ^1 w/ d o( p+ T+ |7 i j) l1 ?4 ~' ?
設定主機名稱' F' t0 I+ [, y- |* _! w
#vi /etc/mail/local-host-names
" l3 k% R X& l' ?1 j加入* C, w2 K; u, ]$ U5 D8 r- V# E- u6 X
www.52av.tv. M* S$ B- F) e! p! T+ X* ]. U7 Q
www.av4u.info7 }8 O' m6 P! q! b
! z l; Y! A4 m S修改設定檔. r' Y, y3 F2 _' Z
先備份再修改9 h: D8 W0 q: h
# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.default
8 c3 ]+ F: [9 z# vi /etc/mail/sendmail.mc
' z9 d2 a2 V3 t) {! c將下行的 127.0.0.1 改成 0.0.0.0' l( r% j4 x" {# T; G
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl n0 j# X1 X& ^
& O- g c; I' U/ j7 A L備份設定檔
2 s/ D% x- O$ C1 P#cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.default
2 o4 `0 H: y! Z. h1 M* G6 U+ c1 Q0 u$ {, i0 i
轉換設定檔$ |5 X2 e0 Y5 @; {& E/ i6 I
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf# ?, K* E/ G) B6 C' @
/ A! h: Y& w* n' H& O設定 Relay
4 c1 {/ O8 D4 W7 x) Q( a# vi /etc/mail/access
2 S4 r0 B& W% |; ?( [; q$ d4 I6 p加一行
% E8 i R, |) n g) y7 c6 `- c! aConnect:www.52av.tv RELAY
4 W+ Z0 D- L& P; _, e. b/ ]$ v7 P7 e' }6 U9 a& g$ l+ Q8 L
製作出 hash 格式的資料庫9 X' _5 E% s! ]$ v, P
# cd /etc/mail
# Y4 x- l7 q- E- @! I/ Z# makemap hash access < access
) R' [* M% J+ H3 E- ^. c6 m/ N2 f! x
啟動服務% q) I% r( k& }2 ^* Z* N
service sendmail start; b$ r3 J$ G6 ^' D6 [! v
1 q9 X* e2 i1 O0 @* S設定開機就啟動+ m' z% v. i6 }+ ^% R
chkconfig sendmail on
" j2 x4 ?* H; [4 [% p) R9 ~# R$ ~* C' A2 c- C- I# y
su 成其他使用者測試時2 Q p/ S( I' o" T& e: X" j$ Z
出現錯誤訊息
9 q+ v7 y- `4 M" [- z: f& ?4 M& u/var/spool/mail/root: 拒絕不符權限的操作
7 F# \+ Y4 ~. G( }0 m: X* i6 e2 l原因
8 N8 S* R: S5 o% [要用 su - 使用者
! n, a8 j% C7 Z7 Y" z不可用 su 使用者) J0 S1 R$ H5 [7 u/ y4 z5 v: I
8 @* ]9 F3 e5 K2 ?4 e8 [使用 telnet 測試出現錯誤訊息(假如無telnet client,則可以 yum install telnet 在CentOS下安裝telnet client)) N9 }4 c8 C: e! |/ C
telnet www.52av.tv 255 f6 j2 ]/ `' v/ b+ a! z& U7 ^
正連線到 www.52av.tv ....無法開啟連接到主機的連線: 連線失敗 ?, h6 c& V+ w$ {
本來以為是本機防火牆擋住了" x% ]# L8 Q5 @! ^1 ?/ _' b* L& X
關掉防火牆後仍無法連線
8 G( i {4 d# H將下行的 IP 改成 主機 IP) X* J) P. x) C& p
DAEMON_OPTIONS(`Port=smtp,Addr=XXX.XXX.XXX.XXX, Name=MTA')dnl3 f$ q' k8 a b+ c/ G% k, l: j, Y
重新轉換設定檔- L- e' F% @! [. x3 u7 S. I3 Z
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
" X7 q2 r& \. ]' n( @重新啟動服務' H! f# Q7 u0 p. B% k- i, [
service sendmail restart) ~& U" o) P( t' d/ y& F
" c' ~0 U) V, n& E8 [0 vtelnet 測試成功
3 V: l5 G, S* L& m8 [+ W" |0 f& QHELO yourname -通知 SMTP Server 你是誰(在linux mail server上有帳號)# l. X! Y) w. {( Y* F
MAIL FROM: email@server.com -寄件者電郵地址
1 J# ?2 G$ q0 J' ORCPT TO: email@smtpserver.com -收件者電郵地址8 m5 ~: j2 a. ?- S1 Q0 j
DATA -以上步驟通過後,可以用 DATA 開頭並輸入信件內容,結束時用 “.”
C3 ^5 _: \1 s0 N6 I$ p9 N% S3 OQUIT -離開用 QUIT 結束" J, W2 c/ ]9 s" r/ D, J0 f( R. N! j
2 V& D2 v% z7 S0 M
sendmail發郵件報錯的解决辦法
+ ?* h3 } ~: `) v0 M B9 n4 |# E6 d ]4 ^
error: Real domain name required for sender address。 l2 h) T: m! d6 K
是hostname配置的問題,修改hostname即可。* `( A% G2 k4 ?. \$ @: ^9 V8 G
- 1、hostname av4u.info 【立即生效】3 j+ Y% u; K- y; H" [
- 2、vi /etc/sysconfig/network 【重啟後會讀這個文件】
# V7 g6 l" X2 K - 添加或修改:HOSTNAME=av4u.info1 ?7 ^* U7 Z% n g& D+ y8 x4 c
- 3、vi /etc/hosts 【跟各個應用有關系,一定得改】
( }# M% C- i' T. b6 | - 在127.0.0.1後面添加主機名av4u.info
複製代碼
* K, A6 V3 a8 d* r$ a$ Eerror: Relaying denied. IP name lookup failed
/ o' j2 b4 T) u8 c# R解决:% G3 S* r- j' I! A4 ^: O
修改access文件,將本機ip加入後,問題解决!
9 @8 ?$ S& E* J$ s \- u具體方法:& a }9 W# a1 h I/ ~8 y: |# N
- /etc/mail/access
9 v6 t+ o" ?: F& P - 加入# u/ x/ ^* k" H! N9 B
- xxx.xxx.xxx.xxx RELAY
複製代碼
6 z, v# ^/ j, D: M3 {$ NP.S 在我的主機以mail 指令測試收發信件都ok
2 M7 V. \) T$ L* i參考:http://pejslin.blogspot.tw/2014/04/centos-sendmail.html
0 t* ]! I) ?4 Z+ Y
( \/ S, C4 o. s; \; a5 p
6 J$ w3 C6 n, s) k |