如何在 EC2(无 SES)上使用 PHP 正确配置 sendmail?

如何在 EC2(无 SES)上使用 PHP 正确配置 sendmail?

我已经为 sendmail 苦苦挣扎了几天,但一直没有成功。我按照这个问题中的答案尝试设置中继主机

https://stackoverflow.com/questions/10359437/sendmail-how-to-configure-sendmail-on-ubuntu

我在日志文件中收到“DSN 服务不可用”。现在我收到“[127.0.0.1] 拒绝连接”

我正在尝试从 EC2 实例上的 PHP 应用程序从另一个 smtp 服务器(smtp.mydomain.com)发送电子邮件(如果可能的话),sendmail 和 php.ini 所需的配置是什么?

谢谢

答案1

DSN 服务不可用,声音中继配置不正确。

您可以编辑 /etc/mail/sendmail.cf 或 /etc/sendmail.cf

并改变

# "Smart" relay host (may be null)

DS<mailserver_hostname>

这个 mailserver_hostname 应该由您的盒子解析,否则创建主机条目来指向它应该去的地方。

PS:个人意见我会使用带有 sasl 中继的 postfix:

echo “mail.test.com    [email protected]:PASSWORD” > /etc/postfix/saslpass
vi /etc/postfix/main.cf

relayhost = [mail.test.com]:587
smtp_sasl_auth_enable = yes
smtp_use_tls=yes
smtp_sasl_password_maps = hash:/etc/postfix/saslpass
smtp_sasl_security_options = noanonymous

Postmap main.cf / 重启 postfix

额外的:

将主机名添加到您的主机文件.. /etc/hosts 当您尝试执行 sasl 中继时,您可以将主机名从 localhost 重命名为其他名称。

请检查一下,关联

答案2

Connection refused by [127.0.0.1]很可能意味着您的本地 sendmail 守护程序未启动并运行。
您是否尝试过启动/重新启动它?service sendmail restart

它能启动吗?它在日志文件中报告了任何启动问题吗?

相关内容