我写了一个代码发送邮件在雅虎或Gmail。邮件是发送在Gmail,但我没有看到任何消息在雅虎邮件。而在Gmail我看到所有的html内容与消息。这里是我的代码...
$headers = "From: \"".$from_name."\" <".$from_email.">\n";
$headers .= "To: \"".$to_name."\" <".$to_email.">\n";
$headers .= "Return-Path: <".$from_email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/HTML; charset=ISO-8859-1\n";
// message
$message = '
<html>
<head>
<title>Registration</title>
</head>
<body>
<table><tr>
<td> <a href="#'> Click Here To Activate Your account</a>
Thanks To visit site.com
</td>
</tr>
</table>
</body>
</html>';
if(mail('', $subject, $message, $headers))
echo "successfully register !! please check your mail and clik on confirmation link";
2条答案
按热度按时间wlp8pajw1#
请尝试使用此字符串代替消息字符串
6ojccjat2#
您可能希望使用PHPMailer之类的东西,而不是尝试自己构建MIME消息。它隐藏了设置头等所有丑陋的工作,您所做的只是提供内容。
在任何情况下,假设您正确地构建了邮件,您是否检查了邮件服务器的发送日志,以查看该邮件是否试图到达Yahoo的邮件交换器?仅仅因为PHP中的
mail()
函数成功并不意味着该邮件曾经从您的前门发出过。Yahoo可能由于格式错误或缺少标题而拒绝了它。