Mail will not send in HTML

时间:2016-07-05 作者:Refilon

好的,我有以下问题。我正在尝试以HTML格式发送邮件。我创建了一个返回HTML字符串的类,效果很好。

当我在函数中以$message的形式传递html邮件时,它也可以工作。但它不会以html格式发送,而是以纯文本格式发送。

现在,我尝试了以下方法:

(1)$headers = array(\'Content-Type: text/html; charset=UTF-8\'); wp_mail($to, $subject, $message, $headers);

(2)$headers = \'MIME-Version: 1.0\' . "\\r\\n"; $headers .= \'Content-type: text/html; charset=iso-8859-1\' . "\\r\\n";

(3)$headers = \'MIME-Version: 1.0\' . "\\r\\n"; $headers .= \'Content-type: text/html; charset=UTF-8\' . "\\r\\n";

(4)function wpse27856_set_content_type(){ return "text/html"; } add_filter( \'wp_mail_content_type\',\'wpse27856_set_content_type\' );

还可能是什么?

2 个回复
SO网友:Domain

Try this one.

  add_filter( \'wp_mail_content_type\', \'wpdocs_set_html_mail_content_type\' );

    $to = \'[email protected]\';
    $subject = \'The subject\';
    $body = \'The email body content\';
    $headers = array(\'Content-Type: text/html; charset=UTF-8\');

    wp_mail( $to, $subject, $body , $headers);

    // Reset content-type to avoid conflicts -- https://core.trac.wordpress.org/ticket/23578
    remove_filter( \'wp_mail_content_type\', \'wpdocs_set_html_mail_content_type\' );

    function wpdocs_set_html_mail_content_type() {
        return \'text/html\';
    }
SO网友:Sam

我个人不会使用wp_mail-函数,也不是phpmail-作用它们都不能让你对你的电子邮件有多大的控制权。如果您想发送HTML电子邮件,最好发送一封纯文本邮件,这样无法阅读HTML电子邮件的用户也可以阅读您的邮件。

看看phpmailer 这是一个非常好的电子邮件发送类,它可以让你更好地控制电子邮件。您可以在HTML电子邮件中添加纯文本,设置发件人名称,而不仅仅是您的电子邮件地址等等。