我有以下设置:
服务器1 (client-server):- 运行在
111.111.111.111
- Hosting
myawesomedomain.com
with电子邮件服务器。 - 包含TXT DNS:
"V=SPF1 A MX INCLUDE:MYAWESOMEDOMAIN.COM ip4: 222.222.222.222/32 ?ALL"
服务器2(我的一台机器):
- 主机名:
warning.othercorp.net
- 在
222.222.222.222
运行
我想使用服务器2,通过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);
我不是发送电子邮件的专家,但我能做些什么来避免被标记为垃圾邮件?日志含义服务器IP为2的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"
提供:- 您的MX记录指向实际为域发送邮件的机器(而不仅仅是接收)。
myawesomedomain.com
的A
记录是你的111.111.111.111
地址我怀疑您的/32
CIDR符号导致第二台服务器出现问题。
SPF记录中不正确的位置或双空格会导致SPF记录无效。
您共享的记录是:
V=SPF1 A MX INCLUDE:MYAWESOMEDOMAIN.COM ip4: 222.222.222.222/32 ?ALL
ip4:
和222.222.222.222
之间不能有空格
这可能有助于解决剩下的问题。