最近在阿里云的云虚拟主机上用wordpress搭建了一个站点,搭建好之后发现无法发送邮件。
通过查资料发现云虚拟主机默认封锁了25端口,于是尝试使用第三方SMTP通过465端口发送,wordpress中有现有的插件,安装了使用人数最多的WP Mail SMTP,在插件的设置中填好各项信息,邮件程序选择“其他SMTP”,SMTP端口填465,加密选SSL/TLS,其他信息可在邮件服务商(如阿里云邮件服务、QQ邮箱、163邮箱等)的设置中找到(注意密码可能并非邮箱登录密码而是另外的授权码)。
设置好插件之后,点击电子邮件测试,发现测试邮件发送失败,提示信息的最后可以查看错误日志,发现是fsockopen() has been disabled for security reasons。在云虚拟主机上查看phpinfo()发现,fsockopen函数确实被禁用了。登录阿里云的云虚拟主机控制台,在左侧“高级环境设置”->“PHP.ini设置”中,将“PHP函数fsockopen设置”选择“启用”并保存后,wordpress中的邮件服务即可正常使用。