最近2天一直在折騰一個(gè)客戶(hù)的郵件問(wèn)題,真是頭大,以前安裝的zencart傳上去之后只要我放棄開(kāi)了25端口就很輕松的搞定郵件問(wèn)題,但是最近連續(xù)幾個(gè)客戶(hù)反映郵件有問(wèn)題,一直發(fā)布出去,也沒(méi)太在意,只是這幾天新開(kāi)vps服務(wù)器出現(xiàn)類(lèi)似問(wèn)題太多了,于是也該重視了,于是就好好折騰,今天終于有了結(jié)果,于是我就亨利一下Sendmail碰到的一些問(wèn)題,如郵件無(wú)法發(fā)送,發(fā)送后的一些問(wèn)題等等,這里統(tǒng)一做個(gè)記錄,以備不是之需,同時(shí)也希望能幫到一些碰到這些問(wèn)題的童鞋。每個(gè)問(wèn)題都會(huì)有詳細(xì)的操作步驟,按照步驟操作即可;
折騰環(huán)境: CentOS 郵件組件:Sendmail
一、主機(jī)雖支持mail()函數(shù),卻無(wú)法發(fā)送郵件; 先使用以下命令檢查是否已安裝sendmail:
rpm –q sendmail
檢測(cè)結(jié)果確實(shí)未安裝該組件,果斷安裝:
yum install sendmail
等待安裝完成后去檢查了下php.ini配置,里面需要修改相關(guān)參數(shù),直接:
vi /usr/local/php/etc/php.ini
找到 sendmail_path 所在行,發(fā)現(xiàn)是未啟用,去掉前面的分號(hào);(按i編輯模式),去掉分號(hào),并將其改為:
sendmail_path = /usr/sbin/sendmail -t –i
這個(gè)有的默認(rèn)就會(huì)是這個(gè)值。接著重啟sendmail:
service sendmail restart
二:發(fā)送郵件過(guò)慢問(wèn)題 上面的步驟已經(jīng)可以正常發(fā)送郵件了,但是卻發(fā)現(xiàn)發(fā)送過(guò)慢,此時(shí),請(qǐng)檢查hosts:
cat /etc/hosts
結(jié)果發(fā)現(xiàn):
127.0.0.1 localhost.localdomain localhost
中并沒(méi)有hostname,將其加入,查看主機(jī)名稱(chēng)直接命令:hostname ,這里加入主機(jī)名稱(chēng)為:testhost,則改過(guò)后的內(nèi)容則為:
127.0.0.1 localhost.localdomain localhost testhost
接著,重啟sendmail;
完成此步驟后還可以解決一個(gè)sendmail和sm-client啟動(dòng)慢的問(wèn)題;
三、郵件發(fā)送方為:root@localhost.domain代發(fā)問(wèn)題
方法一:修改hostname為個(gè)人域 方法二:偽裝成user@domain.com
執(zhí)行以下命令:
/etc/mail/sendmail.mc
打開(kāi)后編輯文件,在末端加入以下內(nèi)容:
MASQUERADE_AS(gongzi.me)dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnl MASQUERADE_DOMAIN(gongzi.me)dnl
將其中的gongzi.me換成你自己的域名,然后保存。接著執(zhí)行以下命令:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
而后,重啟sendmail服務(wù)。
四:執(zhí)行 m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 時(shí),報(bào)錯(cuò):sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4': No such file or directory,并且導(dǎo)致sendmail相關(guān)服務(wù)無(wú)法正常啟動(dòng)。
原因:未安裝sendmail-cf 解決:執(zhí)行以下命令:
yum install sendmail-cf
完成后問(wèn)題解決。
有別的再陸續(xù)補(bǔ)充!