我与 symfony 合作,我尝试使用 Mailer 发送邮件,
{% block body %}
{% apply inky_to_html|inline_css(source('@css/foundation-emails.css')) %}
<container>
<row>
<columns>
<h1 class="text-center">Rénisialisation de mot de passe</h1>
<p class="text-center">{{ sujet }}</p>
{# <p class="text-center">Cliquer sur le lien ci-dessu pour voir les détails</p>#}
</columns>
</row>
<spacer size="16"></spacer>
<row>
<columns>
<center>
<button class="rounded large" href="https://localhost:8000/user/reset/{{ id }}/{{ reset_token }}">Rénitialiser</button>
</center>
</columns>
</row>
</container>
<img src="{{ email.image('@images/logo.png') }}" alt="Logo" style="width: 260px">
{% endapply %}
{% endblock %}
电子邮件模板可以工作,但我有一些包含大量图像的模板,这些图像在电子邮件末尾显示为附件。 我想在没有此附件的情况下展示我的模板
有两种方法可以获得带有图像的丰富电子邮件。一种是您实际发送嵌入在电子邮件中的图像,另一种是简单地提供一个链接以从互联网上获取图像。两种方法都有其优点和缺点。
嵌入图像几乎总是会显示在客户的电子邮件客户端中 - 因为它们已经被下载。缺点是它会使电子邮件本身变得更大,并且一些客户会将图像作为附件显示。某些电子邮件客户端在发现邮件正文中使用了附件时会隐藏附件。但嵌入图像时您无法控制这一点。
链接图像有时只会由客户的电子邮件客户端显示 - 当嵌入图像时,他们更有可能在电子邮件中看到您的图像。这种方法的优点是电子邮件更小。
如果您想使用链接图像路由,只需使用
<img src="https://example.com/path-to-image" alt="Logo">
或者如果您正在使用资产(https://symfony.com/doc/current/components/asset.html)
<image src="{{ absolute_url(asset('images/logo.png') }}" alt="Logo">
否则,对于嵌入图像帮助 您似乎已经知道如何嵌入图像,但如果这不起作用,那么您可能需要检查您的配置文件。
# config/packages/twig.yaml
twig:
paths:
# point this wherever your images live
'%kernel.project_dir%/assets/images': images
文档的完整详细信息位于:https://symfony.com/doc/6.4/mailer.html#embedding-images-1