关于发送邮件出现no smtp MX only错误的解决办法

来源:互联网 发布:恋爱天数计算器软件 编辑:程序博客网 时间:2024/06/06 02:04

今天在服务器上搭建了一个SMTP虚拟服务器,用于发送电子邮件。本来原先使用的是126的邮箱smtp服务进行发送,但是后来才发现这个服务每天的发送量是有限制的,所以也就作罢,自己搭一个SMTP服务器来发送邮件吧。

搭建SMTP虚拟服务器很简单,只需要在IIS组件中增加SMTP Service即可:


安装完成之后,在计算机管理中,查看SMTP虚拟服务器的属性:


先选择使用的IP地址,然后设置“访问”中的“访问控制”:


为了提高安全性,可以设置成匿名访问,否则明文在网上传输不安全,然后再设置成只允许本机使用SMTP服务。

再设置“连接控制”,设置成只允许本机访问:


最后设置“中继限制”:


如果不设置中继的计算机为本机地址,则发送邮件时会返回以下错误,550 5.7.1 Unable to relay for


这就把SMTP邮件服务器的设置完成了,可以开始发送邮件测试了。


测试时选择发件人为:xxxxxxx@126.com,收件人选择为:yyyyyyyy@126.com,发送时提示发送成功,但是邮件一会儿就被退回来了,错误信息如下:

553 Requested action not taken: no smtp MX only,mx7,JcmowEBJG0vqkVdSFTfaBA--.1408S2 1381470699

这个错误大概就是因为发件人和收件人在同一个域中(这里为126.com),但是又选择了另一个SMTP服务器进行发送,所以就被126退回来了。

所以就随便填写一个其他的发件人邮箱地址,比如xxxxx@other126.com,重新测试,成功收到邮件。


所以:

1,出现553, no smtp MX only的错误,就修改发件人邮件地址使用另外一个域。

2,出现550, Unable to relay for的错误,就设置中继的计算机。

原创粉丝点击