Skip to content

Commit b07df9d

Browse files
committed
feature #33562 [Mailer] rename SmtpEnvelope to Envelope (xabbuh)
This PR was merged into the 4.4 branch. Discussion ---------- [Mailer] rename SmtpEnvelope to Envelope | Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | | License | MIT | Doc PR | Drop the Smtp prefix so that arbitrary transports do not have to depend on SMTP specific concepts. Commits ------- 5e2c6da rename SmtpEnvelope to Envelope
2 parents 6e7182f + 5e2c6da commit b07df9d

24 files changed

+67
-65
lines changed

src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
namespace Symfony\Component\Mailer\Bridge\Amazon\Transport;
1313

1414
use Psr\Log\LoggerInterface;
15+
use Symfony\Component\Mailer\Envelope;
1516
use Symfony\Component\Mailer\Exception\HttpTransportException;
16-
use Symfony\Component\Mailer\SmtpEnvelope;
1717
use Symfony\Component\Mailer\Transport\AbstractApiTransport;
1818
use Symfony\Component\Mime\Email;
1919
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
@@ -48,7 +48,7 @@ public function __toString(): string
4848
return sprintf('ses+api://%s@%s', $this->accessKey, $this->getEndpoint());
4949
}
5050

51-
protected function doSendApi(Email $email, SmtpEnvelope $envelope): ResponseInterface
51+
protected function doSendApi(Email $email, Envelope $envelope): ResponseInterface
5252
{
5353
$date = gmdate('D, d M Y H:i:s e');
5454
$auth = sprintf('AWS3-HTTPS AWSAccessKeyId=%s,Algorithm=HmacSHA256,Signature=%s', $this->accessKey, $this->getSignature($date));
@@ -81,7 +81,7 @@ private function getSignature(string $string): string
8181
return base64_encode(hash_hmac('sha256', $string, $this->secretKey, true));
8282
}
8383

