邮件功能不适用于雅虎邮箱ID

时间:2010-05-29 19:10:16

标签: php email

我已经编写了一个代码,用于在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";

2 个答案:

答案 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()函数成功并不意味着电子邮件已经从你的大门出来了。雅虎可能因为标题格式错误或缺失而拒绝了它。