WordPress无插件实现邮箱SMTP发件功能,代码设置更简洁

目前wordpress发邮件有两种方式:一种是wp默认的mail函数方式(sendmail)发邮件,这个是wp…

目前wordpress发邮件有两种方式:一种是wp默认的mail函数方式(sendmail)发邮件,这个是wp默认的,但很多用户使用的虚拟主机都禁用了mail函数以至于网站无法发邮件(注册用户、找回密码等一些操作都需要发送邮件),较先进而又有效率的就是smtp方式。

以126邮箱为演示邮箱。要把邮箱的smtp的服务打开,smtp服务设置在(设置——帐户设置——POP3/SMTP/IMAP服务 下两个全勾上),保存OK。如下图:
WordPress无插件实现邮箱SMTP发件功能
然后会提示设置客户端授权码,这个授权码就相当于在wordpress上需要填写的“邮箱密码”(P.S.这个授权码并不是邮箱登录密码,最好不要重复)
WordPress无插件实现邮箱SMTP发件功能

开启了邮箱的smtp服务,下面就是配置wordpress了。这里是比较关键的地方,直接将以下代码插入到主题的functions.php里即可(functions.php最下方有集成的 评论邮件回复代码 ,粘到最下方即可!);其他主题应该也是类似(将下面代码添加到functions.php最后的 ?> 前面):

/*
* WordPress无插件使用SMTP发送邮件并修改发件人名称
*/
function mail_smtp( $phpmailer ) {
$phpmailer->IsSMTP();
$phpmailer->SMTPAuth = true; //启用SMTPAuth服务
$phpmailer->Port = 465; //MTP邮件发送端口,这个和下面的对应,如果这里填写25,则下面为空白
$phpmailer->SMTPSecure =”ssl”; //是否验证 ssl,这个和上面的对应,如果不填写,则上面的端口须为25
$phpmailer->Host = “smtp.126.com”; //邮箱的SMTP服务器地址,如果是QQ的则为:smtp.exmail.qq.com
$phpmailer->Username = “admin@126.com”; //你的邮箱地址
$phpmailer->Password =”********”; //你的邮箱授权密码(有的是登录密码)
}
add_action(‘phpmailer_init’, ‘mail_smtp’);
//下面这个很重要,需跟上面smtp邮箱一致才行
function ashuwp_wp_mail_from( $original_email_address ) {
return ‘skillcat@126.com’;
}
add_filter( ‘wp_mail_from’, ‘ashuwp_wp_mail_from’ );
//修改WordPress发送邮件的发件人
function new_from_name($email){
$wp_from_name = get_option(‘blogname’);
return $wp_from_name;
}
add_filter(‘wp_mail_from_name’, ‘new_from_name’);

特别注意端口和协议一定要对应。如果使用25端口还是无效果,还是开启ssl吧,最新的好像需要开启加密,然后保存即可。

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注