РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
771 of 1361 menu

Метод embed

Метод embed класса Email встраивает изображение непосредственно в тело письма. Это удобно, когда картинка должна отображаться в письме, не требуя внешнего хостинга. Первым параметром передаётся содержимое изображения или поток, вторым - имя файла, третьим - MIME-тип. Метод возвращает идентификатор cid, который затем подставляется в HTML-код через схему cid:.

Синтаксис

public function embed(string|resource $body, string $name = null, string $contentType = null): string

Пример

Давайте встроим изображение в письмо и подставим его в HTML:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Mailer\MailerInterface; use Symfony\Component\Mime\Email; class MailController extends AbstractController { public function send(MailerInterface $mailer): Response { $email = (new Email()) ->from('sender@example.com') ->to('recipient@example.com') ->subject('Hello') ->html('<img src="cid:logo">'); $email->embed(file_get_contents('images/logo.png'), 'logo.png', 'image/png'); $mailer->send($email); return new Response('sent'); } } ?>

Результат выполнения кода:

"sent"

Пример

Давайте встроим изображение и получим его cid в переменную:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Mailer\MailerInterface; use Symfony\Component\Mime\Email; class MailController extends AbstractController { public function send(MailerInterface $mailer): Response { $email = (new Email()) ->from('sender@example.com') ->to('recipient@example.com') ->subject('Hello'); $cid = $email->embed(file_get_contents('images/logo.png'), 'logo.png', 'image/png'); $email->html('<img src="cid:' . $cid . '">'); $mailer->send($email); return new Response($cid); } } ?>

Результат выполнения кода:

"abcde12345"

Смотрите также

  • класс Email,
    который представляет электронное письмо
  • метод attach,
    который прикрепляет файл к письму
  • метод embedFromPath,
    который встраивает изображение из файла по пути
  • метод html,
    который задаёт HTML-содержимое письма
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить