我目前在我的项目中使用 Symfony Messenger。我用它通过 MessageHandler 发送邮件
这是文件:
<?php
namespace App\MessageHandler;
use App\Entity\Dossier;
use App\Message\SendEmailMessage;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Email;
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
class SendEmailMessageHandler implements MessageHandlerInterface
{
/** @var EntityManagerInterface */
private $em;
/** @var MailerInterface */
private $mailer;
public function __construct(EntityManagerInterface $entityManager, MailerInterface $mailer)
{
$this->entityManager = $entityManager;
$this->mailer = $mailer;
}
public function __invoke(SendEmailMessage $message)
{
$email = (new Email())
->from('[email protected]')
->to('[email protected]')
->subject('test')
->html('test');
$this->mailer->send($email);
}
}
是否有一种通过 Messenger 跟踪邮件以获取 smtp 服务器或类似内容的响应的方法?我想向用户显示邮件是否已使用 Messenger 发送
我想使用 Messenger 将邮件状态存储在我的数据库中,但我不知道从哪里开始:(