tid=24709& 本帖最後由 IT_man 於 2016-4-15 18:36 編輯 6 |& b$ j; o$ i% G! k* @9 [5 N: o
. T8 P* E5 D: A' ~, y* S5 p
4 Q% h; x" M4 q8 D7 f
# cat /etc/redhat-release6 E$ Y3 K! c9 B7 |7 r
CentOS release 6.5 (Final)
4 ^/ P0 j8 A0 }6 N' E
( B$ Z7 w& e. l# [" E" `, r, I2 W( [
查詢是否已安裝5 V6 e9 Q( U: d9 _. z, i: F+ K
# rpm -qa | grep sendmail: \! D8 W5 H7 g- I4 F
# rpm -qa | grep m42 ~: p1 k, G5 c# }/ J0 |. A
5 C* ?& I; s4 t* M% G1 i. h/ S: C安裝/ b- E4 h- F- C/ g' i; u
# yum install sendmail sendmail-cf m4" v1 B' ~1 n: X; H
% j0 G0 p2 Y) [6 d" }+ P+ U設定主機名稱
; t# L5 r$ Z# U* E3 D4 r; x#vi /etc/mail/local-host-names& n' l$ P/ H) y6 B; y' v6 y
加入
" S9 H. n2 ]" g! C# kwww.52av.tv
R" W1 p _/ T6 x7 \* n% R5 _www.av4u.info
0 Z- ^- q! k! ^$ P
- j$ d# U: h$ A$ a4 x n修改設定檔$ a/ \& |* F- z& R# @! M
先備份再修改+ c5 ?8 ? U) z0 Q
# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.default
# X$ I6 `! ~7 D* Z( Z; n# vi /etc/mail/sendmail.mc b( i+ \3 o6 E6 q8 @. y9 X
將下行的 127.0.0.1 改成 0.0.0.0
9 a7 P1 x. [- W. J, n$ q8 S2 [: D* [DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl) o& |# z' f9 p G# C% m% Z( Z
: r" g% g6 ^" C4 C0 d備份設定檔
8 d: ?8 T5 P, \$ t2 w) ?: i+ j4 I( Z; l#cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.default
( M$ j; Q: u; t; s2 E0 s4 T7 k. e. v5 c! D
轉換設定檔
4 s' t) X# C3 f$ \( @#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
! J' `7 F O6 q1 L" ?
- A5 e- L3 I* _0 W& B- i設定 Relay
7 H; z: S" d) U3 r# vi /etc/mail/access! m- \& y1 f/ |1 D- _
加一行
7 Q$ f1 ^6 {( j! ~/ y! m, B6 BConnect:www.52av.tv RELAY
/ x4 i5 l9 g* X
$ N. o8 S7 b5 J製作出 hash 格式的資料庫6 `! [/ Z( H, s* [+ |; S) U9 ]) V# k$ h
# cd /etc/mail
$ Y% r' I' w" e2 q1 F# makemap hash access < access
( q b& d3 O# y( ^' M n6 U) Y% R X# u% i2 g3 q P
啟動服務5 l& b5 v3 H8 d( k) |
service sendmail start* D h# f/ |" ?
- E E' H' P# E5 z) k- n設定開機就啟動
. X ^' g$ z g9 O/ `3 I! |chkconfig sendmail on
; N0 v# a& u' J5 T* I0 Q# B( ^. {8 |
su 成其他使用者測試時9 q0 }3 j1 A+ B! {
出現錯誤訊息2 ]; L! c6 Y0 k3 X3 \# }+ f! u n9 `
/var/spool/mail/root: 拒絕不符權限的操作/ }- n7 _* N9 A L8 f4 | h8 E
原因
4 M" `' ^6 b1 a/ y4 G5 n+ w3 I, J要用 su - 使用者3 b- T9 D5 v+ c9 A; g
不可用 su 使用者+ Z B ]3 s: V7 r3 b
; @. ]& ^- T; y8 f使用 telnet 測試出現錯誤訊息(假如無telnet client,則可以 yum install telnet 在CentOS下安裝telnet client)! Z& @$ Z; K, q/ K* {" G
telnet www.52av.tv 25
+ Y3 m. \7 x: w- `& D正連線到 www.52av.tv ....無法開啟連接到主機的連線: 連線失敗
" M6 U" {4 U& t- E9 `, [' g# k本來以為是本機防火牆擋住了; n/ d) j9 s4 n% e* U+ ], T+ b
關掉防火牆後仍無法連線5 H, Z: o6 }0 `- ~
將下行的 IP 改成 主機 IP
, Y" V' b8 Y) W9 XDAEMON_OPTIONS(`Port=smtp,Addr=XXX.XXX.XXX.XXX, Name=MTA')dnl
! H1 M; M& i5 |2 O重新轉換設定檔
6 z; R' |2 }+ L' x1 i+ q( J#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf; ^5 J0 @! u3 z$ ^/ ^. |
重新啟動服務) w! M: _' s; ~; _( j2 C, |7 Q# |' v
service sendmail restart) o$ J$ ^0 _' X9 P/ y0 E
) ?9 c+ ?" ]! i4 Atelnet 測試成功( D1 c* z- P2 K
HELO yourname -通知 SMTP Server 你是誰(在linux mail server上有帳號)
5 `1 \, E q M rMAIL FROM: email@server.com -寄件者電郵地址
6 d' ?( x D) U- C- R% Z" zRCPT TO: email@smtpserver.com -收件者電郵地址) Z9 t0 ~! `6 }* t+ i) ]. I
DATA -以上步驟通過後,可以用 DATA 開頭並輸入信件內容,結束時用 “.”, p6 u& F$ Z- d8 D! U
QUIT -離開用 QUIT 結束$ Y6 M6 a q+ R* u: ]3 m6 G' }
& n0 {; k" ]9 j r; J
sendmail發郵件報錯的解决辦法
" q2 l9 W9 _0 a# j2 V2 K/ Y9 R; D [- a2 H0 t0 w! |, e
error: Real domain name required for sender address。( {! j# R# T7 I f( Q8 m' L
是hostname配置的問題,修改hostname即可。/ j" C8 S) @7 a8 _* J
- 1、hostname av4u.info 【立即生效】
- M; m& \( Z9 B6 B - 2、vi /etc/sysconfig/network 【重啟後會讀這個文件】+ `) C- E1 ~: D' [2 r( F! q
- 添加或修改:HOSTNAME=av4u.info
& U7 T# n# m" R! z3 p& e: V. N - 3、vi /etc/hosts 【跟各個應用有關系,一定得改】' r% u- @/ w% X- g
- 在127.0.0.1後面添加主機名av4u.info
複製代碼
2 l: P' J7 {: Zerror: Relaying denied. IP name lookup failed1 a J& Q+ _# H" A
解决:5 w" ?/ w! |) c) ]" x% D6 t( q3 r
修改access文件,將本機ip加入後,問題解决!3 W' d6 j4 V- H7 {: p% q& n
具體方法:
' g, J% g* f/ n, U' J5 @0 W- /etc/mail/access
# e0 G! J$ N0 e: {$ e# O- @ - 加入7 t6 O' D7 n" }
- xxx.xxx.xxx.xxx RELAY
複製代碼
- g/ c! J- `) [( g) aP.S 在我的主機以mail 指令測試收發信件都ok1 V& Y0 A) O0 X4 v: i% K
參考:http://pejslin.blogspot.tw/2014/04/centos-sendmail.html
6 B$ }- E9 ~' ?6 S# \7 a9 I, U. ?5 T6 n$ ^3 x4 ?2 h: a
! F1 n7 i9 w3 R( x z1 ^ |