【问题标题】:Connection to tcp://smtp.mail.yahoo.com:465 Timed Out连接到 tcp://smtp.mail.yahoo.com:465 超时
【发布时间】:2016-11-15 10:27:50
【问题描述】:

我真的在为这个错误而苦苦挣扎:

AbstractSmtpTransport.php 第 404 行中的 Swift_TransportException: 连接到 tcp://smtp.mail.yahoo.com:465 超时

我希望有人能对此有所了解。

这是我在.env 文件中的设置

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mail.yahoo.com
MAIL_PORT=465
MAIL_USERNAME=dev.email@yahoo.com
MAIL_PASSWORD=******

【问题讨论】:

  • 检查一下:help.yahoo.com/kb/SLN4075.html,您启用 SSL 了吗? MAIL_ENCRYPTION=SSL
  • 我忘记添加在我的本地环境中发生的细节。

标签: php laravel email laravel-5 smtp


【解决方案1】:

我注意到 /config/mail.php ,我明白了

'encryption' => env('MAIL_ENCRYPTION', 'tls'),

通过将其更新为

'encryption' => env('MAIL_ENCRYPTION', 'ssl'),

现在,它工作正常。我的电子邮件现在正在发送。

【讨论】:

  • 您也可以在 .env file MAIL_ENCRYPTION=ssl 中这样做
  • 通过这样做,我的错误已经消失,但没有发送电子邮件。我正在使用我的域电子邮件服务器。
  • 对我的 Laravel 5.5 应用真的很有帮助。
  • 这对我的 Laravel 7 没有任何帮助
【解决方案2】:

使用 Laravel 6.x、7.x 和 8.x

建议在默认 tls 上使用 SSL。

大多数共享托管服务提供商使用 SSL 签署电子邮件,因此请编辑您的 .env 文件以获取此内容

MAIL_ENCRYPTION=ssl

【讨论】:

  • 另外,应该使用 SSL 的端口
  • 现代电子邮件服务器使用 端口 587 进行安全提交
  • 是的,确实如此,但是我在尝试使用端口 587 时遇到了问题,与邮件服务器的连接总是超时。它工作正常,但突然停止了。我更改为 465,它工作得很好。你的评论让我了解了一些关于difference between port 587 and 465
【解决方案3】:

随便用 MAIL_ENCRYPTION=tlsMAIL_ENCRYPTION=ssl

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mail.yahoo.com
MAIL_PORT=465
MAIL_USERNAME=dev.email@yahoo.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=ssl

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多