Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit eb7d74e

Browse filesBrowse files
committed
[Mime] Remove NamedAddress
1 parent 5a753b1 commit eb7d74e
Copy full SHA for eb7d74e

File tree

Expand file treeCollapse file tree

17 files changed

+96
-158
lines changed
Filter options
Expand file treeCollapse file tree

17 files changed

+96
-158
lines changed

‎UPGRADE-4.4.md

Copy file name to clipboardExpand all lines: UPGRADE-4.4.md
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,11 @@ Messenger
157157
* Deprecated passing a `ContainerInterface` instance as first argument of the `ConsumeMessagesCommand` constructor,
158158
pass a `RoutableMessageBus` instance instead.
159159

160+
Mime
161+
----
162+
163+
* Removed `NamedAddress`, use `Address` instead (which supports a name now)
164+
160165
MonologBridge
161166
--------------
162167

‎src/Symfony/Bridge/Twig/Mime/WrappedTemplatedEmail.php

Copy file name to clipboardExpand all lines: src/Symfony/Bridge/Twig/Mime/WrappedTemplatedEmail.php
+13-16Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
namespace Symfony\Bridge\Twig\Mime;
1313

1414
use Symfony\Component\Mime\Address;
15-
use Symfony\Component\Mime\NamedAddress;
1615
use Twig\Environment;
1716

1817
/**
@@ -33,9 +32,7 @@ public function __construct(Environment $twig, TemplatedEmail $message)
3332

3433
public function toName(): string
3534
{
36-
$to = $this->message->getTo()[0];
37-
38-
return $to instanceof NamedAddress ? $to->getName() : '';
35+
return $this->message->getTo()[0]->getName();
3936
}
4037

4138
public function image(string $image, string $contentType = null): string
@@ -93,15 +90,15 @@ public function getReturnPath(): string
9390
/**
9491
* @return $this
9592
*/
96-
public function addFrom(string $address, string $name = null): self
93+
public function addFrom(string $address, string $name = ''): self
9794
{
98-
$this->message->addFrom($name ? new NamedAddress($address, $name) : new Address($address));
95+
$this->message->addFrom(new Address($address, $name));
9996

10097
return $this;
10198
}
10299

