PHP HTML电子邮件字符问题

时间:2010-01-28 07:16:51

标签: php html email

每次我使用此脚本时,我都会在电子邮件中显示随机符号。它是标题中的字符类型。如果是这样,使用哪种正确的字符类型?

    $icontent = nl2br($icontent);

    $str = "<html>";
    $str .= "<head>";
    $str .= "<title>Mail</title>";
    $str .= "<style type='text/css'>";
    $str .= "<!--";

    $str .= "body {";
    $str .= "   background-color:#FFFFFF;";
    $str .= "   margin:0px;";
    $str .= "   font-family:Arial;";
    $str .= "   padding:0px;";
    $str .= "}";

    $str .= "</style></head>";

    $str .= "<body>";
    $str .= "<center>";

    $str .= "<div class='logo'>";
    $str .= "<span style='font-size:12px'>$subject</span><br />";
    $str .= "<span style='font-size:10px; font-weight:normal'>" . date("d M Y H:i") . "</span><br />";
    $str .= "</div>";

    $str .= "<div class='content'>";
    $str .= $icontent;
    $str .= "</div>";

    $str .= "<div class='credit'>";
    $str .= "This e-mail is confidential.";
    $str .= "</div>";

    $str .= "</center>";
    $str .= "</body>";
    $str .= "</html>";

    $headers = "MIME-Version: 1.0rn"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1rn"; 
    $headers = "From: Us <email@mydomain.com>\r\n";
    $headers .= "Content-type: text/html\r\n";

    mail($to, $subject, $str, $headers);

我将使用Fedora 10添加即时通讯

提前致谢

2 个答案:

答案 0 :(得分:2)

$headers = "MIME-Version: 1.0\r\n"; // backslashes missing
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";  // backslashes missing
$headers .= "From: Us <email@mydomain.com>\r\n"; // "." missing before "="
$headers .= "Content-type: text/html\r\n";

问题是你只发送了最后两个标题。

答案 1 :(得分:1)

    $str .= "<head>";
    $str .= "<title>Mail</title>";
    $str .= "<style type='text/css'>";

// This HTML comment is never closed:
    $str .= "<!--";

    $str .= "body {";
    $str .= "   background-color:#FFFFFF;";
    $str .= "   margin:0px;";
    $str .= "   font-family:Arial;";
    $str .= "   padding:0px;";
    $str .= "}";

//    add this line:    
    $str .= "-->";

    $str .= "</style></head>";