当我进行测试时,我最终得到
> 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
消息发送失败。
我在这个链接的帮助下设置了我的邮件服务器
当我进行测试时,我最终得到
> 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
消息发送失败。
我在这个链接的帮助下设置了我的邮件服务器
这是正确的消息,因为第三方网站正在连接到您的服务器并且无法向外部域发送电子邮件。
理想情况下,根据配置,如果您将电子邮件发送到您自己的域之一,那么它应该被送达。
如果你有一个开放中继,这意味着接受任何域的电子邮件,那么这将是一个很大的安全风险,并且你的服务器很快就会被列入黑名单。它还可能导致您的 ISP 出现滥用问题。
测试电子邮件服务器
我强烈建议使用Mandrill.com等服务来发送事务性电子邮件,而不是设置自己的服务器(如果您没有管理它的经验)。它弊大于利。
但是,根据您的评论,您需要设置和测试您的邮件服务器。这不是一项微不足道的任务,需要在各个级别进行测试。在基本级别尝试以下操作:
a) 创建一个虚拟域,并在该域内创建一个虚拟用户
b) 远程登录到您服务器的端口 25 并将邮件发送到该域并查看邮件是否送达。
tail -f /var/log/mail.log -f
您可以从不同的控制台检查错误日志。使用 telnet 很容易现在通过错误日志检查邮件是否发送成功。完成后,您就会知道传入邮件应该可以正常工作(前提是该域的 A 记录/MX 记录设置正确)。否则,根据错误,修复问题。
c) 现在通过 ssh 登录到服务器,并使用 mail 命令发送邮件
最有可能检查 gmail 的垃圾邮件文件夹,如果一切顺利,它就会落在那里。这样您就可以查看外发电子邮件。
如果 java web 应用程序驻留在同一台服务器上,那么您可以
localhost
在应用程序内用作电子邮件服务器。如果它在另一台服务器上,那么您可以在mynetworks
line下输入该服务器的 IP 地址postfix/main.cf
,重新启动 postfix,您可以发送电子邮件而无需身份验证。再次强调,任何错误的配置都可能导致服务器被误用,所以要小心。