103100
/**
104-
* @return (Address|NamedAddress)[]
101+
* @return Address[]
105102
*/
106103
public function getFrom(): array
107104
{
@@ -129,15 +126,15 @@ public function getReplyTo(): array
129126
/**
130127
* @return $this
131128
*/
132-
public function addTo(string $address, string $name = null): self
129+
public function addTo(string $address, string $name = ''): self
133130
{
134-
$this->message->addTo($name ? new NamedAddress($address, $name) : new Address($address));
131+
$this->message->addTo(new Address($address, $name));
135132

136133
return $this;
137134
}
138135

139136
/**
140-
* @return (Address|NamedAddress)[]
137+
* @return Address[]
141138
*/
142139
public function getTo(): array
143140
{
@@ -147,15 +144,15 @@ public function getTo(): array
147144
/**
148145
* @return $this
149146
*/
150-
public function addCc(string $address, string $name = null): self
147+
public function addCc(string $address, string $name = ''): self
151148
{
152-
$this->message->addCc($name ? new NamedAddress($address, $name) : new Address($address));
149+
$this->message->addCc(new Address($address, $name));
153150

154151
return $this;
155152
}
156153

157154
/**
158-
* @return (Address|NamedAddress)[]
155+
* @return Address[]
159156
*/
160157
public function getCc(): array
161158
{
@@ -165,15 +162,15 @@ public function getCc(): array
165162
/**
166163
* @return $this
167164
*/
168-
public function addBcc(string $address, string $name = null): self
165+
public function addBcc(string $address, string $name = ''): self
169166
{
170-
$this->message->addBcc($name ? new NamedAddress($address, $name) : new Address($address));
167+
$this->message->addBcc(new Address($address, $name));
171168

172169
return $this;
173170
}
174171

175172
/**
176-
* @return (Address|NamedAddress)[]
173+
* @return Address[]
177174
*/
178175
public function getBcc(): array
179176
{

‎src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/EmailController.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/EmailController.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414
use Symfony\Component\HttpFoundation\Response;
1515
use Symfony\Component\Mailer\MailerInterface;
16+
use Symfony\Component\Mime\Address;
1617
use Symfony\Component\Mime\Email;
17-
use Symfony\Component\Mime\NamedAddress;
1818

1919
class EmailController
2020
{
@@ -29,7 +29,7 @@ public function indexAction(MailerInterface $mailer)
2929
);
3030

3131
$mailer->send((new Email())->to('fabien@symfony.com', 'thomas@symfony.com')->from('fabien@symfony.com')->subject('Foo')
32-
->addReplyTo(new NamedAddress('me@symfony.com', 'Fabien Potencier'))
32+
->addReplyTo(new Address('me@symfony.com', 'Fabien Potencier'))
3333
->addCc('cc@symfony.com')
3434
->text('Bar!')
3535
->html('<p>Foo</p>')

‎src/Symfony/Component/Mailer/Tests/SmtpEnvelopeTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Mailer/Tests/SmtpEnvelopeTest.php
+9-10Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
use Symfony\Component\Mime\Address;
1717
use Symfony\Component\Mime\Header\Headers;
1818
use Symfony\Component\Mime\Message;
19-
use Symfony\Component\Mime\NamedAddress;
2019

2120
class SmtpEnvelopeTest extends TestCase
2221
{
@@ -28,13 +27,13 @@ public function testConstructorWithAddressSender()
2827

2928
public function testConstructorWithNamedAddressSender()
3029
{
31-
$e = new SmtpEnvelope(new NamedAddress('fabien@symfony.com', 'Fabien'), [new Address('thomas@symfony.com')]);
30+
$e = new SmtpEnvelope(new Address('fabien@symfony.com', 'Fabien'), [new Address('thomas@symfony.com')]);
3231
$this->assertEquals(new Address('fabien@symfony.com'), $e->getSender());
3332
}
3433

3534
public function testConstructorWithAddressRecipients()
3635
{
37-
$e = new SmtpEnvelope(new Address('fabien@symfony.com'), [new Address('thomas@symfony.com'), new NamedAddress('lucas@symfony.com', 'Lucas')]);
36+
$e = new SmtpEnvelope(new Address('fabien@symfony.com'), [new Address('thomas@symfony.com'), new Address('lucas@symfony.com', 'Lucas')]);
3837
$this->assertEquals([new Address('thomas@symfony.com'), new Address('lucas@symfony.com')], $e->getRecipients());
3938
}
4039

@@ -53,19 +52,19 @@ public function testConstructorWithWrongRecipients()
5352
public function testSenderFromHeaders()
5453
{
5554
$headers = new Headers();
56-
$headers->addPathHeader('Return-Path', new NamedAddress('return@symfony.com', 'return'));
55+
$headers->addPathHeader('Return-Path', new Address('return@symfony.com', 'return'));
5756
$headers->addMailboxListHeader('To', ['from@symfony.com']);
5857
$e = SmtpEnvelope::create(new Message($headers));
5958
$this->assertEquals('return@symfony.com', $e->getSender()->getAddress());
6059

6160
$headers = new Headers();
62-
$headers->addMailboxHeader('Sender', new NamedAddress('sender@symfony.com', 'sender'));
61+
$headers->addMailboxHeader('Sender', new Address('sender@symfony.com', 'sender'));
6362
$headers->addMailboxListHeader('To', ['from@symfony.com']);
6463
$e = SmtpEnvelope::create(new Message($headers));
6564
$this->assertEquals('sender@symfony.com', $e->getSender()->getAddress());
6665

6766
$headers = new Headers();
68-
$headers->addMailboxListHeader('From', [new NamedAddress('from@symfony.com', 'from'), 'some@symfony.com']);
67+
$headers->addMailboxListHeader('From', [new Address('from@symfony.com', 'from'), 'some@symfony.com']);
6968
$headers->addMailboxListHeader('To', ['from@symfony.com']);
7069
$e = SmtpEnvelope::create(new Message($headers));
7170
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
@@ -76,17 +75,17 @@ public function testSenderFromHeadersWithoutFrom()
7675
$headers = new Headers();
7776
$headers->addMailboxListHeader('To', ['from@symfony.com']);
7877
$e = SmtpEnvelope::create($message = new Message($headers));
79-
$message->getHeaders()->addMailboxListHeader('From', [new NamedAddress('from@symfony.com', 'from')]);
78+
$message->getHeaders()->addMailboxListHeader('From', [new Address('from@symfony.com', 'from')]);
8079
$this->assertEquals('from@symfony.com', $e->getSender()->getAddress());
8180
}
8281

8382
public function testRecipientsFromHeaders()
8483
{
8584
$headers = new Headers();
8685
$headers->addPathHeader('Return-Path', 'return@symfony.com');
87-
$headers->addMailboxListHeader('To', [new NamedAddress('to@symfony.com', 'to')]);
88-
$headers->addMailboxListHeader('Cc', [new NamedAddress('cc@symfony.com', 'cc')]);
89-
$headers->addMailboxListHeader('Bcc', [new NamedAddress('bcc@symfony.com', 'bcc')]);
86+
$headers->addMailboxListHeader('To', [new Address('to@symfony.com', 'to')]);
87+
$headers->addMailboxListHeader('Cc', [new Address('cc@symfony.com', 'cc')]);
88+
$headers->addMailboxListHeader('Bcc', [new Address('bcc@symfony.com', 'bcc')]);
9089
$e = SmtpEnvelope::create(new Message($headers));
9190
$this->assertEquals([new Address('to@symfony.com'), new Address('cc@symfony.com'), new Address('bcc@symfony.com')], $e->getRecipients());
9291
}

‎src/Symfony/Component/Mime/Address.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Mime/Address.php
+10-3Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,15 @@
2121
/**
2222
* @author Fabien Potencier <fabien@symfony.com>
2323
*/
24-
class Address
24+
final class Address
2525
{
2626
private static $validator;
2727
private static $encoder;
2828

2929
private $address;
30+
private $name;
3031

31-
public function __construct(string $address)
32+
public function __construct(string $address, string $name = '')
3233
{
3334
if (!class_exists(EmailValidator::class)) {
3435
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,13 +44,19 @@ public function __construct(string $address)
4344
}
4445

4546
$this->address = $address;
47+
$this->name = $name;
4648
}
4749

4850
public function getAddress(): string
4951
{
5052
return $this->address;
5153
}
5254

55+
public function getName(): string
56+
{
57+
return $this->name;
58+
}
59+
5360
public function getEncodedAddress(): string
5461
{
5562
if (null === self::$encoder) {
@@ -61,7 +68,7 @@ public function getEncodedAddress(): string
6168

6269
public function toString(): string
6370
{
64-
return $this->getEncodedAddress();
71+
return ($n = $this->getName()) ? $n.' <'.$this->getEncodedAddress().'>' : $this->getEncodedAddress();
6572
}
6673

6774
/**

‎src/Symfony/Component/Mime/CHANGELOG.md

Copy file name to clipboardExpand all lines: src/Symfony/Component/Mime/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ CHANGELOG
44
4.4.0
55
-----
66

7+
* [BC BREAK] Removed `NamedAddress` (`Address` now supports a name)
78
* Added PHPUnit constraints
89
* Added `AbstractPart::asDebugString()`
910

‎src/Symfony/Component/Mime/Email.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Mime/Email.php
+14-14Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public function getSender(): ?Address
101101
}
102102

103103
/**
104-
* @param Address|NamedAddress|string ...$addresses
104+
* @param Address|string ...$addresses
105105
*
106106
* @return $this
107107
*/
@@ -111,7 +111,7 @@ public function addFrom(...$addresses)
111111
}
112112

113113
/**
114-
* @param Address|NamedAddress|string ...$addresses
114+
* @param Address|string ...$addresses
115115
*
116116
* @return $this
117117
*/
@@ -121,7 +121,7 @@ public function from(...$addresses)
121121
}
122122

123123
/**
124-
* @return (Address|NamedAddress)[]
124+
* @return Address[]
125125
*/
126126
public function getFrom(): array
127127
{
@@ -157,7 +157,7 @@ public function getReplyTo(): array
157157
}
158158

159159
/**
160-
* @param Address|NamedAddress|string ...$addresses
160+
* @param Address|string ...$addresses
161161
*
162162
* @return $this
163163
*/
@@ -167,7 +167,7 @@ public function addTo(...$addresses)
167167
}
168168

169169
/**
170-
* @param Address|NamedAddress|string ...$addresses
170+
* @param Address|string ...$addresses
171171
*
172172
* @return $this
173173
*/
@@ -177,15 +177,15 @@ public function to(...$addresses)
177177
}
178178

179179
/**
180-
* @return (Address|NamedAddress)[]
180+
* @return Address[]
181181
*/
182182
public function getTo(): array
183183
{
184184
return $this->getHeaders()->getHeaderBody('To') ?: [];
185185
}
186186

187187
/**
188-
* @param Address|NamedAddress|string ...$addresses
188+
* @param Address|string ...$addresses
189189
*
190190
* @return $this
191191
*/
@@ -205,15 +205,15 @@ public function cc(...$addresses)
205205
}
206206

207207
/**
208-
* @return (Address|NamedAddress)[]
208+
* @return Address[]
209209
*/
210210
public function getCc(): array
211211
{
212212
return $this->getHeaders()->getHeaderBody('Cc') ?: [];
213213
}
214214

215215
/**
216-
* @param Address|NamedAddress|string ...$addresses
216+
* @param Address|string ...$addresses
217217
*
218218
* @return $this
219219
*/
@@ -233,7 +233,7 @@ public function bcc(...$addresses)
233233
}
234234

235235
/**
236-
* @return (Address|NamedAddress)[]
236+
* @return Address[]
237237
*/
238238
public function getBcc(): array
239239
{
@@ -524,10 +524,10 @@ private function setHeaderBody(string $type, string $name, $body)
524524

525525
private function addListAddressHeaderBody(string $name, array $addresses)
526526
{
527-
if (!$to = $this->getHeaders()->get($name)) {
527+
if (!$header = $this->getHeaders()->get($name)) {
528528
return $this->setListAddressHeaderBody($name, $addresses);
529529
}
530-
$to->addAddresses(Address::createArray($addresses));
530+
$header->addAddresses(Address::createArray($addresses));
531531

532532
return $this;
533533
}
@@ -536,8 +536,8 @@ private function setListAddressHeaderBody(string $name, array $addresses)
536536
{
537537
$addresses = Address::createArray($addresses);
538538
$headers = $this->getHeaders();
539-
if ($to = $headers->get($name)) {
540-
$to->setAddresses($addresses);
539+
if ($header = $headers->get($name)) {
540+
$header->setAddresses($addresses);
541541
} else {
542542
$headers->addMailboxListHeader($name, $addresses);
543543
}

‎src/Symfony/Component/Mime/Header/Headers.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Mime/Header/Headers.php
+2-3Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
use Symfony\Component\Mime\Address;
1515
use Symfony\Component\Mime\Exception\LogicException;
16-
use Symfony\Component\Mime\NamedAddress;
1716

1817
/**
1918
* A collection of headers.
@@ -60,7 +59,7 @@ public function getMaxLineLength(): int
6059
}
6160

6261
/**
63-
* @param (NamedAddress|Address|string)[] $addresses
62+
* @param (Address|string)[] $addresses
6463
*
6564
* @return $this
6665
*/
@@ -70,7 +69,7 @@ public function addMailboxListHeader(string $name, array $addresses): self
7069
}
7170

7271
/**
73-
* @param NamedAddress|Address|string $address
72+
* @param Address|string $address
7473
*
7574
* @return $this
7675
*/

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.