我已经编写了一个代码,用于在yahoo或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";
答案 0 :(得分:0)
$to = $to_email;
$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 = <<<EOD
<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>
EOD;
if(mail($to, $subject, $message, $headers))
echo "successfully register !! please check your mail and clik on confirmation link";
尝试此操作而不是您的消息字符串
答案 1 :(得分:0)
您可能希望使用PHPMailer之类的内容,而不是尝试自己构建MIME邮件。它隐藏了设置标题和诸如此类的所有丑陋工作,您所做的只是提供内容。
在任何情况下,假设您正确构建了邮件,您是否检查过邮件服务器的外发日志,以查看该邮件是否甚至尝试访问Yahoo的邮件交换器?仅仅因为PHP中的mail()
函数成功并不意味着电子邮件已经从你的大门出来了。雅虎可能因为标题格式错误或缺失而拒绝了它。