如何设置通过 Symfony Mailer 发送的 (HTML) Monolog 电子邮件的样式

问题描述 投票:0回答:2

由于折旧,我正在将我的 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('[email protected]', 'John Doe'))
    ->to(new Address('[email protected]', 'Jane Doe'))
    ->subject('My Subject');

$logger->pushHandler(
    new MailerHandler(
        $mailer,
        $message,
        Logger::ERROR
    )
);
swiftmailer monolog symfony-mailer
2个回答
0
投票

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

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

0
投票

迟到了,但是如果您仅通过 yaml 配置 monolog-mailer,那么您需要添加以下内容才能获得漂亮的 html 格式:

formatter:  monolog.formatter.html
content_type: text/html

(来源:如何配置 Monolog 来发送电子邮件错误

© www.soinside.com 2019 - 2024. All rights reserved.