我最近更新到 Laravel 9,现在我无法再发送电子邮件。在更新日志中写道,他们将邮件程序从 SwiftMailer 切换到了 Symfony,所以也许这就是问题的根源。 这是每当我尝试发送邮件时收到的错误正文:
SymfonyComponentMailerExceptionTransportException: Unable to write bytes on the wire. in file C:OpenServerdomainsminecraftstoragevendorsymfonymailerTransportSmtpStreamAbstractStream.php on line 46
我按照文档配置了我的 .env 和 config/mail.php 文件。我确信这一方面的一切都是正确的。对于 SMTP 服务器,我使用 MailTrap,因此邮件配置是从那里获取的。我花了两天时间试图解决这个问题,在互联网上进行了搜索,但没有成功。重新安装 Composer 依赖项也没有帮助。
下面是我的.env邮件配置:
MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=************** MAIL_PASSWORD=************** MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS="noreply@example.com" MAIL_FROM_NAME="${APP_NAME}"
我终于找到了解决办法。问题是我的互联网提供商以某种方式阻止了 smtp 连接。因此,当我从 Wifi 切换到移动数据时,它突然开始工作。希望这对遇到类似问题的其他人有所帮助。