本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme
部分主机商禁用了mail()函数,导致用户注册或者找回密码的时候都无法获取邮件。即使是支持了mail()函数,发送的邮件进入垃圾箱的几率也非常高,所以我们为了解决这个问题使用SMTP代发是非常不错的方式。
之前曾在WP SMTP插件,解决WordPress不能收到邮件这篇文章中介绍过如何使用WP SMTP插件,新手建议使用这个方法,如果为了提高wordpress效率,那么推荐使用代码的方式。将下面的代码添加到主题目录的functions.php文件中。
//使用smtp发送邮件,小z使用的是QQ邮箱,你可以参照你使用的邮箱具体设置SMTP
add_action('phpmailer_init', 'mail_smtp');
function mail_smtp( $phpmailer ) {
$phpmailer->FromName = '小z博客'; //发件人
$phpmailer->Host = 'smtp.exmail.qq.com'; //修改为你使用的SMTP服务器
$phpmailer->Port = 465; //SMTP端口,开启了SSL加密
$phpmailer->Username = 'service@xiaoz.me'; //邮箱账户
$phpmailer->Password = '******'; //输入你对应的邮箱密码,这里使用了*代替
$phpmailer->From = 'service@xiaoz.me'; //你的邮箱
$phpmailer->SMTPAuth = true;
$phpmailer->SMTPSecure = 'ssl'; //tls or ssl (port=25留空,465为ssl)
$phpmailer->IsSMTP();
}
之前在网上找了一段代码添加到functions.php中就出现错误,上面的代码小z亲测有效,下面整理了常用邮箱的SMTP服务器和端口。
邮箱 | SMTP服务器地址 | 非SSL端口号 | SSL端口号 |
163.com | smtp.163.com | 25 | 465或994 |
126.com | smtp.126.com | 25 | 465或994 |
qq.com | smtp.qq.com | 25 | 465或587 |
网易企业邮箱 | smtp.qiye.163.com | 25 | 994 |
腾讯企业邮箱 | smtp.exmail.qq.com | 25 | 465 |
谢谢了,我的就是没办法发送邮件。
用的AMH面板。
哎。。。
AMH是支持SMTP的,您按照教程设置试试呢。我之前一直用的AMH
不行呢,我设置了,还是不能发送。
那应该是设置不正确导致的,比如端口,SMTP服务器这些检查下。
纯粹巧合的路过,我也是看了小z的代码,试了很久都不行,恰好我也用的amh,但是我花了大半天时间挨个排查问题,最后发现是我服务商的原因。我发现我服务器那边根本ping不通smtp.qq.com,朋友你可以再研究研究你的具体问题。
学习了,刚按博主说的设置下QQ邮箱,不知道生效没。
已经点击你内容页的百度广告了,顺手而已,不客气啊!!欢迎回访,我的网站
话说我的博客没有任何广告联盟,都是些AFF广告,点击时没有用的说。不过还是谢谢啦。
好厲害哇