Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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 mail():两台服务器和SPF_Php_Email_Sendmail - Fatal编程技术网

PHP mail():两台服务器和SPF

PHP mail():两台服务器和SPF,php,email,sendmail,Php,Email,Sendmail,我有以下设置: 服务器1(客户端服务器): 以111.111.111.111运行 使用托管myawesomedomain.com 电子邮件服务器 包含TXT DNS:“V=SPF1 A MX包含:MYAWESOMEDOMAIN.COM ip4:222.222.222/32?全部” 服务器2(我的一台计算机): 主机名:warning.othercorp.net 运行于222.222.222.222 我想使用Server2,通过PHPmail()函数向后台注册用户发送电子邮件警告 我试图用

我有以下设置:

服务器1(客户端服务器):

  • 111.111.111.111运行
  • 使用托管
    myawesomedomain.com
    电子邮件服务器
  • 包含TXT DNS:
    “V=SPF1 A MX包含:MYAWESOMEDOMAIN.COM ip4:222.222.222/32?全部”
服务器2(我的一台计算机):

  • 主机名:
    warning.othercorp.net
  • 运行于
    222.222.222.222
我想使用Server2,通过PHP
mail()
函数向后台注册用户发送电子邮件警告

我试图用一个简单的PHP脚本发送邮件,如下所示,但它在Oulook.com中被标记为垃圾邮件,GMAIL说它是通过
warning.othercorp.net

$to = "someone@outloook.com";
$subject = 'Warning!';
$message = 'hello! You\'ve been warned!';
$headers = 'From: warning@myawesomedomain.com' . "\r\n" .
    'Reply-To: info@myawesomedomain.com' . "\r\n";

$res = mail($to, $subject, $message, $headers);
var_dump($res);
我不是发送电子邮件的专家,但我能做些什么来避免标记为垃圾邮件的电子邮件?服务器2的IP的SPF条目不够吗?为什么?


编辑:

我在做一些测试,在查看发送到@gmail地址的测试电子邮件的来源后,我得到了以下信息:

Received-SPF: neutral (google.com: 222.222.222.222 is neither permitted nor denied by best guess record for the domain of warning@myawesomedomain.com) client-ip=222.222.222.222;
我猜Outlook会将该电子邮件标记为垃圾邮件,因为它与GMAIL有相同的问题,我该怎么办


谢谢大家!

要从
myawesomedomain.com
发送邮件,我认为
myawesomedomain.com
TXT
记录应该是:

"v=spf1 a mx ip4:222.222.222.222 ?all"
前提是:

  • myawesomedomain.com
    A
    记录是您的
    111.111.111
    地址
  • 您的MX记录指向实际为域发送邮件的机器(而不仅仅是接收邮件)

我怀疑是您的
/32
CIDR符号导致第二台服务器出现问题。

TTL设置为86400。它几乎是在48小时前更新的。
openspf.org
建议使用CIDR,但他们也说没有它它也可以工作。有没有一种方法可以在不更改第一台服务器上的DNS的情况下调试它?我需要让客户来做…我不知道如何调试它,对不起。这种事情真让人痛苦。通常,当我测试这样的东西时,我会在调整和测试时将记录的TTL降到很低的水平。但是,当你不得不要求客户这么做的时候,这很糟糕。嘿,请检查我上次的编辑。我还要求客户按照你告诉我的删除苹果酒,但我仍在等待更改!根据我的经验,我给出的确切TXT记录应该足以解决您显示的引用标题中的问题。我没法在这方面提供更多的信息。很抱歉如果您向我发送域,我可以查询服务器以查看它的响应。我成功地解决了一半的问题(Gmail),将
发件人
发件人
电子邮件头设置为不同的值,其中
发件人
是我客户的电子邮件,而
发件人是我用来发送电子邮件的服务器上的本地帐户。设置
返回路径
(与本地服务器相同)和
回复地址也很重要。