tid=24709& 本帖最後由 IT_man 於 2016-4-15 18:36 編輯 " |( u( d* D9 |) O% u& N4 D
y0 J0 [# i! T$ Q K' u1 m. X
5 y- O1 @) n5 B3 c' `8 K# cat /etc/redhat-release$ B1 D; P% s) o0 Y" p! f
CentOS release 6.5 (Final)- C$ p, b" [ U6 T( \! m
1 Y( ^: z& R, A
/ G& V0 F: e) Z2 B+ m, K
查詢是否已安裝& y8 g* @ B- K- ~+ o: X# j( {
# rpm -qa | grep sendmail1 X6 w) q' _0 Q- V* Q9 ]2 X# b
# rpm -qa | grep m4
7 \" x0 v( [' k5 K0 r$ O) G
6 a# z. y$ Y+ L% O% k& S安裝* M4 M: C0 U. I$ N; c, ]" |
# yum install sendmail sendmail-cf m4
4 e' A3 @- i8 ], U; U' e! ?3 i/ i5 f' i
設定主機名稱5 T; ]% C1 t$ ^; C5 s+ |
#vi /etc/mail/local-host-names
, y# q3 c2 F! {加入
1 _/ s% Z# s* `2 V& I2 a' w0 lwww.52av.tv) l2 [, V9 y1 L3 u+ O
www.av4u.info
2 i$ }& H f' P; D9 B1 g5 g; r, k0 A! N7 ]7 G" v
修改設定檔; V1 F e" z1 `7 \- _# T) F$ |9 d/ m
先備份再修改; n" ~6 c' Y" f$ A
# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.default
5 q5 g: l* N' E) s' r% F4 e% L# vi /etc/mail/sendmail.mc
/ {) [- {0 V6 H& t將下行的 127.0.0.1 改成 0.0.0.0+ M: i% T; e" |! h
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl0 S/ r) f; y* ]! Z
$ A( Q; C/ O9 m
備份設定檔9 O+ D6 s0 f$ W8 o, c0 c4 b
#cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.default
1 {9 q' V/ V# @- |3 I9 k" \0 c. z! L% |/ o9 R
轉換設定檔1 {/ q3 ?7 h7 P% `
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
- C! H6 x4 _1 o, P/ n9 w
3 |3 F0 ]3 P* W; ?8 B9 I4 H設定 Relay
6 o7 A p6 @! [$ h3 p# vi /etc/mail/access" S9 l7 s5 N+ P. ~; c1 p8 P
加一行3 n4 Q( i( n" h# n
Connect:www.52av.tv RELAY, `1 e P0 E S! S
( H# J, A" z6 l4 N* k9 o製作出 hash 格式的資料庫! J7 s1 t- c. z4 g
# cd /etc/mail
1 N7 _3 t" e6 n5 x {# makemap hash access < access7 \: Q% |; n, M; N; f9 e3 p
$ q' }$ V' F8 k) O+ I5 s啟動服務
& R7 g6 f& V6 ?$ ^ k7 ?service sendmail start7 g3 }3 {! _* ^- I1 Z" N
x! g8 P; N# b6 k設定開機就啟動7 G2 P& n$ K6 Q1 [( F: W8 k
chkconfig sendmail on
1 ^6 ?6 S' n+ ]* Z+ x3 c# W* \) M' W1 t1 o8 \8 ^7 w8 J: C
su 成其他使用者測試時 a- a: Y. G0 S8 W- T" [+ [8 c
出現錯誤訊息& P9 Y: t" @$ B: A: y
/var/spool/mail/root: 拒絕不符權限的操作
8 D! `) Y6 Z. E/ E: _- `+ B+ c原因0 u- q1 W' R/ N! `. h9 T/ g2 `
要用 su - 使用者' N* J, O% s7 K4 T
不可用 su 使用者) H$ E" s) r) E
! [* K3 }4 {, }/ b; m
使用 telnet 測試出現錯誤訊息(假如無telnet client,則可以 yum install telnet 在CentOS下安裝telnet client)
& q2 D# w( n5 R/ k+ I- C3 l8 M7 ? Ntelnet www.52av.tv 25$ y4 I$ v! d/ a7 A! w& d
正連線到 www.52av.tv ....無法開啟連接到主機的連線: 連線失敗
) L2 `( o3 I* n3 J1 F# V- P3 }+ v$ Q本來以為是本機防火牆擋住了 _( A+ m+ P4 N
關掉防火牆後仍無法連線
! K9 m5 l" ^' H' a8 o1 \ X' r將下行的 IP 改成 主機 IP6 J5 |- p0 z; j8 y2 s
DAEMON_OPTIONS(`Port=smtp,Addr=XXX.XXX.XXX.XXX, Name=MTA')dnl) ?6 `* i. Y5 Z9 _
重新轉換設定檔
3 f7 d" p2 C p! Q2 y1 l& p, l#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf" b! J x( v8 ~
重新啟動服務: b' M8 z( { a+ J
service sendmail restart
5 K; T% Q* o+ t4 J# o- S; _* R+ I/ B' I
% m# I* k( [% V7 `& J& Wtelnet 測試成功7 q9 b. ] u7 a9 A) _
HELO yourname -通知 SMTP Server 你是誰(在linux mail server上有帳號)
( ?1 G9 {' S+ w3 b. i# |" O4 sMAIL FROM: email@server.com -寄件者電郵地址
$ ^( t- Y8 t9 ^+ X1 D1 p$ VRCPT TO: email@smtpserver.com -收件者電郵地址
& e) F! V2 ]; U0 |DATA -以上步驟通過後,可以用 DATA 開頭並輸入信件內容,結束時用 “.”! h' y0 e2 q: r
QUIT -離開用 QUIT 結束" O6 }8 |! B9 E) d
. O+ ]& G4 B$ o: ssendmail發郵件報錯的解决辦法
0 R6 E( x0 F3 D+ N6 G& i* }2 }. Z [) e+ C, _# M' b3 C0 R' |
error: Real domain name required for sender address。
. S0 q' o9 b# b& ?1 m/ M是hostname配置的問題,修改hostname即可。7 K9 M2 v+ A# l* i C) Q
- 1、hostname av4u.info 【立即生效】
8 @' |) u! k, z - 2、vi /etc/sysconfig/network 【重啟後會讀這個文件】
% G2 n3 W, w1 d& ? - 添加或修改:HOSTNAME=av4u.info
: W6 z7 H! B( @1 }8 ~ - 3、vi /etc/hosts 【跟各個應用有關系,一定得改】
" e# P) R8 g1 o( s - 在127.0.0.1後面添加主機名av4u.info
複製代碼
; o" F" _4 t. p# b' l4 perror: Relaying denied. IP name lookup failed
7 i. F- d& g) ?# }$ b/ I( A解决:+ x) X. F3 V, C! M6 F2 H; ]7 i- Z2 y
修改access文件,將本機ip加入後,問題解决!9 G3 w6 _2 p% B+ x# A: L( F0 C
具體方法:
" k& Y$ R' I2 W( u! J- /etc/mail/access
' m* ^" h/ `; F2 t3 }- z* I& Z7 h - 加入
) a9 c3 c: M* d - xxx.xxx.xxx.xxx RELAY
複製代碼 - t% X/ Z6 z. m C8 Q
P.S 在我的主機以mail 指令測試收發信件都ok) }8 k. a* @4 V( F7 ], U# ~/ q
參考:http://pejslin.blogspot.tw/2014/04/centos-sendmail.html
0 t. \2 [" ^# Q* o% s! C$ K: }$ K1 h. }. N; C
) h3 ?; _! a7 j, M3 r! S* F. o
|