我正在使用PHP的mail()
功能向管理员发送“忘记密码”链接和报告。当我用Gmail测试时,一切正常。但是,当我向Microsoft 365邮箱发送电子邮件时,邮件甚至不会出现在垃圾邮件文件夹中。
我该怎么办?
UPD
我尝试使用标题和“Return-path”附加参数。我的代码如下:
$to = 'my_email@corporate_domain.com';
$subject = 'test';
$message = 'test';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "To: Tamara <my_email@corporate_domain.com>" . "\r\n";
$headers .= 'From: Sender <sender@domain.com>' . "\r\n";
$headers .= 'Reply-To: Sender <sender@domain.com>'. "\r\n";
$headers .= "Return-Path:<Sender@domain.com>"."\r\n";
mail($to, $subject, $message, $headers, "-r sender@domain.com");
我终于收到了反弹电子邮件,其中说:
服务不可用;客户端主机[5.166。*。68]使用阻止列表1阻止,来自IP禁止的邮件;要请求从此列表中删除,请将此消息转发至delist@messaging.microsoft.com并包含您的IP地址。
但是没有邮件发送到此电子邮件,即使是这个域。我的IP如何被禁止?
答案 0 :(得分:0)
我的第一个建议是先删除headers参数中的所有自定义内容,然后查看普通电子邮件是否先通过。如果它失败并且您正在发送纯文本电子邮件,我建议检查邮件服务器发送的地址上的PTR记录。您应该能够在gmail收到的电子邮件的标题中看到这一点。
答案 1 :(得分:0)
使用以下方法尝试发送测试电子邮件:
$to = 'myemail@company-domain.com';
$subject = 'test';
$message = 'test';
$headers = 'From: yourValidEmail@example.com' . "\r\n" .
'Reply-To: yourValidEmail@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
如果此方法有效并且您现在在垃圾邮件/垃圾邮件文件夹中看到了您的电子邮件,我建议您查看设置PTR record并确保为您提供正确的反向DNS设置域名指向您的服务器IP地址。见Reverse DNS