我使用php mail()
函数从我的专用服务器通过php脚本发送邮件。脚本正在向除hotmail用户之外的所有电子邮件用户发送邮件。这是我的mail()
功能代码
$hyperlink = 'http://test.guru99.com/';
$to ='user@hotmail.com';
$subject ='Test Mail';
$message = '<p>For Testing open '. $hyperlink .'</p>';
$headers = 'From: user@domain.com';
$headers .= ' Career Guru99'. "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to, $subject, $message, $headers);
此代码适用于所有电子邮件用户(like gmail, yahoo, hosted domain)
,但不适用于Hotmail用户。我的脚本和代码是正确的。我认为我的标题是正确的,但我无法找到原因。我想用html格式发送邮件。
我检查了服务器日志,我得到的错误是&#34;无法发送消息。请确保消息 符合RFC 5322&#34;
我已在网上查看并尝试为电子邮件设置各种标题,但无效
请给我建议。
答案 0 :(得分:2)
您的电子邮件肯定已被发送(因为它适用于其他用户),但Hotmail可能会拒绝您认为是垃圾邮件的电子邮件。
Hotmail在电子邮件方面被称为PITA ...您可以检查您的DKIM和SPF参数是否正确,看看您的服务器是否未被列入黑名单,或者更好的是,使用MailChimp等邮件提供商, SendGrid或类似内容,以确保您的电子邮件在最佳条件下发送。
编辑:关于RFC兼容,您可以尝试更改“from”标题,如下所示:
$headers = 'From: User <user@domain.com>';