自备的服务器,邮件发不出去的问题及解决办法

由 每日C 于 周日, 2008-07-20 22:55 提交。

使用虚拟主机的用户一般不会有问题,在此不做讨论

而自备的服务器发送邮件碰到问题

一般有以下情况

1 sendmail没装
2 即便装了sendmail,如果不是在DNS上登记过的smtp服务器,则发出的邮件,好多邮件接收服务器都拒收的
3 php等配置有问题

2种解决方法

1 安装sendmail,并且把自己的域名下开一个MX的解析,然后调整php配置
2 安装ssmtp,配置一个自己在其他邮件服务商那里的SMTP,调整php配置

方法1复杂,方法2简单

我采用了方法2

此处下载ssmtp源代码
http://packages.debian.org/source/sid/ssmtp

解压

编译安装
./configure --prefix=/usr/local/ssmtp --enable-ssl --enable-md5auth (开ssl和md5)
make
make install

设置ssmtp
vi /usr/local/ssmtp/etc/ssmtp/ssmtp.conf

对该文件做如下设置(以21cn.com为例)

root=xxxx@21cn.com (注:xxxx为用户名)
mailhub=smtp.21cn.com
rewriteDomail=domain.com(自己的域名)
hostname=domain.com(自己的域名)

设置php.ini
sendmail_path = /usr/sbin/ssmtp -t -au****@21cn.com -ap#### (注:前一个****是用户名,####是口令)

还可以,设置好后,以ssmtp做一个符号链接去代替系统自带的sendmail程序,按ssmtp的资料将,可以很好的模拟sendmail
这种方法我没试过,感兴趣的TX可以自己试试

此方法的原理就是用一个已经注册好的其他的邮箱,来模拟自己站点的sendmail

这才是好贴 _____________

这才是好贴
__________________________
www.ixi360.cn