【发布时间】:2020-11-14 02:11:23
【问题描述】:
所以我为我的重置密码系统设计了一个电子邮件模板。 在电子邮件模板中,有图片(徽标)。
我将这些图像放在名为Email_Images 的文件夹中,该文件夹位于Public 文件夹中!
首先,我尝试使用Asset() twig 函数链接图像,如下所示:
<img alt="logo 1" src="{{asset('Email_Images/1.png')}}" />
<img alt="logo 2" src="{{asset('Email_Images/2.jpg')}}" />
但它们都不起作用。所以我尝试在控制器中获取图像并将其发送到模板,如下所示:
$email = (new TemplatedEmail())
->from(new Address('myEmail@gmail.com', 'My Subject'))
->to($user->getEmail())
->subject('Your password reset request');
$img= $email ->embed(fopen('Email_Images/1.jpg', 'r'), 'img');
$email->htmlTemplate('reset_password/email.html.twig')
->context([
'resetToken' => $resetToken,
'img' => $img,
'tokenLifetime' => $this->resetPasswordHelper->getTokenLifetime(),
]);
在我做的模板中
<img alt="logo 1" src="{{ img }}" />
我得到了这个错误:
在渲染模板期间引发了异常 (“可捕获的致命错误:类的对象 Symfony\Bridge\Twig\Mime\TemplatedEmail 无法转换为 字符串")。
在电子邮件中添加/嵌入图像的正确方法是什么?
【问题讨论】:
标签: php symfony symfony4 symfony-mailer