diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/MailerTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/MailerTest.php index da5390950f6cb..77e70e9ea3a28 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/MailerTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/MailerTest.php @@ -43,7 +43,7 @@ public function __construct(EventDispatcherInterface $eventDispatcher, LoggerInt $this->onDoSend = $onDoSend; } - public function getName(): string + public function __toString(): string { return 'dummy://local'; } diff --git a/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php index 5305540b39860..6bd2b2cb9a008 100644 --- a/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesApiTransport.php @@ -43,7 +43,7 @@ public function __construct(string $accessKey, string $secretKey, string $region parent::__construct($client, $dispatcher, $logger); } - public function getName(): string + public function __toString(): string { return sprintf('api://%s@ses?region=%s', $this->accessKey, $this->region); } diff --git a/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php b/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php index e93511fdde8a8..202aef7baa1f6 100644 --- a/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Amazon/Transport/SesHttpTransport.php @@ -42,7 +42,7 @@ public function __construct(string $accessKey, string $secretKey, string $region parent::__construct($client, $dispatcher, $logger); } - public function getName(): string + public function __toString(): string { return sprintf('http://%s@ses?region=%s', $this->accessKey, $this->region); } diff --git a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php index 9b1748904cd68..879611b88484e 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillApiTransport.php @@ -36,7 +36,7 @@ public function __construct(string $key, HttpClientInterface $client = null, Eve parent::__construct($client, $dispatcher, $logger); } - public function getName(): string + public function __toString(): string { return sprintf('api://mandrill'); } diff --git a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php index e850ba0cb8230..a24afa86a8e93 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailchimp/Transport/MandrillHttpTransport.php @@ -34,7 +34,7 @@ public function __construct(string $key, HttpClientInterface $client = null, Eve parent::__construct($client, $dispatcher, $logger); } - public function getName(): string + public function __toString(): string { return sprintf('http://mandrill'); } diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php index d55e498beac0e..f58e183736885 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunApiTransport.php @@ -41,7 +41,7 @@ public function __construct(string $key, string $domain, string $region = null, parent::__construct($client, $dispatcher, $logger); } - public function getName(): string + public function __toString(): string { return sprintf('api://%s@mailgun?region=%s', $this->domain, $this->region); } diff --git a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php index bda648232dd82..ad77efea6be7f 100644 --- a/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Mailgun/Transport/MailgunHttpTransport.php @@ -40,7 +40,7 @@ public function __construct(string $key, string $domain, string $region = null, parent::__construct($client, $dispatcher, $logger); } - public function getName(): string + public function __toString(): string { return sprintf('http://%s@mailgun?region=%s', $this->domain, $this->region); } diff --git a/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php index b2abd43a84da6..a13e8ae7300c0 100644 --- a/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Postmark/Transport/PostmarkApiTransport.php @@ -36,7 +36,7 @@ public function __construct(string $key, HttpClientInterface $client = null, Eve parent::__construct($client, $dispatcher, $logger); } - public function getName(): string + public function __toString(): string { return sprintf('api://postmark'); } diff --git a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php index efbd41eff5504..e6494649cda69 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php +++ b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Tests/Transport/SendgridTransportFactoryTest.php @@ -76,4 +76,9 @@ public function unsupportedSchemeProvider(): iterable 'The "foo" scheme is not supported for mailer "sendgrid". Supported schemes are: "api", "smtp", "smtps".', ]; } + + public function incompleteDsnProvider(): iterable + { + yield [new Dsn('api', 'sendgrid')]; + } } diff --git a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php index a881df3f84bf9..8536b8eb6ce46 100644 --- a/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php +++ b/src/Symfony/Component/Mailer/Bridge/Sendgrid/Transport/SendgridApiTransport.php @@ -37,7 +37,7 @@ public function __construct(string $key, HttpClientInterface $client = null, Eve parent::__construct($client, $dispatcher, $logger); } - public function getName(): string + public function __toString(): string { return sprintf('api://sendgrid'); } diff --git a/src/Symfony/Component/Mailer/CHANGELOG.md b/src/Symfony/Component/Mailer/CHANGELOG.md index 59293ee4640fb..b1d82f2d89b1a 100644 --- a/src/Symfony/Component/Mailer/CHANGELOG.md +++ b/src/Symfony/Component/Mailer/CHANGELOG.md @@ -11,7 +11,7 @@ CHANGELOG * Added PHPUnit constraints * Added `MessageDataCollector` * Added `MessageEvents` and `MessageLoggerListener` to allow collecting sent emails - * [BC BREAK] `TransportInterface` has a new `getName()` method + * [BC BREAK] `TransportInterface` has a new `__toString()` method * [BC BREAK] Classes `AbstractApiTransport` and `AbstractHttpTransport` moved under `Transport` sub-namespace. * [BC BREAK] Transports depend on `Symfony\Contracts\EventDispatcher\EventDispatcherInterface` instead of `Symfony\Component\EventDispatcher\EventDispatcherInterface`. diff --git a/src/Symfony/Component/Mailer/Event/MessageEvent.php b/src/Symfony/Component/Mailer/Event/MessageEvent.php index 25a8aafbb1f77..a2b149c9b2ac6 100644 --- a/src/Symfony/Component/Mailer/Event/MessageEvent.php +++ b/src/Symfony/Component/Mailer/Event/MessageEvent.php @@ -24,14 +24,14 @@ final class MessageEvent extends Event { private $message; private $envelope; - private $transportName; + private $transport; private $queued; - public function __construct(RawMessage $message, SmtpEnvelope $envelope, string $transportName, bool $queued = false) + public function __construct(RawMessage $message, SmtpEnvelope $envelope, string $transport, bool $queued = false) { $this->message = $message; $this->envelope = $envelope; - $this->transportName = $transportName; + $this->transport = $transport; $this->queued = $queued; } @@ -55,9 +55,9 @@ public function setEnvelope(SmtpEnvelope $envelope): void $this->envelope = $envelope; } - public function getTransportName(): string + public function getTransport(): string { - return $this->transportName; + return $this->transport; } public function isQueued(): bool diff --git a/src/Symfony/Component/Mailer/Event/MessageEvents.php b/src/Symfony/Component/Mailer/Event/MessageEvents.php index 259fe8ffdfd50..b5266493c9a55 100644 --- a/src/Symfony/Component/Mailer/Event/MessageEvents.php +++ b/src/Symfony/Component/Mailer/Event/MessageEvents.php @@ -24,7 +24,7 @@ class MessageEvents public function add(MessageEvent $event): void { $this->events[] = $event; - $this->transports[$event->getTransportName()] = true; + $this->transports[$event->getTransport()] = true; } public function getTransports(): array @@ -43,7 +43,7 @@ public function getEvents(string $name = null): array $events = []; foreach ($this->events as $event) { - if ($name === $event->getTransportName()) { + if ($name === $event->getTransport()) { $events[] = $event; } } diff --git a/src/Symfony/Component/Mailer/Mailer.php b/src/Symfony/Component/Mailer/Mailer.php index b00ab4da0c157..5c649320e3bbf 100644 --- a/src/Symfony/Component/Mailer/Mailer.php +++ b/src/Symfony/Component/Mailer/Mailer.php @@ -54,7 +54,7 @@ public function send(RawMessage $message, SmtpEnvelope $envelope = null): void throw new TransportException('Cannot send message without a valid envelope.', 0, $e); } } - $event = new MessageEvent($message, $envelope, $this->transport->getName(), true); + $event = new MessageEvent($message, $envelope, (string) $this->transport, true); $this->dispatcher->dispatch($event); } diff --git a/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php b/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php index 9b7dda632f611..6c73354bb3853 100644 --- a/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php +++ b/src/Symfony/Component/Mailer/Test/TransportFactoryTestCase.php @@ -70,7 +70,7 @@ public function testCreate(Dsn $dsn, TransportInterface $transport): void $this->assertEquals($transport, $factory->create($dsn)); if ('smtp' !== $dsn->getScheme() && 'smtps' !== $dsn->getScheme()) { - $this->assertStringMatchesFormat($dsn->getScheme().'://%S'.$dsn->getHost().'%S', $transport->getName()); + $this->assertStringMatchesFormat($dsn->getScheme().'://%S'.$dsn->getHost().'%S', (string) $transport); } } diff --git a/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php b/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php index 5677ecab2c69e..2fb1b422f31d5 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php @@ -29,14 +29,14 @@ public function testSendNoTransports() new FailoverTransport([]); } - public function testGetName() + public function testToString() { $t1 = $this->createMock(TransportInterface::class); - $t1->expects($this->once())->method('getName')->willReturn('t1://local'); + $t1->expects($this->once())->method('__toString')->willReturn('t1://local'); $t2 = $this->createMock(TransportInterface::class); - $t2->expects($this->once())->method('getName')->willReturn('t2://local'); + $t2->expects($this->once())->method('__toString')->willReturn('t2://local'); $t = new FailoverTransport([$t1, $t2]); - $this->assertEquals('t1://local || t2://local', $t->getName()); + $this->assertEquals('t1://local || t2://local', (string) $t); } public function testSendFirstWork() diff --git a/src/Symfony/Component/Mailer/Tests/Transport/NullTransportTest.php b/src/Symfony/Component/Mailer/Tests/Transport/NullTransportTest.php index 7a25994bf8c3a..c43bf90f9951c 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/NullTransportTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/NullTransportTest.php @@ -16,9 +16,9 @@ class NullTransportTest extends TestCase { - public function testName() + public function testToString() { $t = new NullTransport(); - $this->assertEquals('smtp://null', $t->getName()); + $this->assertEquals('smtp://null', (string) $t); } } diff --git a/src/Symfony/Component/Mailer/Tests/Transport/RoundRobinTransportTest.php b/src/Symfony/Component/Mailer/Tests/Transport/RoundRobinTransportTest.php index f130f6d3fba37..a703eb36bf15d 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/RoundRobinTransportTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/RoundRobinTransportTest.php @@ -28,14 +28,14 @@ public function testSendNoTransports() new RoundRobinTransport([]); } - public function testGetName() + public function testToString() { $t1 = $this->createMock(TransportInterface::class); - $t1->expects($this->once())->method('getName')->willReturn('t1://local'); + $t1->expects($this->once())->method('__toString')->willReturn('t1://local'); $t2 = $this->createMock(TransportInterface::class); - $t2->expects($this->once())->method('getName')->willReturn('t2://local'); + $t2->expects($this->once())->method('__toString')->willReturn('t2://local'); $t = new RoundRobinTransport([$t1, $t2]); - $this->assertEquals('t1://local && t2://local', $t->getName()); + $this->assertEquals('t1://local && t2://local', (string) $t); } public function testSendAlternate() diff --git a/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php b/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php index 2f79c0ff52058..6056b48d499b7 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/SendmailTransportTest.php @@ -16,9 +16,9 @@ class SendmailTransportTest extends TestCase { - public function testName() + public function testToString() { $t = new SendmailTransport(); - $this->assertEquals('smtp://sendmail', $t->getName()); + $this->assertEquals('smtp://sendmail', (string) $t); } } diff --git a/src/Symfony/Component/Mailer/Tests/Transport/Smtp/EsmtpTransportTest.php b/src/Symfony/Component/Mailer/Tests/Transport/Smtp/EsmtpTransportTest.php index 83c4ac51d96f9..6e69e19a2a277 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/Smtp/EsmtpTransportTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/Smtp/EsmtpTransportTest.php @@ -16,28 +16,28 @@ class EsmtpTransportTest extends TestCase { - public function testName() + public function testToString() { $t = new EsmtpTransport(); - $this->assertEquals('smtp://localhost', $t->getName()); + $this->assertEquals('smtp://localhost', (string) $t); $t = new EsmtpTransport('example.com'); if (\defined('OPENSSL_VERSION_NUMBER')) { - $this->assertEquals('smtps://example.com', $t->getName()); + $this->assertEquals('smtps://example.com', (string) $t); } else { - $this->assertEquals('smtp://example.com', $t->getName()); + $this->assertEquals('smtp://example.com', (string) $t); } $t = new EsmtpTransport('example.com', 2525); - $this->assertEquals('smtp://example.com:2525', $t->getName()); + $this->assertEquals('smtp://example.com:2525', (string) $t); $t = new EsmtpTransport('example.com', 0, true); - $this->assertEquals('smtps://example.com', $t->getName()); + $this->assertEquals('smtps://example.com', (string) $t); $t = new EsmtpTransport('example.com', 0, false); - $this->assertEquals('smtp://example.com', $t->getName()); + $this->assertEquals('smtp://example.com', (string) $t); $t = new EsmtpTransport('example.com', 466, true); - $this->assertEquals('smtps://example.com:466', $t->getName()); + $this->assertEquals('smtps://example.com:466', (string) $t); } } diff --git a/src/Symfony/Component/Mailer/Tests/Transport/Smtp/SmtpTransportTest.php b/src/Symfony/Component/Mailer/Tests/Transport/Smtp/SmtpTransportTest.php index 1ad8a8235b2df..659062d947f16 100644 --- a/src/Symfony/Component/Mailer/Tests/Transport/Smtp/SmtpTransportTest.php +++ b/src/Symfony/Component/Mailer/Tests/Transport/Smtp/SmtpTransportTest.php @@ -17,12 +17,12 @@ class SmtpTransportTest extends TestCase { - public function testName() + public function testToString() { $t = new SmtpTransport(); - $this->assertEquals('smtps://localhost', $t->getName()); + $this->assertEquals('smtps://localhost', (string) $t); $t = new SmtpTransport((new SocketStream())->setHost('127.0.0.1')->setPort(2525)->disableTls()); - $this->assertEquals('smtp://127.0.0.1:2525', $t->getName()); + $this->assertEquals('smtp://127.0.0.1:2525', (string) $t); } } diff --git a/src/Symfony/Component/Mailer/Tests/TransportTest.php b/src/Symfony/Component/Mailer/Tests/TransportTest.php index 139b644875968..47b352c7dd143 100644 --- a/src/Symfony/Component/Mailer/Tests/TransportTest.php +++ b/src/Symfony/Component/Mailer/Tests/TransportTest.php @@ -69,7 +69,7 @@ public function send(RawMessage $message, SmtpEnvelope $envelope = null): ?SentM throw new \BadMethodCallException('This method newer should be called.'); } - public function getName(): string + public function __toString(): string { return sprintf('dummy://local'); } diff --git a/src/Symfony/Component/Mailer/Transport/AbstractTransport.php b/src/Symfony/Component/Mailer/Transport/AbstractTransport.php index 018b4612e90a8..71d7636d06e9c 100644 --- a/src/Symfony/Component/Mailer/Transport/AbstractTransport.php +++ b/src/Symfony/Component/Mailer/Transport/AbstractTransport.php @@ -67,7 +67,7 @@ public function send(RawMessage $message, SmtpEnvelope $envelope = null): ?SentM } } - $event = new MessageEvent($message, $envelope, $this->getName()); + $event = new MessageEvent($message, $envelope, (string) $this); $this->dispatcher->dispatch($event); $envelope = $event->getEnvelope(); if (!$envelope->getRecipients()) { diff --git a/src/Symfony/Component/Mailer/Transport/NullTransport.php b/src/Symfony/Component/Mailer/Transport/NullTransport.php index 96df22cc6d38f..71a0958b53d6b 100644 --- a/src/Symfony/Component/Mailer/Transport/NullTransport.php +++ b/src/Symfony/Component/Mailer/Transport/NullTransport.php @@ -24,7 +24,7 @@ protected function doSend(SentMessage $message): void { } - public function getName(): string + public function __toString(): string { return 'smtp://null'; } diff --git a/src/Symfony/Component/Mailer/Transport/RoundRobinTransport.php b/src/Symfony/Component/Mailer/Transport/RoundRobinTransport.php index 261c38f46f174..f2029fb4338b0 100644 --- a/src/Symfony/Component/Mailer/Transport/RoundRobinTransport.php +++ b/src/Symfony/Component/Mailer/Transport/RoundRobinTransport.php @@ -56,10 +56,10 @@ public function send(RawMessage $message, SmtpEnvelope $envelope = null): ?SentM throw new TransportException('All transports failed.'); } - public function getName(): string + public function __toString(): string { return implode(' '.$this->getNameSymbol().' ', array_map(function (TransportInterface $transport) { - return $transport->getName(); + return (string) $transport; }, $this->transports)); } diff --git a/src/Symfony/Component/Mailer/Transport/SendmailTransport.php b/src/Symfony/Component/Mailer/Transport/SendmailTransport.php index 4fa7b8a7fe79b..ed3c3afd4ef94 100644 --- a/src/Symfony/Component/Mailer/Transport/SendmailTransport.php +++ b/src/Symfony/Component/Mailer/Transport/SendmailTransport.php @@ -73,10 +73,10 @@ public function send(RawMessage $message, SmtpEnvelope $envelope = null): ?SentM return parent::send($message, $envelope); } - public function getName(): string + public function __toString(): string { if ($this->transport) { - return $this->transport->getName(); + return (string) $this->transport; } return 'smtp://sendmail'; diff --git a/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php b/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php index 61990a9350397..2450c2ef4bb67 100644 --- a/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php +++ b/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php @@ -126,7 +126,7 @@ public function send(RawMessage $message, SmtpEnvelope $envelope = null): ?SentM return $message; } - public function getName(): string + public function __toString(): string { if ($this->stream instanceof SocketStream) { $name = sprintf('smtp%s://%s', ($tls = $this->stream->isTLS()) ? 's' : '', $this->stream->getHost()); diff --git a/src/Symfony/Component/Mailer/Transport/TransportInterface.php b/src/Symfony/Component/Mailer/Transport/TransportInterface.php index cc30f65f4787c..8945f0d08be0f 100644 --- a/src/Symfony/Component/Mailer/Transport/TransportInterface.php +++ b/src/Symfony/Component/Mailer/Transport/TransportInterface.php @@ -31,5 +31,5 @@ interface TransportInterface */ public function send(RawMessage $message, SmtpEnvelope $envelope = null): ?SentMessage; - public function getName(): string; + public function __toString(): string; }
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: