Метод replyTo
Метод replyTo класса Email добавляет
заголовок Reply-To в письмо. Этот заголовок
указывает почтовому клиенту получателя, на какой
адрес отправлять ответ, если он отличается от адреса
отправителя. Первым параметром передаётся email-адрес,
вторым (необязательным) - имя получателя ответа.
Метод возвращает текущий объект письма, что позволяет
выстраивать цепочку вызовов.
Синтаксис
replyTo(string $address, string $name = ''): 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;
use Symfony\Component\Routing\Attribute\Route;
class MailController extends AbstractController
{
#[Route('/mail', name: 'mail_send')]
public function send(MailerInterface $mailer): Response
{
$email = (new Email())
->from('sender@example.com')
->to('user@example.com')
->replyTo('support@example.com')
->subject('Article')
->text('hello');
$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;
use Symfony\Component\Routing\Attribute\Route;
class MailController extends AbstractController
{
#[Route('/mail', name: 'mail_send')]
public function send(MailerInterface $mailer): Response
{
$email = (new Email())
->from('sender@example.com')
->to('user@example.com')
->replyTo('support@example.com', 'Support Team')
->subject('Article')
->text('hello');
$mailer->send($email);
return new Response('sent');
}
}
?>
В этом случае письмо получит заголовок
Reply-To: Support Team <support@example.com>.
Пример
Давайте добавим несколько адресов для ответа, вызвав метод несколько раз:
<?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;
use Symfony\Component\Routing\Attribute\Route;
class MailController extends AbstractController
{
#[Route('/mail', name: 'mail_send')]
public function send(MailerInterface $mailer): Response
{
$email = (new Email())
->from('sender@example.com')
->to('user@example.com')
->replyTo('support@example.com')
->replyTo('manager@example.com', 'Manager')
->subject('Article')
->text('hello');
$mailer->send($email);
return new Response('sent');
}
}
?>
Теперь ответ получателя уйдёт на оба указанных адреса.
Смотрите также
-
класс
Email,
который представляет электронное письмо -
метод
from,
который задаёт адрес отправителя -
метод
to,
который задаёт адрес получателя -
метод
returnPath,
который задаёт адрес для возврата недоставленных писем