服务器之家:专注于服务器技术及软件下载分享
分类导航

DEDECMS|帝国CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|苹果CMS|极致CMS|CMS系统|

服务器之家 - 建站程序 - Wordpress - WordPress中发送HTML邮件的方法

WordPress中发送HTML邮件的方法

2019-09-27 11:51WordPress建站网 Wordpress

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/html,wp_mail()就会用html格式发送邮件。 
 

复制代码

代码如下:


$headers = "MIME-Version: 1.0\n" . "Content-Type: text/html;"; 
wp_mail('me@example.net', 'The subject', '<p>The <em>HTML</em> message</p>', $headers); 


这样不用担心影响其它邮件,更省事了,适合发送自定义邮件。

延伸 · 阅读

精彩推荐