Класс Address
Класс Address представляет собой email адрес
вместе с именем получателя или отправителя. Он
используется в письмах Email для указания
адресов в методах to, from, cc,
bcc и replyTo. Конструктор принимает
первым параметром сам email адрес, а вторым -
необязательное имя.
Синтаксис
new Address(string $address, string $name = '')
Пример
Давайте создадим объект Address с email
адресом и именем:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Address;
class MailController extends AbstractController
{
public function index(): Response
{
$address = new Address('user@example.com', 'John Doe');
return new Response($address->getAddress());
}
}
?>
Результат выполнения кода:
"user@example.com"
Пример
Давайте получим имя из объекта Address:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Address;
class MailController extends AbstractController
{
public function index(): Response
{
$address = new Address('user@example.com', 'John Doe');
return new Response($address->getName());
}
}
?>
Результат выполнения кода:
"John Doe"
Пример
Давайте используем объект Address в письме:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Address;
use Symfony\Component\Mime\Email;
class MailController extends AbstractController
{
public function index(): Response
{
$email = (new Email())
->from(new Address('sender@example.com', 'Sender'))
->to(new Address('user@example.com', 'John Doe'))
->subject('Hello')
->text('article');
return new Response($email->getTo()[0]->getAddress());
}
}
?>
Результат выполнения кода:
"user@example.com"
Пример
Давайте выведем объект Address в виде строки:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mime\Address;
class MailController extends AbstractController
{
public function index(): Response
{
$address = new Address('user@example.com', 'John Doe');
return new Response((string) $address);
}
}
?>
Результат выполнения кода:
"John Doe <user@example.com>"
Смотрите также
-
класс
Email,
который представляет email письмо -
метод
create,
который создаёт объект Address из строки -
метод
fromString,
который разбирает строку в объект Address -
метод
toString,
который возвращает строковое представление адреса