Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么可以';我的服务器不发送传出电子邮件吗?_Php_Email_Google Apps_Whm_Exim - Fatal编程技术网

Php 为什么可以';我的服务器不发送传出电子邮件吗?

Php 为什么可以';我的服务器不发送传出电子邮件吗?,php,email,google-apps,whm,exim,Php,Email,Google Apps,Whm,Exim,我在尝试配置我的服务器时遇到了很多麻烦,所以我可以通过PHP发送电子邮件。我已经阅读了所有我能找到的教程,但没有什么是非常清楚的,它都假设你有大量的背景知识与这类事情 服务器正在使用WHM/Cpanel和Apache运行CentOS。除了发出去的电子邮件,一切都很好。函数的作用是:返回true,没有错误,但是也不会发送电子邮件。该代码在较旧的服务器上运行良好,我也尝试过单线变体,因此我知道代码没有问题。我使用WHM工具仔细检查了我的SMTP服务器是否正在运行(Exim),并重新启动了它,但没有成

我在尝试配置我的服务器时遇到了很多麻烦,所以我可以通过PHP发送电子邮件。我已经阅读了所有我能找到的教程,但没有什么是非常清楚的,它都假设你有大量的背景知识与这类事情

服务器正在使用WHM/Cpanel和Apache运行CentOS。除了发出去的电子邮件,一切都很好。函数的作用是:返回true,没有错误,但是也不会发送电子邮件。该代码在较旧的服务器上运行良好,我也尝试过单线变体,因此我知道代码没有问题。我使用WHM工具仔细检查了我的SMTP服务器是否正在运行(Exim),并重新启动了它,但没有成功

我正在使用Cloudflare作为我的DNS服务器和用于电子邮件的Google应用程序。谷歌应用程序的电子邮件工作得很好。这两件事中的任何一件会影响它吗?如果我想使用谷歌应用程序并直接从我的服务器发送电子邮件,是否需要设置一些特殊的设置?是否有需要添加的DNS记录?老实说,我甚至不知道从哪里开始,我读过的任何东西都没有一点帮助。我甚至不知道如何测试我的SMTP服务器,看看它是否正常工作

如果我没有提供任何需要的信息,请询问我,我会提供

[编辑]我已经检查了我的垃圾邮件文件夹,里面没有新的电子邮件。以下是我尝试发送电子邮件时在进出口银行日志中显示的内容。我已经编辑了域名

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
2013-05-13 19:20:34 cwd=/var/spool/exim 2参数:/usr/sbin/exim-q
2013-05-13 19:20:34开始队列运行:pid=9766
2013-05-13 19:20:34结束队列运行:pid=9766
2013-05-13 19:43:13 cwd=/home/admin/public_html/portal 3参数:/usr/sbin/sendmail-t-i
2013-05-13 19:43:13 1Uc2Of-0002eC-Gojake@example.caR=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完成

我建议您检查SPF记录。大多数情况下,我们都会看到此问题,可能是SPF未设置或设置不正确:

类似的问题如下:


如果php mail()返回true,则会成功地将传出的电子邮件传递到系统MTA/SMTP服务器。检查服务器(postfix?sendmail?exim?)的日志,查看之后电子邮件会发生什么情况。是否确实没有发送任何邮件?它可能会被放在垃圾邮件文件夹中。如果您还没有这样做,我建议您发送到各个域的电子邮件地址,看看是否可以发送到其中任何一个域。检查您的邮件日志,通常位于/var/log/maillog中,他们会告诉您发生了什么事情看起来这是我的问题,谢谢!现在我只要把DNS记录弄对就行了,哈哈。