WordPress发送邮件的函数是wp_mail()默认以纯文本(text/plain)格式发送通过wp_mail()提供的filter函数可以更改为以HTML格式发送也可以通过制定wp_mail()的第四个参数$headers改变发送邮件的行为。
方法一用filter发送HTML邮件
发邮件用的函数是wp_mail()wp_mail()则基于强大的邮件类phpMailer所以发送HTML格式是小菜一碟。只是WordPress默认以纯文本格式发送邮件我们收到的重设密码、评论提醒、用户注册等邮件都是纯文本格式的。
要发送HTML格式wp_mail()给我们提供了一个filter可以改变content-type在主题的functions.php或插件中写如下代码即可add_filter(wp_mail_content_type,create_function(, return "text/html";));
这样做会导致所有邮件都以html格式发送那些本来用纯文本发送的邮件可能会变得惨不忍睹(例如重设密码、用户注册等邮件)所以可以只在满足某些条件时使用HTML格式发送其它时候还是用默认的这样代码变成下面这样add_filter(wp_mail_content_type, sola520_use_html);
function sola520_use_html( $content_type ) {
if( 你的条件 )
return text/html;
else
return $content_type;
}
方法二用$headers实现
只要在header中指定content-type为text/htmlwp_mail()就会用html格式发送邮件。$headers Content-type: text/html;
wp_mail(meexample.net, The subject,
The HTML message
, $headers);这样不用担心影响其它邮件更省事了适合发送自定义邮件。