如何在laravel9(事件(中检查smtp连接中的smtp电子邮件?
Laravel6和7:at job workers。。我基本上只连接一次邮件服务器。。工作人员不停地跑。。因此,过了一段时间,邮件服务器已经超时,因为他们已经很长时间没有通信了,发送电子邮件也停止了工作。。
laravel9:下面的解决方案不起作用,找不到swift类。你能给我提供解决方案吗?对于给定问题中的laravel9?
示例:在版本Laravel6,7 中
class MessageSending
{
public function __construct()
{
//
}
public function handle($event)
{
$transport = app('swift.mailer')->getTransport();
// check if connection is still alive or reconnect
if (!$transport->ping()) {
$transport->stop();
$transport->start();
}
}
}
在laravel 9错误(找不到swift.mailer类(
在升级Laravel安装时,您应该查看文档中的更改。在这种情况下,重要的东西列在Symfony Mailer:部分
Laravel 9.x最大的变化之一是从截至2021年12月不再维护的SwiftMailer过渡到Symfony Mailer。
这意味着SwiftMailer(您尝试与swift.mailer
一起使用(不再安装在您的应用程序中。
我怀疑相同的传输设置是否仍然可用(例如,SmtpTransport
类上的start()
方法现在是私有的(,所以您应该更改该代码的逻辑。例如,您可以使用Symfony的Messenger异步发送邮件