首页 > 解决方案 > 如何解决“现有连接被远程主机强行关闭”的问题。从 Laravel 发送邮件时?

问题描述

我正在尝试从 Laravel 发送电子邮件,但它给出了ErrorException。我正在使用带有生成的应用程序密码的gmail 。

我已经使用各自的端口尝试了 SSL 和 TLS 协议。还尝试在选项数组中进行更改Swift\Transport\StreamBuffer

verify_peer => false,
verify_peer_name => false

我的环境文件中的设置是:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=myApplicationPassword
MAIL_ENCRYPTION=tls

我收到的错误是:

fwrite(): send of 17 bytes failed with errno=10054 现有连接被远程主机强行关闭。 在 StreamBuffer.php 第 240 行

at HandleExceptions->handleError(8, 'fwrite(): send of 17 bytes failed with errno=10054 An existing connection was forcibly closed by the remote host. ', 'D:\\xampp2\\htdocs\\express\\vendor\\swiftmailer\\swiftmailer\\lib\\classes\\Swift\\Transport\\StreamBuffer.php', 240, array('bytes' => 'HELO [IPv6:::1] ', 'bytesToWrite' => 17, 'totalBytesWritten' => 0))

我还用我的电子邮件地址和姓名填写了 fromreply_to数组config/mail.php

发送邮件的代码是:

Mail::to($user->email)->send(new WelcomeMail);

请告诉我,这个错误背后的原因,可以在不破解核心文件的情况下解决吗?我有哪些选择

标签: phplaravelsmtpgmailswiftmailer

解决方案


推荐阅读