IT_man 發表於 2015-12-15 22:42:32

CentOS 安裝 sendmail

本帖最後由 IT_man 於 2016-4-15 18:36 編輯


# cat /etc/redhat-release
CentOS release 6.5 (Final)


查詢是否已安裝
# rpm -qa | grep sendmail
# rpm -qa | grep m4

安裝
# yum install sendmail sendmail-cf m4

設定主機名稱
#vi /etc/mail/local-host-names
加入
www.52av.tv
www.av4u.info

修改設定檔
先備份再修改
# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.default
# vi /etc/mail/sendmail.mc
將下行的 127.0.0.1 改成 0.0.0.0
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

備份設定檔
#cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.default

轉換設定檔
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

設定 Relay
# vi /etc/mail/access
加一行
Connect:www.52av.tv                     RELAY

製作出 hash 格式的資料庫
# cd /etc/mail
# makemap hash access < access

啟動服務
service sendmail start

設定開機就啟動
chkconfig sendmail on

su 成其他使用者測試時
出現錯誤訊息
/var/spool/mail/root: 拒絕不符權限的操作
原因
要用 su - 使用者
不可用 su 使用者

使用 telnet 測試出現錯誤訊息(假如無telnet client,則可以 yum install telnet 在CentOS下安裝telnet client)
telnet www.52av.tv 25
正連線到 www.52av.tv ....無法開啟連接到主機的連線: 連線失敗
本來以為是本機防火牆擋住了
關掉防火牆後仍無法連線
將下行的 IP 改成 主機 IP
DAEMON_OPTIONS(`Port=smtp,Addr=XXX.XXX.XXX.XXX, Name=MTA')dnl
重新轉換設定檔
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
重新啟動服務
service sendmail restart

telnet 測試成功
HELO yourname -通知 SMTP Server 你是誰(在linux mail server上有帳號)
MAIL FROM: email@server.com -寄件者電郵地址
RCPT TO: email@smtpserver.com -收件者電郵地址
DATA -以上步驟通過後,可以用 DATA 開頭並輸入信件內容,結束時用 “.”
QUIT -離開用 QUIT 結束

sendmail發郵件報錯的解决辦法

error: Real domain name required for sender address。
是hostname配置的問題,修改hostname即可。
1、hostname av4u.info 【立即生效】
2、vi /etc/sysconfig/network 【重啟後會讀這個文件】
添加或修改:HOSTNAME=av4u.info
3、vi /etc/hosts【跟各個應用有關系,一定得改】
在127.0.0.1後面添加主機名av4u.info
error: Relaying denied. IP name lookup failed
解决:
修改access文件,將本機ip加入後,問題解决!
具體方法:
/etc/mail/access
加入
xxx.xxx.xxx.xxx    RELAY
P.S 在我的主機以mail 指令測試收發信件都ok
參考:http://pejslin.blogspot.tw/2014/04/centos-sendmail.html


頁: [1]
查看完整版本: CentOS 安裝 sendmail