我正在通过以下方式测试我的 SMTP 服务器wormly.com
当我做测试时,我最终得到
> SMTP -> FROM SERVER: 250 2.1.0 Ok RCPT TO: [email protected]
> SMTP -> FROM SERVER: 554 5.7.1 : Relay access denied SMTP -> ERROR:
> RCPT not accepted from server: 554 5.7.1 : Relay access denied
消息发送失败。
我使用这个设置了我的邮件服务器关联
答案1
这是正确的消息,因为第三方网站正在连接到您的服务器并且无法向外部域发送电子邮件。
理想情况下,根据配置,如果您向自己的一个域发送电子邮件,那么该电子邮件就会被送达。
如果您使用开放中继,即接受来自任何域的电子邮件,那么这将带来巨大的安全风险,您的服务器很快就会被列入黑名单。它还可能因滥用而导致您的 ISP 出现问题。
测试电子邮件服务器
我强烈建议使用以下服务Mandrill.com如果您缺乏管理经验,则最好不要使用电子邮件发送交易电子邮件,而要设置自己的服务器。这样做弊大于利。
但是,根据您的评论,您需要设置并测试您的邮件服务器。这不是一项简单的任务,需要在各个级别进行测试。请在基本级别尝试以下操作:
a) 创建一个虚拟域,并在该域内创建一个虚拟用户
b) 远程登录到服务器的 25 端口,然后向该域发送邮件,看看邮件是否已送达。您可以从tail -f /var/log/mail.log -f
不同的控制台检查错误日志。使用 telnet 很容易
telnet yourserver.com 25
helo test.com
mail from: <[email protected]>
rcpt to: <[email protected]>
data
Type any content that you want, press enter, then put a period (.) and then enter to exit
.
现在通过错误日志检查电子邮件是否成功发送。完成后,您就会知道传入邮件应该可以正常工作(前提是该域的 A 记录/MX 记录设置正确)。否则,根据错误修复问题。
c) 现在通过 ssh 登录服务器,并使用 mail 命令发送电子邮件
echo "Test Email from the new server" | mail -s "Test Subject" [email protected]
检查 gmail 的垃圾邮件文件夹,如果一切顺利,邮件很可能落在那里。这样您就可以查看已发送的电子邮件。
如果 Java Web 应用程序位于同一台服务器上,则可以localhost
在应用程序中将其用作电子邮件服务器。如果它位于另一台服务器上,则可以在mynetworks
行下输入该服务器的 IP 地址postfix/main.cf
,重新启动 Postfix,然后就可以无需身份验证发送电子邮件。
再次强调,任何错误的配置都可能导致服务器误用,所以要小心。