WordPress通过SMTP发送邮件超时(连接失败)问题排查求助
解决WordPress中Yandex SMTP连接超时问题
结合你给出的配置信息和错误日志,我来给你梳理几个针对性的排查和解决方向:
1. 先确认服务器网络连通性
连接超时最核心的原因大概率是服务器无法访问Yandex的SMTP端口。你可以登录服务器执行以下命令测试:
# 测试465端口是否能连通 telnet smtp.yandex.ru 465 # 或者用curl更直观查看连接过程 curl -v ssl://smtp.yandex.ru:465
如果命令执行后卡住、提示"连接失败",说明你的服务器防火墙、主机商安全组或者运营商网络封了465端口。这时候可以:
- 联系主机服务商,请求开放
smtp.yandex.ru:465的出站访问权限; - 直接切换到Yandex支持的587端口(TLS加密),后面会说具体配置方法。
2. 检查PHP OpenSSL版本兼容性
你的PHP版本是5.4.45,这个版本的OpenSSL扩展通常比较老旧,可能无法验证Yandex的SSL证书,导致连接过程中卡住超时。你可以:
- 新建一个
phpinfo.php文件,内容写<?php phpinfo(); ?>,上传到服务器访问,找到OpenSSL板块,确认OpenSSL Version是否在1.0.1以上; - 如果版本过低,建议升级PHP到5.6或7.0(WordPress 4.8.5完全兼容这两个版本),既能解决证书验证问题,也能提升站点安全性。
3. 调整SMTP配置参数
尝试修改WP Mail SMTP的配置为更兼容的设置:
- Host:保持
smtp.yandex.ru不变; - Port:改为
587; - SMTPSecure:选择
tls; - SMTPAutoTLS:设置为
true; - SMTPAuth:保持
true; - 务必确认发件人邮箱是你在Yandex注册的完整邮箱(比如
yourname@yandex.ru),如果账号开启了两步验证,必须使用应用密码而非普通登录密码。
4. 检查Yandex账号的SMTP权限
登录你的Yandex邮箱后台:
- 找到「邮件客户端」设置项,确保已经开启「允许使用邮件客户端访问」;
- 如果开启了两步验证,一定要在账号安全页生成专门的应用密码,用这个密码填写到SMTP配置里,普通密码会被Yandex拒绝访问。
内容的提问来源于stack exchange,提问作者Vitaliy
相关产品推荐
相关产品推荐

