[Mime] Remove NamedAddress
This commit is contained in:
parent
5a753b1428
commit
eb7d74e6c5
@ -157,6 +157,11 @@ Messenger
|
|||||||
* Deprecated passing a `ContainerInterface` instance as first argument of the `ConsumeMessagesCommand` constructor,
|
* Deprecated passing a `ContainerInterface` instance as first argument of the `ConsumeMessagesCommand` constructor,
|
||||||
pass a `RoutableMessageBus` instance instead.
|
pass a `RoutableMessageBus` instance instead.
|
||||||
|
|
||||||
|
Mime
|
||||||
|
----
|
||||||
|
|
||||||
|
* Removed `NamedAddress`, use `Address` instead (which supports a name now)
|
||||||
|
|
||||||
MonologBridge
|
MonologBridge
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
namespace Symfony\Bridge\Twig\Mime;
|
namespace Symfony\Bridge\Twig\Mime;
|
||||||
|
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
use Twig\Environment;
|
use Twig\Environment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -33,9 +32,7 @@ final class WrappedTemplatedEmail
|
|||||||
|
|
||||||
public function toName(): string
|
public function toName(): string
|
||||||
{
|
{
|
||||||
$to = $this->message->getTo()[0];
|
return $this->message->getTo()[0]->getName();
|
||||||
|
|
||||||
return $to instanceof NamedAddress ? $to->getName() : '';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function image(string $image, string $contentType = null): string
|
public function image(string $image, string $contentType = null): string
|
||||||
@ -93,15 +90,15 @@ final class WrappedTemplatedEmail
|
|||||||
/**
|
/**
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function addFrom(string $address, string $name = null): self
|
public function addFrom(string $address, string $name = ''): self
|
||||||
{
|
{
|
||||||
$this->message->addFrom($name ? new NamedAddress($address, $name) : new Address($address));
|
$this->message->addFrom(new Address($address, $name));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (Address|NamedAddress)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getFrom(): array
|
public function getFrom(): array
|
||||||
{
|
{
|
||||||
@ -129,15 +126,15 @@ final class WrappedTemplatedEmail
|
|||||||
/**
|
/**
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function addTo(string $address, string $name = null): self
|
public function addTo(string $address, string $name = ''): self
|
||||||
{
|
{
|
||||||
$this->message->addTo($name ? new NamedAddress($address, $name) : new Address($address));
|
$this->message->addTo(new Address($address, $name));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (Address|NamedAddress)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getTo(): array
|
public function getTo(): array
|
||||||
{
|
{
|
||||||
@ -147,15 +144,15 @@ final class WrappedTemplatedEmail
|
|||||||
/**
|
/**
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function addCc(string $address, string $name = null): self
|
public function addCc(string $address, string $name = ''): self
|
||||||
{
|
{
|
||||||
$this->message->addCc($name ? new NamedAddress($address, $name) : new Address($address));
|
$this->message->addCc(new Address($address, $name));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (Address|NamedAddress)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getCc(): array
|
public function getCc(): array
|
||||||
{
|
{
|
||||||
@ -165,15 +162,15 @@ final class WrappedTemplatedEmail
|
|||||||
/**
|
/**
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function addBcc(string $address, string $name = null): self
|
public function addBcc(string $address, string $name = ''): self
|
||||||
{
|
{
|
||||||
$this->message->addBcc($name ? new NamedAddress($address, $name) : new Address($address));
|
$this->message->addBcc(new Address($address, $name));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (Address|NamedAddress)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getBcc(): array
|
public function getBcc(): array
|
||||||
{
|
{
|
||||||
|
@ -13,8 +13,8 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Functional\Bundle\TestBundle\Cont
|
|||||||
|
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Mailer\MailerInterface;
|
use Symfony\Component\Mailer\MailerInterface;
|
||||||
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Email;
|
use Symfony\Component\Mime\Email;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
class EmailController
|
class EmailController
|
||||||
{
|
{
|
||||||
@ -29,7 +29,7 @@ class EmailController
|
|||||||
);
|
);
|
||||||
|
|
||||||
$mailer->send((new Email())->to('fabien@symfony.com', 'thomas@symfony.com')->from('fabien@symfony.com')->subject('Foo')
|
$mailer->send((new Email())->to('fabien@symfony.com', 'thomas@symfony.com')->from('fabien@symfony.com')->subject('Foo')
|
||||||
->addReplyTo(new NamedAddress('me@symfony.com', 'Fabien Potencier'))
|
->addReplyTo(new Address('me@symfony.com', 'Fabien Potencier'))
|
||||||
->addCc('cc@symfony.com')
|
->addCc('cc@symfony.com')
|
||||||
->text('Bar!')
|
->text('Bar!')
|
||||||
->html('<p>Foo</p>')
|
->html('<p>Foo</p>')
|
||||||
|
@ -16,7 +16,6 @@ use Symfony\Component\Mailer\SmtpEnvelope;
|
|||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Header\Headers;
|
use Symfony\Component\Mime\Header\Headers;
|
||||||
use Symfony\Component\Mime\Message;
|
use Symfony\Component\Mime\Message;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
class SmtpEnvelopeTest extends TestCase
|
class SmtpEnvelopeTest extends TestCase
|
||||||
{
|
{
|
||||||
@ -28,13 +27,13 @@ class SmtpEnvelopeTest extends TestCase
|
|||||||
|
|
||||||
public function testConstructorWithNamedAddressSender()
|
public function testConstructorWithNamedAddressSender()
|
||||||
{
|
{
|
||||||
$e = new SmtpEnvelope(new NamedAddress('fabien@symfony.com', 'Fabien'), [new Address('thomas@symfony.com')]);
|
$e = new SmtpEnvelope(new Address('fabien@symfony.com', 'Fabien'), [new Address('thomas@symfony.com')]);
|
||||||
$this->assertEquals(new Address('fabien@symfony.com'), $e->getSender());
|
$this->assertEquals(new Address('fabien@symfony.com'), $e->getSender());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testConstructorWithAddressRecipients()
|
public function testConstructorWithAddressRecipients()
|
||||||
{
|
{
|
||||||
$e = new SmtpEnvelope(new Address('fabien@symfony.com'), [new Address('thomas@symfony.com'), new NamedAddress('lucas@symfony.com', 'Lucas')]);
|
$e = new SmtpEnvelope(new Address('fabien@symfony.com'), [new Address('thomas@symfony.com'), new Address('lucas@symfony.com', 'Lucas')]);
|
||||||
$this->assertEquals([new Address('thomas@symfony.com'), new Address('lucas@symfony.com')], $e->getRecipients());
|
$this->assertEquals([new Address('thomas@symfony.com'), new Address('lucas@symfony.com')], $e->getRecipients());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,19 +52,19 @@ class SmtpEnvelopeTest extends TestCase
|
|||||||
public function testSenderFromHeaders()
|
public function testSenderFromHeaders()
|
||||||
{
|
{
|
||||||
$headers = new Headers();
|
$headers = new Headers();
|
||||||
$headers->addPathHeader('Return-Path', new NamedAddress('return@symfony.com', 'return'));
|
$headers->addPathHeader('Return-Path', new Address('return@symfony.com', 'return'));
|
||||||
$headers->addMailboxListHeader('To', ['from@symfony.com']);
|
$headers->addMailboxListHeader('To', ['from@symfony.com']);
|
||||||
$e = SmtpEnvelope::create(new Message($headers));
|
$e = SmtpEnvelope::create(new Message($headers));
|
||||||
$this->assertEquals('return@symfony.com', $e->getSender()->getAddress());
|
$this->assertEquals('return@symfony.com', $e->getSender()->getAddress());
|
||||||
|
|
||||||
$headers = new Headers();
|
$headers = new Headers();
|
||||||
$headers->addMailboxHeader('Sender', new NamedAddress('sender@symfony.com', 'sender'));
|
$headers->addMailboxHeader('Sender', new Address('sender@symfony.com', 'sender'));
|
||||||
$headers->addMailboxListHeader('To', ['from@symfony.com']);
|
$headers->addMailboxListHeader('To', ['from@symfony.com']);
|
||||||
$e = SmtpEnvelope::create(new Message($headers));
|
$e = SmtpEnvelope::create(new Message($headers));
|
||||||
$this->assertEquals('sender@symfony.com', $e->getSender()->getAddress());
|
$this->assertEquals('sender@symfony.com', $e->getSender()->getAddress());
|
||||||
|
|
||||||
$headers = new Headers();
|
$headers = new Headers();
|
||||||
$headers->addMailboxListHeader('From', [new NamedAddress('from@symfony.com', 'from'), 'some@symfony.com']);
|
$headers->addMailboxListHeader('From', [new Address('from@symfony.com', 'from'), 'some@symfony.com']);
|
||||||
$headers->addMailboxListHeader('To', ['from@symfony.com']);
|
$headers->addMailboxListHeader('To', ['from@symfony.com']);
|
||||||
$e = SmtpEnvelope::create(new Message($headers));
|
$e = SmtpEnvelope::create(new Message($headers));
|
||||||
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
|
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
|
||||||
@ -76,7 +75,7 @@ class SmtpEnvelopeTest extends TestCase
|
|||||||
$headers = new Headers();
|
$headers = new Headers();
|
||||||
$headers->addMailboxListHeader('To', ['from@symfony.com']);
|
$headers->addMailboxListHeader('To', ['from@symfony.com']);
|
||||||
$e = SmtpEnvelope::create($message = new Message($headers));
|
$e = SmtpEnvelope::create($message = new Message($headers));
|
||||||
$message->getHeaders()->addMailboxListHeader('From', [new NamedAddress('from@symfony.com', 'from')]);
|
$message->getHeaders()->addMailboxListHeader('From', [new Address('from@symfony.com', 'from')]);
|
||||||
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
|
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,9 +83,9 @@ class SmtpEnvelopeTest extends TestCase
|
|||||||
{
|
{
|
||||||
$headers = new Headers();
|
$headers = new Headers();
|
||||||
$headers->addPathHeader('Return-Path', 'return@symfony.com');
|
$headers->addPathHeader('Return-Path', 'return@symfony.com');
|
||||||
$headers->addMailboxListHeader('To', [new NamedAddress('to@symfony.com', 'to')]);
|
$headers->addMailboxListHeader('To', [new Address('to@symfony.com', 'to')]);
|
||||||
$headers->addMailboxListHeader('Cc', [new NamedAddress('cc@symfony.com', 'cc')]);
|
$headers->addMailboxListHeader('Cc', [new Address('cc@symfony.com', 'cc')]);
|
||||||
$headers->addMailboxListHeader('Bcc', [new NamedAddress('bcc@symfony.com', 'bcc')]);
|
$headers->addMailboxListHeader('Bcc', [new Address('bcc@symfony.com', 'bcc')]);
|
||||||
$e = SmtpEnvelope::create(new Message($headers));
|
$e = SmtpEnvelope::create(new Message($headers));
|
||||||
$this->assertEquals([new Address('to@symfony.com'), new Address('cc@symfony.com'), new Address('bcc@symfony.com')], $e->getRecipients());
|
$this->assertEquals([new Address('to@symfony.com'), new Address('cc@symfony.com'), new Address('bcc@symfony.com')], $e->getRecipients());
|
||||||
}
|
}
|
||||||
|
@ -21,14 +21,15 @@ use Symfony\Component\Mime\Exception\RfcComplianceException;
|
|||||||
/**
|
/**
|
||||||
* @author Fabien Potencier <fabien@symfony.com>
|
* @author Fabien Potencier <fabien@symfony.com>
|
||||||
*/
|
*/
|
||||||
class Address
|
final class Address
|
||||||
{
|
{
|
||||||
private static $validator;
|
private static $validator;
|
||||||
private static $encoder;
|
private static $encoder;
|
||||||
|
|
||||||
private $address;
|
private $address;
|
||||||
|
private $name;
|
||||||
|
|
||||||
public function __construct(string $address)
|
public function __construct(string $address, string $name = '')
|
||||||
{
|
{
|
||||||
if (!class_exists(EmailValidator::class)) {
|
if (!class_exists(EmailValidator::class)) {
|
||||||
throw new LogicException(sprintf('The "%s" class cannot be used as it needs "%s"; try running "composer require egulias/email-validator".', __CLASS__, EmailValidator::class));
|
throw new LogicException(sprintf('The "%s" class cannot be used as it needs "%s"; try running "composer require egulias/email-validator".', __CLASS__, EmailValidator::class));
|
||||||
@ -43,6 +44,7 @@ class Address
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->address = $address;
|
$this->address = $address;
|
||||||
|
$this->name = $name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAddress(): string
|
public function getAddress(): string
|
||||||
@ -50,6 +52,11 @@ class Address
|
|||||||
return $this->address;
|
return $this->address;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getName(): string
|
||||||
|
{
|
||||||
|
return $this->name;
|
||||||
|
}
|
||||||
|
|
||||||
public function getEncodedAddress(): string
|
public function getEncodedAddress(): string
|
||||||
{
|
{
|
||||||
if (null === self::$encoder) {
|
if (null === self::$encoder) {
|
||||||
@ -61,7 +68,7 @@ class Address
|
|||||||
|
|
||||||
public function toString(): string
|
public function toString(): string
|
||||||
{
|
{
|
||||||
return $this->getEncodedAddress();
|
return ($n = $this->getName()) ? $n.' <'.$this->getEncodedAddress().'>' : $this->getEncodedAddress();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,6 +4,7 @@ CHANGELOG
|
|||||||
4.4.0
|
4.4.0
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
* [BC BREAK] Removed `NamedAddress` (`Address` now supports a name)
|
||||||
* Added PHPUnit constraints
|
* Added PHPUnit constraints
|
||||||
* Added `AbstractPart::asDebugString()`
|
* Added `AbstractPart::asDebugString()`
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Address|NamedAddress|string ...$addresses
|
* @param Address|string ...$addresses
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
@ -111,7 +111,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Address|NamedAddress|string ...$addresses
|
* @param Address|string ...$addresses
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
@ -121,7 +121,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (Address|NamedAddress)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getFrom(): array
|
public function getFrom(): array
|
||||||
{
|
{
|
||||||
@ -157,7 +157,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Address|NamedAddress|string ...$addresses
|
* @param Address|string ...$addresses
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
@ -167,7 +167,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Address|NamedAddress|string ...$addresses
|
* @param Address|string ...$addresses
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
@ -177,7 +177,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (Address|NamedAddress)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getTo(): array
|
public function getTo(): array
|
||||||
{
|
{
|
||||||
@ -185,7 +185,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Address|NamedAddress|string ...$addresses
|
* @param Address|string ...$addresses
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
@ -205,7 +205,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (Address|NamedAddress)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getCc(): array
|
public function getCc(): array
|
||||||
{
|
{
|
||||||
@ -213,7 +213,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Address|NamedAddress|string ...$addresses
|
* @param Address|string ...$addresses
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
@ -233,7 +233,7 @@ class Email extends Message
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (Address|NamedAddress)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getBcc(): array
|
public function getBcc(): array
|
||||||
{
|
{
|
||||||
@ -524,10 +524,10 @@ class Email extends Message
|
|||||||
|
|
||||||
private function addListAddressHeaderBody(string $name, array $addresses)
|
private function addListAddressHeaderBody(string $name, array $addresses)
|
||||||
{
|
{
|
||||||
if (!$to = $this->getHeaders()->get($name)) {
|
if (!$header = $this->getHeaders()->get($name)) {
|
||||||
return $this->setListAddressHeaderBody($name, $addresses);
|
return $this->setListAddressHeaderBody($name, $addresses);
|
||||||
}
|
}
|
||||||
$to->addAddresses(Address::createArray($addresses));
|
$header->addAddresses(Address::createArray($addresses));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@ -536,8 +536,8 @@ class Email extends Message
|
|||||||
{
|
{
|
||||||
$addresses = Address::createArray($addresses);
|
$addresses = Address::createArray($addresses);
|
||||||
$headers = $this->getHeaders();
|
$headers = $this->getHeaders();
|
||||||
if ($to = $headers->get($name)) {
|
if ($header = $headers->get($name)) {
|
||||||
$to->setAddresses($addresses);
|
$header->setAddresses($addresses);
|
||||||
} else {
|
} else {
|
||||||
$headers->addMailboxListHeader($name, $addresses);
|
$headers->addMailboxListHeader($name, $addresses);
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Mime\Header;
|
|||||||
|
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Exception\LogicException;
|
use Symfony\Component\Mime\Exception\LogicException;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A collection of headers.
|
* A collection of headers.
|
||||||
@ -60,7 +59,7 @@ final class Headers
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param (NamedAddress|Address|string)[] $addresses
|
* @param (Address|string)[] $addresses
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
@ -70,7 +69,7 @@ final class Headers
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param NamedAddress|Address|string $address
|
* @param Address|string $address
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Mime\Header;
|
|||||||
|
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Exception\RfcComplianceException;
|
use Symfony\Component\Mime\Exception\RfcComplianceException;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Mailbox MIME Header for something like Sender (one named address).
|
* A Mailbox MIME Header for something like Sender (one named address).
|
||||||
@ -67,7 +66,7 @@ final class MailboxHeader extends AbstractHeader
|
|||||||
public function getBodyAsString(): string
|
public function getBodyAsString(): string
|
||||||
{
|
{
|
||||||
$str = $this->address->getEncodedAddress();
|
$str = $this->address->getEncodedAddress();
|
||||||
if ($this->address instanceof NamedAddress && $name = $this->address->getName()) {
|
if ($name = $this->address->getName()) {
|
||||||
$str = $this->createPhrase($this, $name, $this->getCharset(), true).' <'.$str.'>';
|
$str = $this->createPhrase($this, $name, $this->getCharset(), true).' <'.$str.'>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Mime\Header;
|
|||||||
|
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Exception\RfcComplianceException;
|
use Symfony\Component\Mime\Exception\RfcComplianceException;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Mailbox list MIME Header for something like From, To, Cc, and Bcc (one or more named addresses).
|
* A Mailbox list MIME Header for something like From, To, Cc, and Bcc (one or more named addresses).
|
||||||
@ -25,7 +24,7 @@ final class MailboxListHeader extends AbstractHeader
|
|||||||
private $addresses = [];
|
private $addresses = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param (NamedAddress|Address)[] $addresses
|
* @param Address[] $addresses
|
||||||
*/
|
*/
|
||||||
public function __construct(string $name, array $addresses)
|
public function __construct(string $name, array $addresses)
|
||||||
{
|
{
|
||||||
@ -35,7 +34,7 @@ final class MailboxListHeader extends AbstractHeader
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param (NamedAddress|Address)[] $body
|
* @param Address[] $body
|
||||||
*
|
*
|
||||||
* @throws RfcComplianceException
|
* @throws RfcComplianceException
|
||||||
*/
|
*/
|
||||||
@ -47,7 +46,7 @@ final class MailboxListHeader extends AbstractHeader
|
|||||||
/**
|
/**
|
||||||
* @throws RfcComplianceException
|
* @throws RfcComplianceException
|
||||||
*
|
*
|
||||||
* @return (NamedAddress|Address)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getBody()
|
public function getBody()
|
||||||
{
|
{
|
||||||
@ -57,7 +56,7 @@ final class MailboxListHeader extends AbstractHeader
|
|||||||
/**
|
/**
|
||||||
* Sets a list of addresses to be shown in this Header.
|
* Sets a list of addresses to be shown in this Header.
|
||||||
*
|
*
|
||||||
* @param (NamedAddress|Address)[] $addresses
|
* @param Address[] $addresses
|
||||||
*
|
*
|
||||||
* @throws RfcComplianceException
|
* @throws RfcComplianceException
|
||||||
*/
|
*/
|
||||||
@ -70,7 +69,7 @@ final class MailboxListHeader extends AbstractHeader
|
|||||||
/**
|
/**
|
||||||
* Sets a list of addresses to be shown in this Header.
|
* Sets a list of addresses to be shown in this Header.
|
||||||
*
|
*
|
||||||
* @param (NamedAddress|Address)[] $addresses
|
* @param Address[] $addresses
|
||||||
*
|
*
|
||||||
* @throws RfcComplianceException
|
* @throws RfcComplianceException
|
||||||
*/
|
*/
|
||||||
@ -90,7 +89,7 @@ final class MailboxListHeader extends AbstractHeader
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return (NamedAddress|Address)[]
|
* @return Address[]
|
||||||
*/
|
*/
|
||||||
public function getAddresses(): array
|
public function getAddresses(): array
|
||||||
{
|
{
|
||||||
@ -109,8 +108,8 @@ final class MailboxListHeader extends AbstractHeader
|
|||||||
$strings = [];
|
$strings = [];
|
||||||
foreach ($this->addresses as $address) {
|
foreach ($this->addresses as $address) {
|
||||||
$str = $address->getEncodedAddress();
|
$str = $address->getEncodedAddress();
|
||||||
if ($address instanceof NamedAddress && $name = $address->getName()) {
|
if ($name = $address->getName()) {
|
||||||
$str = $this->createPhrase($this, $name, $this->getCharset(), empty($strings)).' <'.$str.'>';
|
$str = $this->createPhrase($this, $name, $this->getCharset(), !$strings).' <'.$str.'>';
|
||||||
}
|
}
|
||||||
$strings[] = $str;
|
$strings[] = $str;
|
||||||
}
|
}
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of the Symfony package.
|
|
||||||
*
|
|
||||||
* (c) Fabien Potencier <fabien@symfony.com>
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Symfony\Component\Mime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Fabien Potencier <fabien@symfony.com>
|
|
||||||
*/
|
|
||||||
final class NamedAddress extends Address
|
|
||||||
{
|
|
||||||
private $name;
|
|
||||||
|
|
||||||
public function __construct(string $address, string $name)
|
|
||||||
{
|
|
||||||
parent::__construct($address);
|
|
||||||
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getName(): string
|
|
||||||
{
|
|
||||||
return $this->name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getEncodedNamedAddress(): string
|
|
||||||
{
|
|
||||||
return ($n = $this->getName()) ? $n.' <'.$this->getEncodedAddress().'>' : $this->getEncodedAddress();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function toString(): string
|
|
||||||
{
|
|
||||||
return $this->getEncodedNamedAddress();
|
|
||||||
}
|
|
||||||
}
|
|
@ -13,7 +13,6 @@ namespace Symfony\Component\Mime\Tests;
|
|||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
class AddressTest extends TestCase
|
class AddressTest extends TestCase
|
||||||
{
|
{
|
||||||
@ -23,6 +22,12 @@ class AddressTest extends TestCase
|
|||||||
$this->assertEquals('fabien@symfonï.com', $a->getAddress());
|
$this->assertEquals('fabien@symfonï.com', $a->getAddress());
|
||||||
$this->assertEquals('fabien@xn--symfon-nwa.com', $a->toString());
|
$this->assertEquals('fabien@xn--symfon-nwa.com', $a->toString());
|
||||||
$this->assertEquals('fabien@xn--symfon-nwa.com', $a->getEncodedAddress());
|
$this->assertEquals('fabien@xn--symfon-nwa.com', $a->getEncodedAddress());
|
||||||
|
|
||||||
|
$a = new Address('fabien@symfonï.com', 'Fabien');
|
||||||
|
$this->assertEquals('Fabien', $a->getName());
|
||||||
|
$this->assertEquals('fabien@symfonï.com', $a->getAddress());
|
||||||
|
$this->assertEquals('Fabien <fabien@xn--symfon-nwa.com>', $a->toString());
|
||||||
|
$this->assertEquals('fabien@xn--symfon-nwa.com', $a->getEncodedAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testConstructorWithInvalidAddress()
|
public function testConstructorWithInvalidAddress()
|
||||||
@ -34,7 +39,7 @@ class AddressTest extends TestCase
|
|||||||
public function testCreate()
|
public function testCreate()
|
||||||
{
|
{
|
||||||
$this->assertSame($a = new Address('fabien@symfony.com'), Address::create($a));
|
$this->assertSame($a = new Address('fabien@symfony.com'), Address::create($a));
|
||||||
$this->assertSame($b = new NamedAddress('helene@symfony.com', 'Helene'), Address::create($b));
|
$this->assertSame($b = new Address('helene@symfony.com', 'Helene'), Address::create($b));
|
||||||
$this->assertEquals($a, Address::create('fabien@symfony.com'));
|
$this->assertEquals($a, Address::create('fabien@symfony.com'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +52,7 @@ class AddressTest extends TestCase
|
|||||||
public function testCreateArray()
|
public function testCreateArray()
|
||||||
{
|
{
|
||||||
$fabien = new Address('fabien@symfony.com');
|
$fabien = new Address('fabien@symfony.com');
|
||||||
$helene = new NamedAddress('helene@symfony.com', 'Helene');
|
$helene = new Address('helene@symfony.com', 'Helene');
|
||||||
$this->assertSame([$fabien, $helene], Address::createArray([$fabien, $helene]));
|
$this->assertSame([$fabien, $helene], Address::createArray([$fabien, $helene]));
|
||||||
|
|
||||||
$this->assertEquals([$fabien], Address::createArray(['fabien@symfony.com']));
|
$this->assertEquals([$fabien], Address::createArray(['fabien@symfony.com']));
|
||||||
|
@ -14,7 +14,6 @@ namespace Symfony\Component\Mime\Tests;
|
|||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Email;
|
use Symfony\Component\Mime\Email;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
use Symfony\Component\Mime\Part\DataPart;
|
use Symfony\Component\Mime\Part\DataPart;
|
||||||
use Symfony\Component\Mime\Part\Multipart\AlternativePart;
|
use Symfony\Component\Mime\Part\Multipart\AlternativePart;
|
||||||
use Symfony\Component\Mime\Part\Multipart\MixedPart;
|
use Symfony\Component\Mime\Part\Multipart\MixedPart;
|
||||||
@ -58,7 +57,7 @@ class EmailTest extends TestCase
|
|||||||
{
|
{
|
||||||
$e = new Email();
|
$e = new Email();
|
||||||
$helene = new Address('helene@symfony.com');
|
$helene = new Address('helene@symfony.com');
|
||||||
$thomas = new NamedAddress('thomas@symfony.com', 'Thomas');
|
$thomas = new Address('thomas@symfony.com', 'Thomas');
|
||||||
$caramel = new Address('caramel@symfony.com');
|
$caramel = new Address('caramel@symfony.com');
|
||||||
|
|
||||||
$this->assertSame($e, $e->from('fabien@symfony.com', $helene, $thomas));
|
$this->assertSame($e, $e->from('fabien@symfony.com', $helene, $thomas));
|
||||||
@ -91,7 +90,7 @@ class EmailTest extends TestCase
|
|||||||
{
|
{
|
||||||
$e = new Email();
|
$e = new Email();
|
||||||
$helene = new Address('helene@symfony.com');
|
$helene = new Address('helene@symfony.com');
|
||||||
$thomas = new NamedAddress('thomas@symfony.com', 'Thomas');
|
$thomas = new Address('thomas@symfony.com', 'Thomas');
|
||||||
$caramel = new Address('caramel@symfony.com');
|
$caramel = new Address('caramel@symfony.com');
|
||||||
|
|
||||||
$this->assertSame($e, $e->replyTo('fabien@symfony.com', $helene, $thomas));
|
$this->assertSame($e, $e->replyTo('fabien@symfony.com', $helene, $thomas));
|
||||||
@ -124,7 +123,7 @@ class EmailTest extends TestCase
|
|||||||
{
|
{
|
||||||
$e = new Email();
|
$e = new Email();
|
||||||
$helene = new Address('helene@symfony.com');
|
$helene = new Address('helene@symfony.com');
|
||||||
$thomas = new NamedAddress('thomas@symfony.com', 'Thomas');
|
$thomas = new Address('thomas@symfony.com', 'Thomas');
|
||||||
$caramel = new Address('caramel@symfony.com');
|
$caramel = new Address('caramel@symfony.com');
|
||||||
|
|
||||||
$this->assertSame($e, $e->to('fabien@symfony.com', $helene, $thomas));
|
$this->assertSame($e, $e->to('fabien@symfony.com', $helene, $thomas));
|
||||||
@ -157,7 +156,7 @@ class EmailTest extends TestCase
|
|||||||
{
|
{
|
||||||
$e = new Email();
|
$e = new Email();
|
||||||
$helene = new Address('helene@symfony.com');
|
$helene = new Address('helene@symfony.com');
|
||||||
$thomas = new NamedAddress('thomas@symfony.com', 'Thomas');
|
$thomas = new Address('thomas@symfony.com', 'Thomas');
|
||||||
$caramel = new Address('caramel@symfony.com');
|
$caramel = new Address('caramel@symfony.com');
|
||||||
|
|
||||||
$this->assertSame($e, $e->cc('fabien@symfony.com', $helene, $thomas));
|
$this->assertSame($e, $e->cc('fabien@symfony.com', $helene, $thomas));
|
||||||
@ -190,7 +189,7 @@ class EmailTest extends TestCase
|
|||||||
{
|
{
|
||||||
$e = new Email();
|
$e = new Email();
|
||||||
$helene = new Address('helene@symfony.com');
|
$helene = new Address('helene@symfony.com');
|
||||||
$thomas = new NamedAddress('thomas@symfony.com', 'Thomas');
|
$thomas = new Address('thomas@symfony.com', 'Thomas');
|
||||||
$caramel = new Address('caramel@symfony.com');
|
$caramel = new Address('caramel@symfony.com');
|
||||||
|
|
||||||
$this->assertSame($e, $e->bcc('fabien@symfony.com', $helene, $thomas));
|
$this->assertSame($e, $e->bcc('fabien@symfony.com', $helene, $thomas));
|
||||||
|
@ -14,7 +14,6 @@ namespace Symfony\Component\Mime\Tests\Header;
|
|||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Header\MailboxHeader;
|
use Symfony\Component\Mime\Header\MailboxHeader;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
class MailboxHeaderTest extends TestCase
|
class MailboxHeaderTest extends TestCase
|
||||||
{
|
{
|
||||||
@ -44,17 +43,17 @@ class MailboxHeaderTest extends TestCase
|
|||||||
$header->setAddress(new Address('fabien@sïmfony.com'));
|
$header->setAddress(new Address('fabien@sïmfony.com'));
|
||||||
$this->assertEquals('fabien@xn--smfony-iwa.com', $header->getBodyAsString());
|
$this->assertEquals('fabien@xn--smfony-iwa.com', $header->getBodyAsString());
|
||||||
|
|
||||||
$header = new MailboxHeader('Sender', new NamedAddress('fabien@symfony.com', 'Fabien Potencier'));
|
$header = new MailboxHeader('Sender', new Address('fabien@symfony.com', 'Fabien Potencier'));
|
||||||
$this->assertEquals('Fabien Potencier <fabien@symfony.com>', $header->getBodyAsString());
|
$this->assertEquals('Fabien Potencier <fabien@symfony.com>', $header->getBodyAsString());
|
||||||
|
|
||||||
$header = new MailboxHeader('Sender', new NamedAddress('fabien@symfony.com', 'Fabien Potencier, "from Symfony"'));
|
$header = new MailboxHeader('Sender', new Address('fabien@symfony.com', 'Fabien Potencier, "from Symfony"'));
|
||||||
$this->assertEquals('"Fabien Potencier, \"from Symfony\"" <fabien@symfony.com>', $header->getBodyAsString());
|
$this->assertEquals('"Fabien Potencier, \"from Symfony\"" <fabien@symfony.com>', $header->getBodyAsString());
|
||||||
|
|
||||||
$header = new MailboxHeader('From', new NamedAddress('fabien@symfony.com', 'Fabien Potencier, \\escaped\\'));
|
$header = new MailboxHeader('From', new Address('fabien@symfony.com', 'Fabien Potencier, \\escaped\\'));
|
||||||
$this->assertEquals('"Fabien Potencier, \\\\escaped\\\\" <fabien@symfony.com>', $header->getBodyAsString());
|
$this->assertEquals('"Fabien Potencier, \\\\escaped\\\\" <fabien@symfony.com>', $header->getBodyAsString());
|
||||||
|
|
||||||
$name = 'P'.pack('C', 0x8F).'tencier';
|
$name = 'P'.pack('C', 0x8F).'tencier';
|
||||||
$header = new MailboxHeader('Sender', new NamedAddress('fabien@symfony.com', 'Fabien '.$name));
|
$header = new MailboxHeader('Sender', new Address('fabien@symfony.com', 'Fabien '.$name));
|
||||||
$header->setCharset('iso-8859-1');
|
$header->setCharset('iso-8859-1');
|
||||||
$this->assertEquals('Fabien =?'.$header->getCharset().'?Q?P=8Ftencier?= <fabien@symfony.com>', $header->getBodyAsString());
|
$this->assertEquals('Fabien =?'.$header->getCharset().'?Q?P=8Ftencier?= <fabien@symfony.com>', $header->getBodyAsString());
|
||||||
}
|
}
|
||||||
@ -71,7 +70,7 @@ class MailboxHeaderTest extends TestCase
|
|||||||
$header = new MailboxHeader('Sender', new Address('fabien@symfony.com'));
|
$header = new MailboxHeader('Sender', new Address('fabien@symfony.com'));
|
||||||
$this->assertEquals('Sender: fabien@symfony.com', $header->toString());
|
$this->assertEquals('Sender: fabien@symfony.com', $header->toString());
|
||||||
|
|
||||||
$header = new MailboxHeader('Sender', new NamedAddress('fabien@symfony.com', 'Fabien Potencier'));
|
$header = new MailboxHeader('Sender', new Address('fabien@symfony.com', 'Fabien Potencier'));
|
||||||
$this->assertEquals('Sender: Fabien Potencier <fabien@symfony.com>', $header->toString());
|
$this->assertEquals('Sender: Fabien Potencier <fabien@symfony.com>', $header->toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,6 @@ namespace Symfony\Component\Mime\Tests\Header;
|
|||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Header\MailboxListHeader;
|
use Symfony\Component\Mime\Header\MailboxListHeader;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
class MailboxListHeaderTest extends TestCase
|
class MailboxListHeaderTest extends TestCase
|
||||||
{
|
{
|
||||||
@ -28,7 +27,7 @@ class MailboxListHeaderTest extends TestCase
|
|||||||
|
|
||||||
public function testMailboxIsRenderedForNameAddress()
|
public function testMailboxIsRenderedForNameAddress()
|
||||||
{
|
{
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@swiftmailer.org', 'Chris Corbyn')]);
|
$header = new MailboxListHeader('From', [new Address('chris@swiftmailer.org', 'Chris Corbyn')]);
|
||||||
$this->assertEquals(['Chris Corbyn <chris@swiftmailer.org>'], $header->getAddressStrings());
|
$this->assertEquals(['Chris Corbyn <chris@swiftmailer.org>'], $header->getAddressStrings());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,32 +39,32 @@ class MailboxListHeaderTest extends TestCase
|
|||||||
|
|
||||||
public function testQuotesInNameAreQuoted()
|
public function testQuotesInNameAreQuoted()
|
||||||
{
|
{
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@swiftmailer.org', 'Chris Corbyn, "DHE"')]);
|
$header = new MailboxListHeader('From', [new Address('chris@swiftmailer.org', 'Chris Corbyn, "DHE"')]);
|
||||||
$this->assertEquals(['"Chris Corbyn, \"DHE\"" <chris@swiftmailer.org>'], $header->getAddressStrings());
|
$this->assertEquals(['"Chris Corbyn, \"DHE\"" <chris@swiftmailer.org>'], $header->getAddressStrings());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testEscapeCharsInNameAreQuoted()
|
public function testEscapeCharsInNameAreQuoted()
|
||||||
{
|
{
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@swiftmailer.org', 'Chris Corbyn, \\escaped\\')]);
|
$header = new MailboxListHeader('From', [new Address('chris@swiftmailer.org', 'Chris Corbyn, \\escaped\\')]);
|
||||||
$this->assertEquals(['"Chris Corbyn, \\\\escaped\\\\" <chris@swiftmailer.org>'], $header->getAddressStrings());
|
$this->assertEquals(['"Chris Corbyn, \\\\escaped\\\\" <chris@swiftmailer.org>'], $header->getAddressStrings());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUtf8CharsInDomainAreIdnEncoded()
|
public function testUtf8CharsInDomainAreIdnEncoded()
|
||||||
{
|
{
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@swïftmailer.org', 'Chris Corbyn')]);
|
$header = new MailboxListHeader('From', [new Address('chris@swïftmailer.org', 'Chris Corbyn')]);
|
||||||
$this->assertEquals(['Chris Corbyn <chris@xn--swftmailer-78a.org>'], $header->getAddressStrings());
|
$this->assertEquals(['Chris Corbyn <chris@xn--swftmailer-78a.org>'], $header->getAddressStrings());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUtf8CharsInLocalPartThrows()
|
public function testUtf8CharsInLocalPartThrows()
|
||||||
{
|
{
|
||||||
$this->expectException('Symfony\Component\Mime\Exception\AddressEncoderException');
|
$this->expectException('Symfony\Component\Mime\Exception\AddressEncoderException');
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chrïs@swiftmailer.org', 'Chris Corbyn')]);
|
$header = new MailboxListHeader('From', [new Address('chrïs@swiftmailer.org', 'Chris Corbyn')]);
|
||||||
$header->getAddressStrings();
|
$header->getAddressStrings();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetMailboxesReturnsNameValuePairs()
|
public function testGetMailboxesReturnsNameValuePairs()
|
||||||
{
|
{
|
||||||
$header = new MailboxListHeader('From', $addresses = [new NamedAddress('chris@swiftmailer.org', 'Chris Corbyn, DHE')]);
|
$header = new MailboxListHeader('From', $addresses = [new Address('chris@swiftmailer.org', 'Chris Corbyn, DHE')]);
|
||||||
$this->assertEquals($addresses, $header->getAddresses());
|
$this->assertEquals($addresses, $header->getAddresses());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,7 +77,7 @@ class MailboxListHeaderTest extends TestCase
|
|||||||
public function testNameIsEncodedIfNonAscii()
|
public function testNameIsEncodedIfNonAscii()
|
||||||
{
|
{
|
||||||
$name = 'C'.pack('C', 0x8F).'rbyn';
|
$name = 'C'.pack('C', 0x8F).'rbyn';
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@swiftmailer.org', 'Chris '.$name)]);
|
$header = new MailboxListHeader('From', [new Address('chris@swiftmailer.org', 'Chris '.$name)]);
|
||||||
$header->setCharset('iso-8859-1');
|
$header->setCharset('iso-8859-1');
|
||||||
$addresses = $header->getAddressStrings();
|
$addresses = $header->getAddressStrings();
|
||||||
$this->assertEquals('Chris =?'.$header->getCharset().'?Q?C=8Frbyn?= <chris@swiftmailer.org>', array_shift($addresses));
|
$this->assertEquals('Chris =?'.$header->getCharset().'?Q?C=8Frbyn?= <chris@swiftmailer.org>', array_shift($addresses));
|
||||||
@ -92,7 +91,7 @@ class MailboxListHeaderTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$name = 'C'.pack('C', 0x8F).'rbyn';
|
$name = 'C'.pack('C', 0x8F).'rbyn';
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@swiftmailer.org', 'Chris '.$name)]);
|
$header = new MailboxListHeader('From', [new Address('chris@swiftmailer.org', 'Chris '.$name)]);
|
||||||
$header->setCharset('iso-8859-1');
|
$header->setCharset('iso-8859-1');
|
||||||
$addresses = $header->getAddressStrings();
|
$addresses = $header->getAddressStrings();
|
||||||
$this->assertEquals('Chris =?'.$header->getCharset().'?Q?C=8Frbyn?= <chris@swiftmailer.org>', array_shift($addresses));
|
$this->assertEquals('Chris =?'.$header->getCharset().'?Q?C=8Frbyn?= <chris@swiftmailer.org>', array_shift($addresses));
|
||||||
@ -100,13 +99,13 @@ class MailboxListHeaderTest extends TestCase
|
|||||||
|
|
||||||
public function testGetValueReturnsMailboxStringValue()
|
public function testGetValueReturnsMailboxStringValue()
|
||||||
{
|
{
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@swiftmailer.org', 'Chris Corbyn')]);
|
$header = new MailboxListHeader('From', [new Address('chris@swiftmailer.org', 'Chris Corbyn')]);
|
||||||
$this->assertEquals('Chris Corbyn <chris@swiftmailer.org>', $header->getBodyAsString());
|
$this->assertEquals('Chris Corbyn <chris@swiftmailer.org>', $header->getBodyAsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetValueReturnsMailboxStringValueForMultipleMailboxes()
|
public function testGetValueReturnsMailboxStringValueForMultipleMailboxes()
|
||||||
{
|
{
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@swiftmailer.org', 'Chris Corbyn'), new NamedAddress('mark@swiftmailer.org', 'Mark Corbyn')]);
|
$header = new MailboxListHeader('From', [new Address('chris@swiftmailer.org', 'Chris Corbyn'), new Address('mark@swiftmailer.org', 'Mark Corbyn')]);
|
||||||
$this->assertEquals('Chris Corbyn <chris@swiftmailer.org>, Mark Corbyn <mark@swiftmailer.org>', $header->getBodyAsString());
|
$this->assertEquals('Chris Corbyn <chris@swiftmailer.org>, Mark Corbyn <mark@swiftmailer.org>', $header->getBodyAsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,7 +124,7 @@ class MailboxListHeaderTest extends TestCase
|
|||||||
|
|
||||||
public function testToString()
|
public function testToString()
|
||||||
{
|
{
|
||||||
$header = new MailboxListHeader('From', [new NamedAddress('chris@example.org', 'Chris Corbyn'), new NamedAddress('mark@example.org', 'Mark Corbyn')]);
|
$header = new MailboxListHeader('From', [new Address('chris@example.org', 'Chris Corbyn'), new Address('mark@example.org', 'Mark Corbyn')]);
|
||||||
$this->assertEquals('From: Chris Corbyn <chris@example.org>, Mark Corbyn <mark@example.org>', $header->toString());
|
$this->assertEquals('From: Chris Corbyn <chris@example.org>, Mark Corbyn <mark@example.org>', $header->toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,6 @@ use Symfony\Component\Mime\Header\Headers;
|
|||||||
use Symfony\Component\Mime\Header\MailboxListHeader;
|
use Symfony\Component\Mime\Header\MailboxListHeader;
|
||||||
use Symfony\Component\Mime\Header\UnstructuredHeader;
|
use Symfony\Component\Mime\Header\UnstructuredHeader;
|
||||||
use Symfony\Component\Mime\Message;
|
use Symfony\Component\Mime\Message;
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
use Symfony\Component\Mime\Part\TextPart;
|
use Symfony\Component\Mime\Part\TextPart;
|
||||||
|
|
||||||
class MessageTest extends TestCase
|
class MessageTest extends TestCase
|
||||||
@ -94,9 +93,9 @@ class MessageTest extends TestCase
|
|||||||
public function testGetPreparedHeadersWithNamedFrom()
|
public function testGetPreparedHeadersWithNamedFrom()
|
||||||
{
|
{
|
||||||
$message = new Message();
|
$message = new Message();
|
||||||
$message->getHeaders()->addMailboxListHeader('From', [new NamedAddress('fabien@symfony.com', 'Fabien')]);
|
$message->getHeaders()->addMailboxListHeader('From', [new Address('fabien@symfony.com', 'Fabien')]);
|
||||||
$h = $message->getPreparedHeaders();
|
$h = $message->getPreparedHeaders();
|
||||||
$this->assertEquals(new MailboxListHeader('From', [new NamedAddress('fabien@symfony.com', 'Fabien')]), $h->get('From'));
|
$this->assertEquals(new MailboxListHeader('From', [new Address('fabien@symfony.com', 'Fabien')]), $h->get('From'));
|
||||||
$this->assertTrue($h->has('Message-Id'));
|
$this->assertTrue($h->has('Message-Id'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of the Symfony package.
|
|
||||||
*
|
|
||||||
* (c) Fabien Potencier <fabien@symfony.com>
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Symfony\Component\Mime\Tests;
|
|
||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
|
||||||
use Symfony\Component\Mime\NamedAddress;
|
|
||||||
|
|
||||||
class NamedAddressTest extends TestCase
|
|
||||||
{
|
|
||||||
public function testConstructor()
|
|
||||||
{
|
|
||||||
$a = new NamedAddress('fabien@symfonï.com', 'Fabien');
|
|
||||||
$this->assertEquals('Fabien', $a->getName());
|
|
||||||
$this->assertEquals('fabien@symfonï.com', $a->getAddress());
|
|
||||||
$this->assertEquals('Fabien <fabien@xn--symfon-nwa.com>', $a->toString());
|
|
||||||
$this->assertEquals('fabien@xn--symfon-nwa.com', $a->getEncodedAddress());
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user