问题描述
默认情况下,wp_mail函数不支持显示格式化的电子邮件。例如,带有格式文本的新评论的通知显示HTML标签显示为纯文本。
我通过将以下代码添加到 functions.PHP 文件中解决了此问题:
function set_html_mail_content_type(){
return "text/html";
}
add_filter( 'wp_mail_content_type','set_html_mail_content_type' );
但是出现另一个问题。整封电子邮件以连续文本显示:没有新行,也没有段落:只是所有句子都在一行中。
您知道它可能与什么有关吗?
解决方法
我通常通过在wp_mail()
的headers参数中传递内容类型来解决此问题
例如...
$to = '[email protected]';
$subject = 'HTML Test';
$body = '<html>...</html>';
$headers = [
'Content-Type' => 'text/html; charset=UTF-8'
];
wp_mail( $to,$subject,$body,$headers );
此处有更多信息:https://developer.wordpress.org/reference/functions/wp_mail/
希望这能回答您的问题。