Метод from
Метод from класса Email задаёт адрес отправителя
электронного письма. Первым параметром передаётся адрес
отправителя, вторым - необязательное имя отправителя.
Метод возвращает объект Email, что позволяет
выстраивать цепочку вызовов.
Синтаксис
$email->from(string $address, string $name = ''): static
Пример
Давайте создадим письмо и укажем адрес отправителя:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentMimeEmailEmail;
use SymfonyComponentRoutingAttributeRoute;
class EmailController extends AbstractController
{
#[Route('/email', name: 'email_send')]
public function send(): Response
{
$email = (new Email())
->from('sender@example.com')
->to('recipient@example.com')
->subject('Hello')
->text('abcde');
return new Response($email->getHeaders()->get('From')->getBody());
}
}
?>
Результат выполнения кода:
"sender@example.com"
Пример
Давайте укажем адрес отправителя вместе с именем:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentMimeEmailEmail;
use SymfonyComponentRoutingAttributeRoute;
class EmailController extends AbstractController
{
#[Route('/email', name: 'email_send')]
public function send(): Response
{
$email = (new Email())
->from('sender@example.com', 'User')
->to('recipient@example.com')
->subject('Hello')
->text('abcde');
return new Response($email->getHeaders()->get('From')->getBody());
}
}
?>
Результат выполнения кода:
"User <sender@example.com>"
Пример
Давайте отправим письмо через MailerInterface
с заданным отправителем:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentMailerMailerInterface;
use SymfonyComponentMimeEmailEmail;
use SymfonyComponentRoutingAttributeRoute;
class EmailController extends AbstractController
{
#[Route('/email', name: 'email_send')]
public function send(MailerInterface $mailer): Response
{
$email = (new Email())
->from('sender@example.com')
->to('recipient@example.com')
->subject('Hello')
->text('abcde');
$mailer->send($email);
return new Response('sent');
}
}
?>
Результат выполнения кода:
"sent"