Laravel控制连接smtp电子邮件



如何在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异步发送邮件

最新更新