tid=24709& 本帖最後由 IT_man 於 2016-4-15 18:36 編輯
! t- [, R7 P0 j, E1 Y5 V$ u9 b3 q5 p+ b. Q+ O/ K4 r# n
# Y' z8 |. E9 O+ [+ j
# cat /etc/redhat-release
6 O3 K/ d- o% BCentOS release 6.5 (Final)
. `( O' k# A. K7 b8 y9 [/ E5 u
% q$ x3 n% N& G5 i; ~
( V% r6 r: H( r- F查詢是否已安裝
+ [: Z! e* b3 F+ G. d# rpm -qa | grep sendmail
5 R) H" k0 b/ a/ N8 m! g# rpm -qa | grep m45 I) p. V, p- e( G+ {7 L
. b) d0 S. L$ b
安裝
5 `# V' } L- l( k1 p3 K# yum install sendmail sendmail-cf m4
! R. e% u# C3 {* u. [% P: C/ {8 Z
$ c) ~ j$ z- G設定主機名稱% L- D* C; F+ p, b$ h
#vi /etc/mail/local-host-names* C, j9 |# v* ~
加入5 v& s# N* x" Q; D# X
www.52av.tv
0 y( x1 L0 Z4 O7 ~ c' s- [www.av4u.info3 k! |9 V1 w5 F0 j
5 c( _; f i B
修改設定檔
5 e0 }% ?: d3 K3 U* R. a( \3 o Q先備份再修改7 }2 ~4 |" C+ E+ {, F) i
# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.default7 t! Z/ r" Y( l* X
# vi /etc/mail/sendmail.mc: u9 O x) V8 C5 O& C3 M
將下行的 127.0.0.1 改成 0.0.0.04 I& c9 o+ a- j, V( }* g. n
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl0 V/ ~2 V. Q5 O' t
$ A# M" ~0 x# v. P1 c. p- U備份設定檔( M- H Y- p6 w2 |/ H5 i# r
#cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.default' |0 H1 T: q# C$ F
" O# X' s0 u5 V e( D
轉換設定檔 u- m% M9 m2 A1 v8 k% r
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf& U( K3 L. D+ z% k
; l8 T, K q! R+ } b0 @
設定 Relay
( Z5 A& x- ~8 [: H2 ?1 O2 g3 Q) Y# vi /etc/mail/access
& o% C; d9 i$ [) c) V加一行6 ?3 D1 D; V: ]6 I, i: z s
Connect:www.52av.tv RELAY* ^2 T& T/ H: q+ ~8 q
+ b. _# G1 A9 ]( H; r6 t! C
製作出 hash 格式的資料庫 Z' \6 P9 N4 k6 E
# cd /etc/mail5 I3 y3 Y# W' I0 l: [( L6 s
# makemap hash access < access3 S& a: l+ M4 w: y& a, `
$ \* Y" Q' Q5 I6 A! J啟動服務
# M7 ^# r2 X2 @6 r. ^) X' i5 iservice sendmail start: E! O7 n8 }9 C1 Q, e0 s% K
$ z. u0 ?! F2 q0 c8 |" f設定開機就啟動
' g2 J; Q7 n; ~& n0 l; i9 G) [chkconfig sendmail on9 M, D/ m& i* s9 P& n
$ s2 y) ?! S( h; F6 w
su 成其他使用者測試時
# A" k' C! F, x2 y3 U, _* y( [出現錯誤訊息7 W! C6 z- ^. D5 a' T
/var/spool/mail/root: 拒絕不符權限的操作& D0 G% _. K7 j2 Z
原因) \3 z1 N6 i. P p* E3 l. h
要用 su - 使用者
8 Q5 A. b6 K" f) g不可用 su 使用者8 g' l0 u7 c* b0 }: L$ b
8 w8 L8 e0 X1 k, k使用 telnet 測試出現錯誤訊息(假如無telnet client,則可以 yum install telnet 在CentOS下安裝telnet client)0 S6 j' O5 d; h$ g8 p" N8 o# @
telnet www.52av.tv 256 i8 b- K1 \% r; i0 `& p- G
正連線到 www.52av.tv ....無法開啟連接到主機的連線: 連線失敗
" T8 V$ x' }( ^& {' ~2 J7 p本來以為是本機防火牆擋住了
) s4 K; ^# |# \! G關掉防火牆後仍無法連線) U5 F# Y6 Q/ y8 |5 H
將下行的 IP 改成 主機 IP
5 E, u6 [: `5 c; VDAEMON_OPTIONS(`Port=smtp,Addr=XXX.XXX.XXX.XXX, Name=MTA')dnl' i( B- i4 \2 C' z) D3 G5 ]8 z* {
重新轉換設定檔
( c. s! ?- l, I1 n7 {2 C#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf' z. z! t7 D" T4 L8 R! Z& a7 }3 B
重新啟動服務
5 K) c% M+ p/ @) y4 Sservice sendmail restart
6 @1 N: A6 Y* H6 u
/ Z* x- z* v, u+ z, b5 `telnet 測試成功
[+ q! P# C# \/ ?4 ^3 yHELO yourname -通知 SMTP Server 你是誰(在linux mail server上有帳號)! _, v( K& r) r( J3 q* x: K
MAIL FROM: email@server.com -寄件者電郵地址
. T. _" e& ~1 j0 S% k+ u% t" GRCPT TO: email@smtpserver.com -收件者電郵地址% R1 j: o$ q3 b0 ]
DATA -以上步驟通過後,可以用 DATA 開頭並輸入信件內容,結束時用 “.”
& q# p0 f3 E" M/ v8 XQUIT -離開用 QUIT 結束8 v& O2 J; B! R- D2 f* a* t
/ V! m1 t; d ~sendmail發郵件報錯的解决辦法+ z% e. m* V# o1 K9 W
+ l; L7 v+ t, ^# y9 q c
error: Real domain name required for sender address。
( e+ t$ |3 e. S是hostname配置的問題,修改hostname即可。8 z) i& A. e/ n* y0 P. P5 y$ s% @& W
- 1、hostname av4u.info 【立即生效】
# |* F! Q' d+ l. X; z5 {/ Y9 } - 2、vi /etc/sysconfig/network 【重啟後會讀這個文件】
& O2 |: S: u+ Z. C - 添加或修改:HOSTNAME=av4u.info: X+ S' I' X T& ` s' }' `: l \; z
- 3、vi /etc/hosts 【跟各個應用有關系,一定得改】- f8 g t7 n8 L! h5 X% Y+ ~/ d
- 在127.0.0.1後面添加主機名av4u.info
複製代碼 * d- F; @$ x3 I! {9 [
error: Relaying denied. IP name lookup failed
1 b: F8 I: {) P! N" r) T4 L解决:
5 G I* C+ y5 J# U0 Y修改access文件,將本機ip加入後,問題解决!9 K+ B3 x' D9 W* O# r; v
具體方法:
, L/ G3 L; c9 H0 l# j- /etc/mail/access1 c; u4 W' n ]1 v* \( S% z8 O2 M9 V
- 加入
9 D$ a. o3 P x0 U2 n - xxx.xxx.xxx.xxx RELAY
複製代碼 ! P# L: K% L3 U6 m- e" Y
P.S 在我的主機以mail 指令測試收發信件都ok
+ K$ f m& H' M6 l" S參考:http://pejslin.blogspot.tw/2014/04/centos-sendmail.html
, L" I+ P3 f0 Y
8 M( e' M5 D# A; |" H
8 K3 G5 J/ Y; d9 @- O# u$ @ |