84-
private function getPayload(Email $email, SmtpEnvelope $envelope): array
84+
private function getPayload(Email $email, Envelope $envelope): array
8585
{
8686
if ($email->getAttachments()) {
8787
return [

src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
namespace Symfony\Component\Mailer\Bridge\Mailchimp\Transport;
1313

1414
use Psr\Log\LoggerInterface;
15+
use Symfony\Component\Mailer\Envelope;
1516
use Symfony\Component\Mailer\Exception\HttpTransportException;
16-
use Symfony\Component\Mailer\SmtpEnvelope;
1717
use Symfony\Component\Mailer\Transport\AbstractApiTransport;
1818
use Symfony\Component\Mime\Email;
1919
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
@@ -41,7 +41,7 @@ public function __toString(): string
4141
return sprintf('mandrill+api://%s', $this->getEndpoint());
4242
}
4343

44-
protected function doSendApi(Email $email, SmtpEnvelope $envelope): ResponseInterface
44+
protected function doSendApi(Email $email, Envelope $envelope): ResponseInterface
4545
{
4646
$response = $this->client->request('POST', 'https://'.$this->getEndpoint().'/api/1.0/messages/send.json', [
4747
'json' => $this->getPayload($email, $envelope),
@@ -64,7 +64,7 @@ private function getEndpoint(): ?string
6464
return ($this->host ?: self::HOST).($this->port ? ':'.$this->port : '');
6565
}
6666

67-
private function getPayload(Email $email, SmtpEnvelope $envelope): array
67+
private function getPayload(Email $email, Envelope $envelope): array
6868
{
6969
$payload = [
7070
'key' => $this->key,
@@ -105,7 +105,7 @@ private function getPayload(Email $email, SmtpEnvelope $envelope): array
105105
return $payload;
106106
}
107107

108-
protected function getRecipients(Email $email, SmtpEnvelope $envelope): array
108+
protected function getRecipients(Email $email, Envelope $envelope): array
109109
{
110110
$recipients = [];
111111
foreach ($envelope->getRecipients() as $recipient) {

src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
namespace Symfony\Component\Mailer\Bridge\Mailgun\Transport;
1313

1414
use Psr\Log\LoggerInterface;
15+
use Symfony\Component\Mailer\Envelope;
1516
use Symfony\Component\Mailer\Exception\HttpTransportException;
16-
use Symfony\Component\Mailer\SmtpEnvelope;
1717
use Symfony\Component\Mailer\Transport\AbstractApiTransport;
1818
use Symfony\Component\Mime\Email;
1919
use Symfony\Component\Mime\Part\Multipart\FormDataPart;
@@ -46,7 +46,7 @@ public function __toString(): string
4646
return sprintf('mailgun+api://%s?domain=%s', $this->getEndpoint(), $this->domain);
4747
}
4848

49-
protected function doSendApi(Email $email, SmtpEnvelope $envelope): ResponseInterface
49+
protected function doSendApi(Email $email, Envelope $envelope): ResponseInterface
5050
{
5151
$body = new FormDataPart($this->getPayload($email, $envelope));
5252
$headers = [];
@@ -72,7 +72,7 @@ protected function doSendApi(Email $email, SmtpEnvelope $envelope): ResponseInte
7272
return $response;
7373
}
7474

75-
private function getPayload(Email $email, SmtpEnvelope $envelope): array
75+
private function getPayload(Email $email, Envelope $envelope): array
7676
{
7777
$headers = $email->getHeaders();
7878
$html = $email->getHtmlBody();

src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
namespace Symfony\Component\Mailer\Bridge\Postmark\Transport;
1313

1414
use Psr\Log\LoggerInterface;
15+
use Symfony\Component\Mailer\Envelope;
1516
use Symfony\Component\Mailer\Exception\HttpTransportException;
16-
use Symfony\Component\Mailer\SmtpEnvelope;
1717
use Symfony\Component\Mailer\Transport\AbstractApiTransport;
1818
use Symfony\Component\Mime\Email;
1919
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
@@ -41,7 +41,7 @@ public function __toString(): string
4141
return sprintf('postmark+api://%s', $this->getEndpoint());
4242
}
4343

44-
protected function doSendApi(Email $email, SmtpEnvelope $envelope): ResponseInterface
44+
protected function doSendApi(Email $email, Envelope $envelope): ResponseInterface
4545
{
4646
$response = $this->client->request('POST', 'https://'.$this->getEndpoint().'/email', [
4747
'headers' => [
@@ -60,7 +60,7 @@ protected function doSendApi(Email $email, SmtpEnvelope $envelope): ResponseInte
6060
return $response;
6161
}
6262

63-
private function getPayload(Email $email, SmtpEnvelope $envelope): array
63+
private function getPayload(Email $email, Envelope $envelope): array
6464
{
6565
$payload = [
6666
'From' => $envelope->getSender()->toString(),

src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
namespace Symfony\Component\Mailer\Bridge\Sendgrid\Transport;
1313

1414
use Psr\Log\LoggerInterface;
15+
use Symfony\Component\Mailer\Envelope;
1516
use Symfony\Component\Mailer\Exception\HttpTransportException;
16-
use Symfony\Component\Mailer\SmtpEnvelope;
1717
use Symfony\Component\Mailer\Transport\AbstractApiTransport;
1818
use Symfony\Component\Mime\Address;
1919
use Symfony\Component\Mime\Email;
@@ -42,7 +42,7 @@ public function __toString(): string
4242
return sprintf('sendgrid+api://%s', $this->getEndpoint());
4343
}
4444

45-
protected function doSendApi(Email $email, SmtpEnvelope $envelope): ResponseInterface
45+
protected function doSendApi(Email $email, Envelope $envelope): ResponseInterface
4646
{
4747
$response = $this->client->request('POST', 'https://'.$this->getEndpoint().'/v3/mail/send', [
4848
'json' => $this->getPayload($email, $envelope),
@@ -58,7 +58,7 @@ protected function doSendApi(Email $email, SmtpEnvelope $envelope): ResponseInte
5858
return $response;
5959
}
6060

61-
private function getPayload(Email $email, SmtpEnvelope $envelope): array
61+
private function getPayload(Email $email, Envelope $envelope): array
6262
{
6363
$addressStringifier = function (Address $address) {return ['email' => $address->toString()]; };
6464

src/Symfony/Component/Mailer/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ CHANGELOG
44
4.4.0
55
-----
66

7+
* [BC BREAK] renamed `SmtpEnvelope` to `Envelope`, renamed `DelayedSmtpEnvelope` to
8+
`DelayedEnvelope`
79
* [BC BREAK] changed the syntax for failover and roundrobin DSNs
810

911
Before:

src/Symfony/Component/Mailer/DelayedSmtpEnvelope.php renamed to src/Symfony/Component/Mailer/DelayedEnvelope.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
*
2222
* @internal
2323
*/
24-
final class DelayedSmtpEnvelope extends SmtpEnvelope
24+
final class DelayedEnvelope extends Envelope
2525
{
2626
private $senderSet = false;
2727
private $recipientsSet = false;

src/Symfony/Component/Mailer/SmtpEnvelope.php renamed to src/Symfony/Component/Mailer/Envelope.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
/**
2020
* @author Fabien Potencier <fabien@symfony.com>
2121
*/
22-
class SmtpEnvelope
22+
class Envelope
2323
{
2424
private $sender;
2525
private $recipients = [];
@@ -39,7 +39,7 @@ public static function create(RawMessage $message): self
3939
throw new LogicException('Cannot send a RawMessage instance without an explicit Envelope.');
4040
}
4141

42-
return new DelayedSmtpEnvelope($message);
42+
return new DelayedEnvelope($message);
4343
}
4444

4545
public function setSender(Address $sender): void

src/Symfony/Component/Mailer/Event/MessageEvent.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
namespace Symfony\Component\Mailer\Event;
1313

1414
use Symfony\Component\EventDispatcher\Event;
15-
use Symfony\Component\Mailer\SmtpEnvelope;
15+
use Symfony\Component\Mailer\Envelope;
1616
use Symfony\Component\Mime\RawMessage;
1717

1818
/**
@@ -27,7 +27,7 @@ final class MessageEvent extends Event
2727
private $transport;
2828
private $queued;
2929

30-
public function __construct(RawMessage $message, SmtpEnvelope $envelope, string $transport, bool $queued = false)
30+
public function __construct(RawMessage $message, Envelope $envelope, string $transport, bool $queued = false)
3131
{
3232
$this->message = $message;
3333
$this->envelope = $envelope;

src/Symfony/Component/Mailer/Mailer.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function __construct(TransportInterface $transport, MessageBusInterface $
3434
$this->dispatcher = $dispatcher;
3535
}
3636

37-
public function send(RawMessage $message, SmtpEnvelope $envelope = null): void
37+
public function send(RawMessage $message, Envelope $envelope = null): void
3838
{
3939
if (null === $this->bus) {
4040
$this->transport->send($message, $envelope);
@@ -44,7 +44,7 @@ public function send(RawMessage $message, SmtpEnvelope $envelope = null): void
4444

4545
if (null !== $this->dispatcher) {
4646
$message = clone $message;
47-
$envelope = null !== $envelope ? clone $envelope : SmtpEnvelope::create($message);
47+
$envelope = null !== $envelope ? clone $envelope : Envelope::create($message);
4848
$event = new MessageEvent($message, $envelope, (string) $this->transport, true);
4949
$this->dispatcher->dispatch($event);
5050
}

src/Symfony/Component/Mailer/MailerInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ interface MailerInterface
2626
/**
2727
* @throws TransportExceptionInterface
2828
*/
29-
public function send(RawMessage $message, SmtpEnvelope $envelope = null): void;
29+
public function send(RawMessage $message, Envelope $envelope = null): void;
3030
}

src/Symfony/Component/Mailer/Messenger/SendEmailMessage.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
namespace Symfony\Component\Mailer\Messenger;
1313

14-
use Symfony\Component\Mailer\SmtpEnvelope;
14+
use Symfony\Component\Mailer\Envelope;
1515
use Symfony\Component\Mime\RawMessage;
1616

1717
/**
@@ -25,7 +25,7 @@ class SendEmailMessage
2525
/**
2626
* @internal
2727
*/
28-
public function __construct(RawMessage $message, SmtpEnvelope $envelope = null)
28+
public function __construct(RawMessage $message, Envelope $envelope = null)
2929
{
3030
$this->message = $message;
3131
$this->envelope = $envelope;
@@ -36,7 +36,7 @@ public function getMessage(): RawMessage
3636
return $this->message;
3737
}
3838

39-
public function getEnvelope(): ?SmtpEnvelope
39+
public function getEnvelope(): ?Envelope
4040
{
4141
return $this->envelope;
4242
}

src/Symfony/Component/Mailer/SentMessage.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class SentMessage
2727
/**
2828
* @internal
2929
*/
30-
public function __construct(RawMessage $message, SmtpEnvelope $envelope)
30+
public function __construct(RawMessage $message, Envelope $envelope)
3131
{
3232
$message->ensureValidity();
3333

@@ -46,7 +46,7 @@ public function getOriginalMessage(): RawMessage
4646
return $this->original;
4747
}
4848

49-
public function getEnvelope(): SmtpEnvelope
49+
public function getEnvelope(): Envelope
5050
{
5151
return $this->envelope;
5252
}

src/Symfony/Component/Mailer/Tests/SmtpEnvelopeTest.php renamed to src/Symfony/Component/Mailer/Tests/EnvelopeTest.php

+14-14
Original file line numberDiff line numberDiff line change
@@ -12,71 +12,71 @@
1212
namespace Symfony\Component\Mailer\Tests;
1313

1414
use PHPUnit\Framework\TestCase;
15+
use Symfony\Component\Mailer\Envelope;
1516
use Symfony\Component\Mailer\Exception\LogicException;
16-
use Symfony\Component\Mailer\SmtpEnvelope;
1717
use Symfony\Component\Mime\Address;
1818
use Symfony\Component\Mime\Header\Headers;
1919
use Symfony\Component\Mime\Message;
2020
use Symfony\Component\Mime\RawMessage;
2121

22-
class SmtpEnvelopeTest extends TestCase
22+
class EnvelopeTest extends TestCase
2323
{
2424
public function testConstructorWithAddressSender()
2525
{
26-
$e = new SmtpEnvelope(new Address('fabien@symfony.com'), [new Address('thomas@symfony.com')]);
26+
$e = new Envelope(new Address('fabien@symfony.com'), [new Address('thomas@symfony.com')]);
2727
$this->assertEquals(new Address('fabien@symfony.com'), $e->getSender());
2828
}
2929

3030
public function testConstructorWithNamedAddressSender()
3131
{
32-
$e = new SmtpEnvelope(new Address('fabien@symfony.com', 'Fabien'), [new Address('thomas@symfony.com')]);
32+
$e = new Envelope(new Address('fabien@symfony.com', 'Fabien'), [new Address('thomas@symfony.com')]);
3333
$this->assertEquals(new Address('fabien@symfony.com'), $e->getSender());
3434
}
3535

3636
public function testConstructorWithAddressRecipients()
3737
{
38-
$e = new SmtpEnvelope(new Address('fabien@symfony.com'), [new Address('thomas@symfony.com'), new Address('lucas@symfony.com', 'Lucas')]);
38+
$e = new Envelope(new Address('fabien@symfony.com'), [new Address('thomas@symfony.com'), new Address('lucas@symfony.com', 'Lucas')]);
3939
$this->assertEquals([new Address('thomas@symfony.com'), new Address('lucas@symfony.com')], $e->getRecipients());
4040
}
4141

4242
public function testConstructorWithNoRecipients()
4343
{
4444
$this->expectException(\InvalidArgumentException::class);
45-
$e = new SmtpEnvelope(new Address('fabien@symfony.com'), []);
45+
$e = new Envelope(new Address('fabien@symfony.com'), []);
4646
}
4747

4848
public function testConstructorWithWrongRecipients()
4949
{
5050
$this->expectException(\InvalidArgumentException::class);
51-
$e = new SmtpEnvelope(new Address('fabien@symfony.com'), ['lucas@symfony.com']);
51+
$e = new Envelope(new Address('fabien@symfony.com'), ['lucas@symfony.com']);
5252
}
5353

5454
public function testSenderFromHeaders()
5555
{
5656
$headers = new Headers();
5757
$headers->addPathHeader('Return-Path', new Address('return@symfony.com', 'return'));
5858
$headers->addMailboxListHeader('To', ['from@symfony.com']);
59-
$e = SmtpEnvelope::create(new Message($headers));
59+
$e = Envelope::create(new Message($headers));
6060
$this->assertEquals(new Address('return@symfony.com', 'return'), $e->getSender());
6161

6262
$headers = new Headers();
6363
$headers->addMailboxHeader('Sender', new Address('sender@symfony.com', 'sender'));
6464
$headers->addMailboxListHeader('To', ['from@symfony.com']);
65-
$e = SmtpEnvelope::create(new Message($headers));
65+
$e = Envelope::create(new Message($headers));
6666
$this->assertEquals(new Address('sender@symfony.com', 'sender'), $e->getSender());
6767

6868
$headers = new Headers();
6969
$headers->addMailboxListHeader('From', [new Address('from@symfony.com', 'from'), 'some@symfony.com']);
7070
$headers->addMailboxListHeader('To', ['from@symfony.com']);
71-
$e = SmtpEnvelope::create(new Message($headers));
71+
$e = Envelope::create(new Message($headers));
7272
$this->assertEquals(new Address('from@symfony.com', 'from'), $e->getSender());
7373
}
7474

7575
public function testSenderFromHeadersWithoutFrom()
7676
{
7777
$headers = new Headers();
7878
$headers->addMailboxListHeader('To', ['from@symfony.com']);
79-
$e = SmtpEnvelope::create($message = new Message($headers));
79+
$e = Envelope::create($message = new Message($headers));
8080
$message->getHeaders()->addMailboxListHeader('From', [new Address('from@symfony.com', 'from')]);
8181
$this->assertEquals(new Address('from@symfony.com', 'from'), $e->getSender());
8282
}
@@ -88,7 +88,7 @@ public function testRecipientsFromHeaders()
8888
$headers->addMailboxListHeader('To', [new Address('to@symfony.com')]);
8989
$headers->addMailboxListHeader('Cc', [new Address('cc@symfony.com')]);
9090
$headers->addMailboxListHeader('Bcc', [new Address('bcc@symfony.com')]);
91-
$e = SmtpEnvelope::create(new Message($headers));
91+
$e = Envelope::create(new Message($headers));
9292
$this->assertEquals([new Address('to@symfony.com'), new Address('cc@symfony.com'), new Address('bcc@symfony.com')], $e->getRecipients());
9393
}
9494

@@ -99,14 +99,14 @@ public function testRecipientsFromHeadersWithNames()
9999
$headers->addMailboxListHeader('To', [new Address('to@symfony.com', 'to')]);
100100
$headers->addMailboxListHeader('Cc', [new Address('cc@symfony.com', 'cc')]);
101101
$headers->addMailboxListHeader('Bcc', [new Address('bcc@symfony.com', 'bcc')]);
102-
$e = SmtpEnvelope::create(new Message($headers));
102+
$e = Envelope::create(new Message($headers));
103103
$this->assertEquals([new Address('to@symfony.com', 'to'), new Address('cc@symfony.com', 'cc'), new Address('bcc@symfony.com', 'bcc')], $e->getRecipients());
104104
}
105105

106106
public function testFromRawMessages()
107107
{
108108
$this->expectException(LogicException::class);
109109

110-
SmtpEnvelope::create(new RawMessage('Some raw email message'));
110+
Envelope::create(new RawMessage('Some raw email message'));
111111
}
112112
}

0 commit comments

Comments
 (0)