我在尝试配置服务器以便可以通过 PHP 发送电子邮件时遇到了很多麻烦。我已经阅读了我能找到的所有教程,但似乎没有什么很清楚,这一切都假设你对这类事情有丰富的背景知识。
服务器正在运行带有 WHM/Cpanel 和 Apache 的 CentOS。除了传出的电子邮件外,一切正常。mail() 函数返回 true 并且没有错误,但也没有发送电子邮件。该代码在较旧的服务器上运行良好,我也尝试了一个行变体,所以我知道这不是代码的问题。我使用 WHM 工具仔细检查了我的 SMTP 服务器是否正在运行(Exim)并重新启动它以取得良好的效果,但没有成功。
我使用 Cloudflare 作为我的 DNS 服务器和用于电子邮件的 Google Apps。Google Apps 电子邮件工作正常。这些事情中的任何一个都会影响它吗?如果我想使用 Google Apps 并直接从我的服务器发送电子邮件,是否需要进行一些特别的设置?我需要添加 DNS 记录吗?老实说,我什至不知道从哪里开始,而且我读过的任何内容都没有一点帮助。我什至不知道如何测试我的 SMTP 服务器以查看它是否正常工作。
如果我没有提供任何需要的信息,请询问我,我会提供。
[编辑] 我检查了我的垃圾邮件文件夹,里面没有新邮件。这是我尝试发送电子邮件时 Exim 日志中显示的内容。我已经编辑了域。
2013-05-13 19:20:34 cwd=/var/spool/exim 2 args: /usr/sbin/exim -q
2013-05-13 19:20:34 Start queue run: pid=9766
2013-05-13 19:20:34 End queue run: pid=9766
2013-05-13 19:43:13 cwd=/home/admin/public_html/portal 3 args: /usr/sbin/sendmail -t -i
2013-05-13 19:43:13 1Uc2Of-0002eC-Go <= admin@svr1.example.ca U=admin P=local S=533 T="New Event/Hazard Report" for jake@example.ca
2013-05-13 19:43:13 cwd=/var/spool/exim 3 args: /usr/sbin/exim -Mc 1Uc2Of-0002eC-Go
2013-05-13 19:43:13 1Uc2Of-0002eC-Go SMTP connection outbound 1368488593 1Uc2Of-0002eC-Go example.ca jake@example.ca
2013-05-13 19:43:15 1Uc2Of-0002eC-Go => jake@example.ca R=lookuphost T=remote_smtp H=aspmx.l.google.com [74.125.142.26] X=TLSv1:RC4-SHA:128
2013-05-13 19:43:15 1Uc2Of-0002eC-Go Completed