最近在阿里云的云虚拟主机上用wordpress搭建了一个站点,搭建好之后发现无法发送邮件。一般主题是没有集成邮件发送的,所以需要添加wordpress插件Easy WP SMTP。安装插件直接在wordpress后台搜索插件Easy WP SMTP即可,非常简单,就不在赘诉。
插件安装完成之后,直接设置发送邮箱地址,我这里用的是qq邮箱。
注意:部分服务器关闭了25端口(例如阿里云、腾讯云),如果不清楚请启用SSL,并使用465端口。
想要qq邮箱实现发邮件功能需要开启SMTP功能,直接到qq邮箱:
设置>账户>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务下面开启SMTP功能即可。
对于新手这里要注意一下,填写SMTP密码的时候不是qq邮箱密码,而是SMTP授权码。
一般到这里就没啥问题了,可以直接发送注册邮件了。但我测试发送的时候出现了:
尝试发送测试电子邮件时发生以下错误: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
提示信息的最后可以查看错误日志,发现是fsockopen() has been disabled for security reasons。于是我登陆阿里云控制台,在云虚拟主机上查看phpinfo()发现,fsockopen函数确实被禁用了。这就是导致邮件发送失败的原因!
解决办法:登录阿里云的云虚拟主机控制台,在左侧“高级环境设置”->“PHP.ini设置”中,将“PHP函数fsockopen设置”选择“启用”并保存。
然后再来发测试邮件时显示邮件发送成功!wordpress中的邮件服务可正常使用了。