我有一个带有 LAMP 的全新 Debian 安装。有一个 PHP 脚本可以使用该mail
函数将电子邮件消息发送到任意地址,但它不起作用 - 消息未送达。
我在互联网上搜索了很长一段时间,发现 Debian 上已经默认安装了一个 SMTP 服务器 - exim4 软件包。所以到目前为止我尝试了以下事情。
- 启动
dpkg-reconfigure exim4-config
命令并选择internet site; mail is sent and received directly using SMTP
选项。按照向导操作并设置默认选项。 - 编辑
/etc/php5/apache2/php.ini
文件并将该sendmail_path = /usr/sbin/sendmail -t
行添加到适当的位置。
这些事情都没有帮助。当我尝试将电子邮件发送到我的测试 GMail 地址时,即使该地址工作正常,邮件也不会送达。
/var/log/exim4/mainlog
每次我尝试发送电子邮件时,以下行都会出现在我的文件中。
2013-08-16 10:46:51 1VAFgI-0006FP-UU <= [email protected] U=www-data P=local S=423
2013-08-16 10:46:51 1VAFgI-0006FP-UU => [email protected] R=dnslookup T=remote_smtp H=aspmx.l.google.com [2a00:1450:4001:c02::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
2013-08-16 10:46:51 1VAFgI-0006FP-UU Completed
答案1
您需要将 exim4 配置为中继智能主机。这里有一组(冗长的)说明Debian 维基:GmailAndExim4,但启动和运行确实很容易。您的 PHPsendmail_path
已经可以使用了。