准备工作:
服务器开启465或25端口
SMTP是一种简单邮件传输协议,网站服务器要使用邮件发送功能就需要调用外部smtp服务器地址,邮箱自身也要开启smtp/pop功能才可以正常调用,同时服务器安全组还得开启25或465端口,25和465端口均是为SMTP服务器所开放,465端口采用加密方式发送邮件安全性更高。老王目前已知阿里云和腾讯云已经禁止了25端口,所以大家还是乖乖用465端口吧!
至于如何开启安全组端口这里也不做说明了,不懂的可以提交工单问客服人员。如果是虚拟主机用户就不需要那么麻烦了,默认相应的端口都是开启的,但是有些虚拟主机不支持mail()函数也会导致邮件发送失败,具体信息请询问主机商吧!
获取邮箱的授权码
如果是新浪邮箱和阿里云邮箱,授权码就是登录密码。这里老王是以QQ邮箱来进行测试的,需要找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务的授权码,一般在设置 — 账号中就能找到,如下图所示:
代码篇:
准备工作确定完成无误后就开始为WordPress配置SMTP了,代码改造比插件更加高效而且不会拖慢WordPress的响应时间,这里附上相关的代码,将下面中代码的信息适当的改为自己的,SMTP端口分为25或465两种选择,邮箱密码也在准备工作中为大家细述了。修改完代码之后复制丢到主题目录中的functions.php文件中即可生效。
//WordPress邮箱SMTP配置开始
function mail_smtp( $phpmailer ) {
$phpmailer->FromName = '老王'; //发件人名称
$phpmailer->Host = 'smtp.qq.com'; //修改为你使用的邮箱SMTP服务器
$phpmailer->Port = 465; //SMTP端口
$phpmailer->Username = 'laowang@qq.com'; //邮箱账户
$phpmailer->Password = '****'; //邮箱密码(此处填写QQ邮箱生成的授权码)
$phpmailer->From = 'laowang@qq.com'; //邮箱账户
$phpmailer->SMTPAuth = true;
$phpmailer->SMTPSecure = 'ssl'; //tls or ssl (port=25时->留空,465时->ssl)
$phpmailer->IsSMTP();
}
add_action('phpmailer_init', 'mail_smtp');
//WordPress邮箱SMTP配置end
考虑到国内的邮箱厂商非常的多,不同的邮箱SMTP服务器地址也是大不相同的,在此老王搜索一些比较常用的邮箱SMTP服务器地址,其他本文没列出的邮箱SMTP地址大家可以直接百度一下就有了。将下面对应的SMTP填入上面的代码中,如果是QQ邮箱就不用改了老王目前用的就是。
腾讯QQ邮箱:smtp.qq.com
Foxmail邮箱:smtp.foxmail.com
网易163邮箱:smtp.163.net
新浪免费邮箱:smtp.sina.com
腾讯企业邮箱:smtp.exmail.qq.com
雅虎免费邮箱:smtp.mail.yahoo.cn
网易126邮箱:smtp.126.com
搜狐免费邮箱:smtp.sohu.com
Gmail邮箱(目前gmail在国内貌似GG):smtp.gmail.com
学习了
哈哈
哈哈