kyoushu/inline-swiftmailer-transport

此包已被废弃且不再维护。未建议替代包。

SwiftMailer 传输插件,在转发消息到其他传输进行投递之前,将 CSS 内联

1.0.0 2016-04-27 16:31 UTC

This package is auto-updated.

Last update: 2023-01-15 19:29:18 UTC


README

SwiftMailer 传输插件,在转发消息到其他传输进行投递之前,将 CSS 内联

过滤器

内联嵌入 CSS

当创建 InlineTransport 实例时,此过滤器会自动加载

示例

$deliveryTransport = new \Swift_SmtpTransport('localhost', 25);
$transport = new InlineTransport($deliveryTransport, new \Swift_Events_SimpleEventDispatcher());
$message = new \Swift_Message('Foo', '<html><head><style>p{ font-weight: bold; }</style></head><body><p>Foo</p></body></html>', 'text/html');
$transport->send($message);

通过投递传输发送的正文

<html><head><style>p{ font-weight: bold; }</style></head><body><p style="font-weight: bold;">Foo</p></body></html>

内联包含 CSS

如果您想要将使用 <link> 元素包含的 CSS 内联,而不是使用 <style> 元素嵌入的 CSS,请使用 InlineCssMessageFilter 类。

示例

$webRootDir = '/path/to/my/web/root/dir';

$deliveryTransport = new \Swift_SmtpTransport('localhost', 25);
$transport = new InlineTransport($deliveryTransport, new \Swift_Events_SimpleEventDispatcher());
$transport->addMessageFilter(new InlineCssMessageFilter($webRootDir));

$message = new \Swift_Message('Foo', '<html><head><link rel="stylesheet" href="/css/email.css"></head><body><p>Foo</p></body></html>', 'text/html');
$transport->send($message);

嵌入图片

示例

具有绝对 src 属性的 <img> 元素被嵌入,并用 "cid:########" 值更新。

$webRootDir = '/path/to/my/web/root/dir';

$deliveryTransport = new \Swift_SmtpTransport('localhost', 25);
$transport = new InlineTransport($deliveryTransport, new \Swift_Events_SimpleEventDispatcher());
$transport->addMessageFilter(new EmbedImageMessageFilter($webRootDir));

$message = new \Swift_Message('Foo', '<html><body><img src="/images/my-image.png"</body></html>', 'text/html');
$transport->send($message);

通过投递传输发送的正文

<html><body><img src="cid:09F48ag2b674"</body></html>