电子邮件中的生成徽标图像

Generation logo image in email

我在尝试发送电子邮件时遇到 link 生成问题。 在我的 .env 文件中:

WEB_LOGO="http://test.loc/build/images/logo.png"

在我的twig.yml

twig:
    globals:
        web_logo: '%env(WEB_LOGO)%'

我的电子邮件模板:

<img align="center" alt="" src="{{ web_logo }}" height="30">

问题是当我打开文件夹 /build/images 时,徽标图像是这样的:

http://test.loc/build/images/logo.12345.png

但我生成的是这样的:

http://test.loc/build/images/logo.png

我不能使用 {{ absolute_url(asset('build/images/logo.png')) }} 之类的生成器,因为我使用外部服务发送电子邮件并且我受到限制。请帮忙!

我不知道是否有更好的方法,但我会使用 Finder 组件来获取这样的文件名:

$finder = new Finder();
$directory = 'http://test.loc/build/images';
$name = 'logo';
$finder->in($directory)->name("/{$name}/")->files();
$logoFile = iterator_to_array($finder, false)[0];
$logoPath = $logoFile->getRealPath();

然后您可以将 $logoPath 变量作为参数传递给您的 twig 模板。

当然,如果你有多个标志文件,如'logo.1.png'和'logo.29.png'等,当然会有问题