Метод html класса Email
Метод html класса Email задаёт HTML-тело письма. Он принимает первым параметром строку с HTML-разметкой. Если в письме также задан текст через метод text, то почтовые клиенты, поддерживающие HTML, отобразят HTML-версию, а остальные - текстовую.
Синтаксис
$email->html(string $body): static
Пример
Давайте создадим письмо и установим его HTML-содержимое:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Email;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/send-email', name: 'article_send_email')]
public function send(MailerInterface $mailer): Response
{
$email = (new Email())
->from('sender@example.com')
->to('recipient@example.com')
->subject('Hello')
->html('<p>hello</p>');
$mailer->send($email);
return new Response('Email sent');
}
}
?>
Результат выполнения кода:
"Email sent"
Пример
Давайте передадим в письмо HTML-разметку с переменной:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Email;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/send-email', name: 'article_send_email')]
public function send(MailerInterface $mailer): Response
{
$user = 'abcde';
$html = '<h1>Hello, ' . $user . '!</h1>';
$email = (new Email())
->from('sender@example.com')
->to('recipient@example.com')
->subject('Hello')
->html($html);
$mailer->send($email);
return new Response('Email sent');
}
}
?>
Результат выполнения кода:
"Email sent"