diff --git a/src/Symfony/Component/Mailer/Exception/TransportException.php b/src/Symfony/Component/Mailer/Exception/TransportException.php index 909125c8465b..dfad0c45f782 100644 --- a/src/Symfony/Component/Mailer/Exception/TransportException.php +++ b/src/Symfony/Component/Mailer/Exception/TransportException.php @@ -16,4 +16,15 @@ */ class TransportException extends RuntimeException implements TransportExceptionInterface { + private $debug = ''; + + public function getDebug(): string + { + return $this->debug; + } + + public function appendDebug(string $debug): void + { + $this->debug .= $debug; + } } diff --git a/src/Symfony/Component/Mailer/Exception/TransportExceptionInterface.php b/src/Symfony/Component/Mailer/Exception/TransportExceptionInterface.php index 0235eb1ec627..4318f5ce157e 100644 --- a/src/Symfony/Component/Mailer/Exception/TransportExceptionInterface.php +++ b/src/Symfony/Component/Mailer/Exception/TransportExceptionInterface.php @@ -16,4 +16,7 @@ */ interface TransportExceptionInterface extends ExceptionInterface { + public function getDebug(): string; + + public function appendDebug(string $debug): void; } diff --git a/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php b/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php index a154255ab6aa..386f1eddcfd6 100644 --- a/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php +++ b/src/Symfony/Component/Mailer/Transport/Smtp/SmtpTransport.php @@ -157,8 +157,11 @@ protected function doSend(SentMessage $message): void } $this->stream->flush(); $this->executeCommand("\r\n.\r\n", [250]); - } finally { $message->appendDebug($this->stream->getDebug()); + } catch (TransportExceptionInterface $e) { + $e->appendDebug($this->stream->getDebug()); + + throw $e; } }
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: