2016-01-22 147 views
1

我有问题与PHP邮件发送基于html的消息。一些答案在这里说,计算器,包括$ MAIL-> isHTML(真),我做的,但没有结果..这里是代码PHPMailer不会发送html消息

require '...';  
$mail = new PHPMailer;   
$mail->isSMTP(); 
$mail->Host = '...'; 
$mail->SMTPAuth = true; 
$mail->Username = '...'; 
$mail->Password = '...';        
$mail->setFrom("...."); 
$mail->addAddress("...");     
$mail->Subject = "..."; 
$mail->Body = "<li>abcd</li>"; 
$mail->isHTML(true); 
if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent'; 
} 

有谁知道什么是错?

谢谢!

+0

'

  • abcd
  • '是不够的。您需要使用'<!DOCTYPE html> ...'作为正确的HTML标记。 –

    +0

    oo,好的。我不知道有些例子没有提到这一点。我会尝试结束帖子回复 –

    回答

    3

    <li>abcd</li>是不够的,还应该包括<ul></ul>标签。您需要使用<!DOCTYPE html><head></head><body>...</body></html>作为正确和完整的HTML标记并连接$mail->Body

    $mail->Body  = "<!DOCTYPE html>"; // the first one does not contain the dot 
    $mail->Body .= "<head></head>"; 
    $mail->Body .= "<title></title>"; 
    $mail->Body .= "<body>"; 
    $mail->Body .= "<ul>"; 
    $mail->Body .= "<li>abcd</li>"; 
    $mail->Body .= "</ul>"; 
    $mail->Body .= "</body>"; 
    $mail->Body .= "</html>"; 
    

    您也可以根据您想要使用的类型替代<ul></ul><ol></ol>

    +0

    嘿弗雷德。你知道可能是什么原因,现在我是senind html邮件g邮件不显示消息,除非我按下这个图标'...',gmail在邮件中。该图标有'隐藏标题'内容被截断 –

    +0

    @IraklisBekiaris这是正常的,可能是2原因之一。 1)信息太长,或者你有第二条信息相同。 –