php - 在 Wordpress 中显示格式化电子邮件的问题
问题描述
默认情况下,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' );
在那之后,电子邮件开始带有格式化的文本并且没有 HTML 标记。
但又出现了一个问题。整封电子邮件以连续文本形式出现:没有换行也没有段落:只是所有句子都在一行中。
你知道它可能与什么有关吗?
解决方案
我通常通过在 headers 参数中传递内容类型来处理这个问题wp_mail()
例如...
$to = 'john.doe@example.com';
$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/
希望这能回答你的问题。
推荐阅读
- python - 错误:将 Django 应用程序部署到 Heroku 推送被拒绝
- reactjs - 构建失败 - 在 AWS Amplify 中“npm build”后检测到非零退出代码
- python - 创建具有混合数据类型的结构化数组,但不能创建布尔类型
- php - Symfony API:来自甚至不存在的文件的错误
- python - 如何在 Python Turtle textinput() 中修复此 int() 错误
- angular - Angular PrimeNG p-confirmDialog 显示两次
- java - Spring Integration - 轮询器触发太频繁
- python - DRF 序列化外键返回对象,而不是 ID
- python - 更改数据框值
- typescript - 如何使用与 sequelize-typescript 的多对多关联?