php - Symfony 5 Mailer 未定义方法名为 "htmlTemplate"

标签 php symfony mailer

我正在寻找使用 Symfony Mailer在个人项目中。这个想法是用户订阅时事通讯,然后他收到一封确认他订阅的邮件。 我在我的 Controller 中创建了一个函数发送邮件,以便在提交表单时调用此函数。

    function sendEmail(MailerInterface $mailer, $useremail)
    {
        $email = (new Email())
            ->from('mail@mail.exemple')
            ->to($useremail)
            ->subject('Great !')
            ->htmlTemplate('emails/signup.html.twig');

        $mailer->send($email);
        return $email;
    }

     /**
     * @Route("/", name="homepage")
     */
    public function index(Request $request, MailerInterface $mailer)
    {
        $mailing = new Mailing();
        $form = $this->createForm(MailingType::class, $mailing);

        $form->handleRequest($request);
        if ($form->isSubmitted() && $form->isValid()) {

            $task = $form->getData();


            $this->sendEmail($mailer , $request->request->get('mailing')['email']);

            return $this->redirectToRoute('homepage');

        }

当我提交表单时,一切正常,但是当它进入我的 sendEmail 函数时,出现以下错误:

Attempted to call an undefined method named "htmlTemplate" of class "Symfony\Component\Mime\Email".

你知道为什么会出现这个错误吗?我不明白发生了什么。

谢谢。

最佳答案

要使用模板,您需要使用 docs 中描述的 TemplatedEmail。

use Symfony\Bridge\Twig\Mime\TemplatedEmail;
function sendEmail(MailerInterface $mailer, $useremail)
{
  $email = (new TemplatedEmail())
    ->from('mail@mail.exemple')
    ->to($useremail)
    ->subject('Great !')
    ->htmlTemplate('emails/signup.html.twig');

  $mailer->send($email);
  return $email;
}

关于php - Symfony 5 Mailer 未定义方法名为 "htmlTemplate",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61556666/

相关文章:

php - javascript 验证未激活可能是由于 HTML 表单上的 php 邮件程序

ruby-on-rails - 使用 rake 任务时检查电子邮件是否发送过一次的最佳方法是什么?

javascript - 无法将带有 ""、 '' 和/n 的字符串从 PHP 回显到 JavaScript

php - ORACLE + PHP oci_execute() 卡住并且不返回任何内容

symfony - Amazon ElasticBeanstalk 中的单实例 cronjob

symfony - 如何使用phpunit在功能测试中使symfony显示异常

ruby-on-rails - 在 Rails 3 中附加文件 - mimepart Mailer

javascript - Laravel Gulp 未创建 js 文件夹

php - 我在哪里定义索引?

symfony - 如何使用 symfony2 生成 pdf 报告?