Метод sender класса Email
Метод sender класса Email задаёт адрес отправителя, который будет использоваться в качестве обратного пути (Return-Path) при отправке письма. Этот адрес может отличаться от адреса, указанного в поле «From». Метод принимает один параметр - адрес отправителя в виде строки или объекта Address. Метод возвращает текущий объект Email, что позволяет использовать цепочку вызовов.
Синтаксис
$email->sender(string|Address $address): static
Пример
Давайте создадим письмо и укажем адрес отправителя с помощью метода sender:
<?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('hello@example.com')
->to('user@example.com')
->subject('Test email')
->text('This is a test email.')
->sender('sender@example.com');
$mailer->send($email);
return new Response('Email sent');
}
}
?>
В результате письмо будет отправлено с адресом обратного пути 'sender@example.com'.
Пример
Давайте передадим объект Address вместо строки:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Email;
use Symfony\Component\Mime\Address;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Routing\Attribute\Route;
class EmailController extends AbstractController
{
#[Route('/send-email-address', name: 'send_email_address')]
public function send(MailerInterface $mailer): Response
{
$sender = new Address('sender@example.com', 'Sender Name');
$email = (new Email())
->from('hello@example.com')
->to('user@example.com')
->subject('Test email')
->text('This is a test email.')
->sender($sender);
$mailer->send($email);
return new Response('Email sent');
}
}
?>
В результате адрес отправителя будет содержать также имя отправителя.
Смотрите также
-
класс
Email,
который представляет электронное письмо -
метод
from,
который задаёт адрес отправителя в поле «From» -
метод
replyTo,
который задаёт адрес для ответа -
метод
returnPath,
который задаёт адрес для возврата писем