使用PHP将邮件仅发送到Microsoft域(outlook,live,hotmail)时遇到问题。它适用于所有其他人。
这是我的PHP脚本。
<?php
$subject2 = 'Registration Request';
$headers2 .= "MIME-Version: 1.0\n";
$headers2 .= "Content-Type: text/html; charset=ISO-8859-1\n";
$headers2 .= 'X-Mailer: PHP/' . phpversion();
$message2 = '<html><body>';
$message2 .= '<h1>New Account Request</h1><br>';
$message2 .='<table border="0" cellpadding="5" cellspacing="0"><tr><td>';
$message2 .= 'Name</td><td>'.$this->_user['fname'].' '.$this->_user['lname'].'</td></tr>';
$message2 .= '<tr><td>User ID</td><td>'.$this->_user['user'].'</td></tr>';
$message2 .= '<tr><td>Company</td><td>'.$this->_user['company'].'</td></tr>';
$message2 .= '<tr><td>Email</td><td>'.$this->_user['email'].'</td></tr>';
$message2 .= '<tr><td>Telephone</td><td>'.$this->_user['telephone'].'</td></tr></table>';
$message2 .= '<br>Thanks<br><a href="http://precent.ch">precent.ch</a>';
$message2 .= '</body></html>';
$too = 'harry_club20@live.com';
$mailed = mail($too,$subject2,$message2,$headers2);
if($mailed)
{
header('location: index.html?thanks');
}
?>
由于
答案 0 :(得分:2)
这不是PHP问题。那些糟糕的邮件提供商利用非标准的侵略性反垃圾邮件策略来静默地丢弃传入的电子邮件。
您应该调用您的sysadmin并让他检查您的PHP服务器上的MTA。通常,使用PHP Internet服务提供商提供的MTA中继,而不是在PHP服务器计算机上使用像sendmail这样的独立MTA,这是一个更好的解决方案。
这可能会为您提供更多信息:
Can't send mails to only Hotmail. (gmail, etc. works perfectly) Encoding problems when sending email with PHP to Hotmail PHP mail() function cannot send to hotmail?