wordpress 发邮件 php,使用WordPress的PHPMailer发送Email,wordpress很多插件可以支持smtp发邮件,但是这个因为wordpress自带phpmailer,而且phpmailer是可以自己配置一些东西的,所以某些比如虚拟主机很苛刻的情况下,尽可能的去支持发邮箱,所以用这个
利用wordpress自带phpmailer的原理,在主题也就是/wp-content/themes/主题名/functions.php
文件里面放这个wordpress钩子即可,网上也有一些资料,但是函数名用的冲突所以会导致500,下面结合了官方的代码语句,亲测不冲突可解决问题,记得用之前卸载其它已经安装的smtp插件,不然可能不生效,具体自测!
利用wordpress自带phpmailer现免插件实发邮件
//smtp发送邮件功能
function my_phpmailer_example( $phpmailer ) {
$phpmailer->FromName = 'Admin'; //名字
$phpmailer->Host = 'smtp.qq.com'; //smtp地址,可以到你使用的邮件设置里面找
$phpmailer->Port = 587; //端口,一般不用修改
$phpmailer->Username = 'xxxxxxxx@qq.com'; //邮件账号
$phpmailer->Password = 'xxxxxxxx'; //邮件密码
$phpmailer->From = 'xxxxxxxx@qq.com';//邮件账号
$phpmailer->SMTPAuth = true;
$phpmailer->SMTPSecure = 'tls'; //tls or ssl (port=25留空,465为ssl,587为tls)一般不用修改
$phpmailer->IsSMTP();
$phpmailer->isHTML(true);
//禁用ssl避免某些主机出问题
//某些虚拟主机需要去掉注释,禁用ssl才能发邮件
/*
$phpmailer->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
*/
}
add_action('phpmailer_init', 'my_phpmailer_example');
参考资料:
- https://cloud.tencent.com/developer/article/2359516
- https://developer.wordpress.org/reference/hooks/phpmailer_init/
下面这个资料是官方的,区别在于官方的把函数名改了下,这样不冲突,但是默认只要不装其他smtp插件,就会直接调用这个进行发邮件了!