Laravel项目集成Mailtrap失败:sandbox.smtp.mailtrap.io连接被拒绝
Laravel集成Mailtrap连接被拒绝问题排查与解决
报错信息
Connection could not be established with host sandbox.smtp.mailtrap.io :stream_socket_client(): unable to connect to ssl://sandbox.smtp.mailtrap.io:465 (Connection refused)
排查与解决步骤
1. 修正端口与加密协议的匹配
Mailtrap支持的端口和加密组合为:
- 465端口对应
ssl加密 - 587端口对应
tls加密
若当前465+ssl组合连接失败,优先切换为587+tls组合,修改.env配置:
MAIL_PORT=587 MAIL_ENCRYPTION=tls
2. 清除配置缓存确保修改生效
Laravel会缓存配置文件,修改.env后必须执行以下命令清除缓存:
php artisan config:clear php artisan cache:clear
3. 验证用户名与密码准确性
确认.env中的MAIL_USERNAME和MAIL_PASSWORD是从Mailtrap控制台复制的完整值,避免额外空格或字符缺失。
4. 检查网络环境限制
- 本地开发环境:确保PHP的
openssl扩展已启用(查看php.ini中extension=openssl是否被注释) - 服务器环境:检查防火墙/安全组是否放行587或465端口,是否存在代理、VPN导致的网络阻断
5. 测试基础连接
用telnet或curl测试服务器是否能访问Mailtrap地址:
telnet sandbox.smtp.mailtrap.io 587 # 或 curl -v sandbox.smtp.mailtrap.io:587
若无法连接,说明网络层面存在问题,需联系服务器管理员或网络服务商处理。
内容的提问来源于stack exchange,提问作者sms hun
相关产品推荐
相关产品推荐

