首页 > 解决方案 > 如何样式化 (HTML) 通过 Symfony Mailer 发送的 Monolog 电子邮件

问题描述

由于折旧,我正在将我的Monolog电子邮件记录从Swiftmailer转换为Symfony Mailer(如此推荐)。

我已成功完成转换并正在接收电子邮件。

然而,使用 Swift Mailer,所有 Monolog 电子邮件的格式都很好(参见示例)。使用 Symfony Mailer,我只有电子邮件的文本版本。

有没有办法使用 Symfony Mailer 获得类似的 HTML 输出?

顺便说一句,我只使用“symfony/mailer”和“symfony/monolog-bridge”,而不是完整的框架

我的代码:

$logger = new Logger('My Logger');

$transport = Transport::fromDsn('MYDSN');
$mailer = new Mailer($transport);

$message = (new Email())
    ->from(new Address('from@example.com', 'John Doe'))
    ->to(new Address('to@example.com', 'Jane Doe'))
    ->subject('My Subject');

$logger->pushHandler(
    new MailerHandler(
        $mailer,
        $message,
        Logger::ERROR
    )
);

标签: swiftmailermonologsymfony-mailer

解决方案


让它工作,我必须添加一个 HtmlFormatter(这对于 Swift Mailer 来说不是必需的):

$logger->pushHandler(
    (new MailerHandler(
        $mailer,
        $message,
        Logger::ERROR
    )->setFormatter(new HtmlFormatter())
);

推荐阅读