【问题标题】:Laravel & Cpanel: how to fix Swift_TransportException (mail server)?Laravel & Cpanel:如何修复 Swift_TransportException(邮件服务器)?
【发布时间】:2021-09-18 03:56:09
【问题描述】:

当部署 laravel 项目并将其放在服务器上时,我在尝试发送电子邮件时遇到此错误:

"Swift_TransportException 无法与主机 smtp.mailtrap.io 建立连接:stream_socket_client():无法连接到 tcp://smtp.mailtrap.io:2525(连接被拒绝)"

我尝试过切换端口,但不起作用。

Laravel 当前环境设置:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=user
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

有人对我可以尝试解决此问题的方法有什么建议吗?

提前致谢!

【问题讨论】:

    标签: php laravel email server cpanel


    【解决方案1】:

    最好的办法是使用一些网络诊断实用程序来找出块的来源,然后更新相应的防火墙或修复网络问题。

    1. 以 root 用户身份通过​​ SSH 或终端登录服务器

    2. 安装 mtr 为:yum install mtr -y

    3. 首先以 root 身份运行 MTR 测试:

      mtr --tcp --port 2525 --report --report-cycles 10 smtp.mailtrap.io

    4. 你看到有多少跳?如果只是一个,则该块很可能来自您自己的本地防火墙。只有 2 个跃点可能是您的服务提供商。至于丢包、延迟等,这些很好理解,但不在本文的范围内。 Linode has a top notch mtr guide if you need.

    5. 如果您在该 MTR 运行中没有找到任何块,请在切换到拥有 SMTP 脚本的 cPanel 用户后运行相同的命令:

    su -l -s /bin/bash cpanelusernamehere
    mtr --tcp --port 2525 --report --report-cycles 10 smtp.mailtrap.io
    
    1. 还有多少跳?哪个节点似乎正在执行阻止?

    如果连接在被拒绝之前合法地一直连接到 smtp.mailtrop.io,您需要让他们为您检查。

    如果仍然不清楚发生了什么,您也许可以使用 telnet 和 nmap 找出一些额外的线索:

    yum install telnet nmap -y 
    nmap -p 2525 smtp.mailtrap.io
    telnet smtp.mailtrap.io 2525
    

    【讨论】:

    • 它是共享主机,我们没有 root 访问权限。但他们说所有端口都是开放的......
    • @AurynVansteenkiste 您仍然可以向他们询问这些 MTR 命令的输出。我看不出他们无法提供该信息的任何原因,这对于您的故障排除工作非常宝贵。在我看来,这是一个完全有效的请求。如果他们不愿意帮助您找到阻止的来源,您可以考虑寻找更适合解决此类问题的托管服务提供商。
    • 嗨,我没有问,因为他们告诉我所有端口都是开放的。但我猜他们会给我命令的输出。我托管在 godaddy > cpanel
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2015-02-04
    • 2018-08-15
    • 1970-01-01
    • 2020-05-04
    相关资源
    最近更新 更多