我的电子邮件如下所示:
$email = (new TemplatedEmail())
->from(new Address('example@example.com', 'Support'))
->to('example@example.com')
->subject('Your password reset request')
->htmlTemplate('reset_password/email.html.twig')
->context([
'resetToken' => '12312321',
]);
它会抛出如下错误:
消息必须包含文本、HTML部分或附件
我发现我不得不补充一句:
$loader = new FilesystemLoader($this->kernel->getProjectDir() . '/templates');
$twigEnv = new Environment($loader);
$twigBodyRenderer = new BodyRenderer($twigEnv);
$twigBodyRenderer->render($email);
但我很确定这不可能是正确的方法。我真的必须在每个电子邮件发送操作中写入这4行吗?另外,当我安装symfonycasts/reset-password-bundle
时,它没有FilesystemLoader
等。因此,电子邮件工作显然不需要它。我在这里遗漏了一些东西?
1条答案
按热度按时间lvjbypge1#
为了不需要更多代码就能找到模板,您的twig配置应该包含如下内容