You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复「无法与主机建立连接(Connection could not be established with host)」错误?

修复Symfony Mailer无法连接SMTP主机的Connection refused错误

针对日志中出现的无法与主机 "ssl://awamir.one:465" 建立连接: stream_socket_client(): 无法连接到 ssl://awamir.one:465 (Connection refused)错误,可按以下步骤排查修复:

1. 验证SMTP服务器端口与可用性

  • 用命令测试端口连通性:
    # Telnet测试
    telnet awamir.one 465
    # 或nc测试(更直观)
    nc -zv awamir.one 465
    
  • 若连接失败,确认服务器是否启用465端口,或尝试替换为587端口(STARTTLS协议常用端口)
  • 检查域名解析正确性:
    nslookup awamir.one
    
    确保解析结果指向正确的SMTP服务器IP

2. 排查防火墙与安全组限制

  • 应用服务器侧:检查防火墙(如ufw、firewalld)是否禁止出站465端口,执行对应命令放行:
    # UFW示例
    sudo ufw allow out 465/tcp
    # Firewalld示例
    sudo firewall-cmd --add-port=465/tcp --permanent
    sudo firewall-cmd --reload
    
  • SMTP服务器侧:确认安全组/防火墙规则允许应用服务器IP访问465端口,若为云服务器需同步检查云服务商安全组配置

3. 核对Symfony Mailer配置参数

  • 检查项目.env文件中的邮件DSN配置,确保参数正确:
    # SSL/465端口配置示例
    MAILER_DSN=smtp://your_username:your_password@awamir.one:465?encryption=ssl
    # 若服务器支持STARTTLS,可改用587端口
    MAILER_DSN=smtp://your_username:your_password@awamir.one:587?encryption=tls
    
  • 确认SMTP账号的用户名、密码有效,部分邮箱服务商需开启「第三方应用密码」而非原账号密码

4. 检查PHP环境配置

  • 验证PHP是否启用openssl扩展:
    php -i | grep openssl
    
    若未启用,需在php.ini中开启extension=openssl
  • 确认allow_url_fopen参数在php.ini中设置为On

5. 临时排查SSL证书问题(测试用)

  • 若怀疑是SSL证书验证失败,可临时关闭验证测试(生产环境禁用):
    MAILER_DSN=smtp://your_username:your_password@awamir.one:465?encryption=ssl&verify_peer=false&verify_peer_name=false
    
    若测试成功,需为服务器配置有效SSL证书,或在PHP环境中安装正确的CA证书包

内容的提问来源于stack exchange,提问作者Md Abdur Rhman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 19:04:55