Метод to класса Email
Метод to класса Email добавляет адрес получателя
в письмо. Первым параметром передаётся email-адрес,
вторым (необязательным) - имя получателя. Метод можно
вызывать несколько раз, чтобы добавить нескольких
получателей. Возвращает объект Email, что позволяет
выстраивать цепочку вызовов.
Синтаксис
$email->to(string $address, string $name = ''): static
Пример
Давайте создадим письмо и укажем получателя:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Email;
class EmailController extends AbstractController
{
public function send(): Response
{
$email = (new Email())
->from('sender@example.com')
->to('user@example.com')
->subject('Hello')
->text('abcde');
return new Response($email->getTo()[0]->getAddress());
}
}
?>
Результат выполнения кода:
"user@example.com"
Пример
Давайте укажем email и имя получателя:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Email;
class EmailController extends AbstractController
{
public function send(): Response
{
$email = (new Email())
->from('sender@example.com')
->to('user@example.com', 'John Doe')
->subject('Hello')
->text('abcde');
$to = $email->getTo()[0];
return new Response($to->getName() . ' <' . $to->getAddress() . '>');
}
}
?>
Результат выполнения кода:
"John Doe <user@example.com>"
Пример
Давайте добавим нескольких получателей, вызвав метод
to несколько раз:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Email;
class EmailController extends AbstractController
{
public function send(): Response
{
$email = (new Email())
->from('sender@example.com')
->to('user1@example.com')
->to('user2@example.com')
->to('user3@example.com')
->subject('Hello')
->text('abcde');
$res = [];
foreach ($email->getTo() as $address) {
$res[] = $address->getAddress();
}
return new Response(implode(', ', $res));
}
}
?>
Результат выполнения кода:
"user1@example.com, user2@example.com, user3@example.com"