Метод attach класса Email
Метод attach класса Email прикрепляет файл к письму.
Первым параметром передаётся содержимое файла в виде строки,
вторым - имя файла, которое увидит получатель,
третьим - MIME-тип вложения.
Метод возвращает объект Email, поэтому вызовы можно объединять в цепочку.
Синтаксис
attach(string $body, string $name, string $contentType = null): static
Пример
Давайте создадим письмо и прикрепим к нему файл:
<?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 EmailController extends AbstractController
{
public function send(MailerInterface $mailer): Response
{
$email = (new Email())
->from('sender@example.com')
->to('recipient@example.com')
->subject('Article')
->text('hello')
->attach('abcde', 'article.txt', 'text/plain');
$mailer->send($email);
return new Response('sent');
}
}
?>
Результат выполнения кода:
"sent"
Пример
Давайте прикрепим сразу несколько файлов, объединив вызовы в цепочку:
<?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 EmailController extends AbstractController
{
public function send(MailerInterface $mailer): Response
{
$email = (new Email())
->from('sender@example.com')
->to('recipient@example.com')
->subject('Article')
->text('hello')
->attach('abcde', 'article.txt', 'text/plain')
->attach('12345', 'user.csv', 'text/csv');
$mailer->send($email);
return new Response('sent');
}
}
?>
Результат выполнения кода:
"sent"
Смотрите также
-
класс
Email,
который представляет электронное письмо -
метод
attachFromPath,
который прикрепляет файл по указанному пути -
метод
embed,
который встраивает изображение прямо в тело письма -
метод
html,
который задаёт HTML-содержимое письма