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

Метод embedFromPath класса Email

Метод embedFromPath класса Email встраивает изображение из файла в тело письма. Первым параметром передаётся путь к файлу на диске. Вторым параметром можно передать имя (CID), под которым изображение будет доступно в HTML-коде письма. Если имя не указано, оно будет сгенерировано автоматически. Метод возвращает строку - CID-идентификатор, который затем используется в атрибуте src тега img через префикс cid:.

Синтаксис

$email->embedFromPath(string $path, ?string $name = null): string

Пример

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

<?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 EmailController extends AbstractController { #[Route('/send-email', name: 'send_email')] public function send(MailerInterface $mailer): Response { $email = (new Email()) ->from('sender@example.com') ->to('recipient@example.com') ->subject('Embedded image') ->html('<p>Hello</p><img src="cid:logo">'); $cid = $email->embedFromPath('/path/to/logo.png', 'logo'); $mailer->send($email); return new Response('Email sent with CID: ' . $cid); } } ?>

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

"Email sent with CID: logo"

Пример

Давайте встроим изображение без указания имени, чтобы CID был сгенерирован автоматически:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Mime\Email; use Symfony\Component\Routing\Attribute\Route; class EmailController extends AbstractController { #[Route('/embed-auto', name: 'embed_auto')] public function embed(): Response { $email = (new Email()) ->from('sender@example.com') ->to('recipient@example.com') ->subject('Auto CID'); $cid = $email->embedFromPath('/path/to/image.jpg'); $email->html('<img src="cid:' . $cid . '">'); return new Response('Generated CID: ' . $cid); } } ?>

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

"Generated CID: 1a2b3c4d5e6f"

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

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