Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

MailerInterface: failed exception contract when enabling messenger#44839

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
fabpot merged 1 commit intosymfony:4.4fromgiosh94mhz:failed_contract_mailer
Feb 25, 2022

Conversation

@giosh94mhz
Copy link
Contributor

QA
Branch?4.4
Bug fix?yes
New feature?no
Deprecations?no
Ticketsno
LicenseMIT
Doc PRlikely not required...

The interface for MailerInterface::send states that exception for
transport failures are sent as TransportExceptionInterface, which
make perfectly sense and allows to create solid UI.

If at later stage the Messenger component is enabled, the mail will
be rewired into a dispatched message, which by default is synchronous.
This cause all exception to be wrapped into HandlerFailedException
which doesn't the interface contract.

In the end the UI is broken, and the exception HandlerFailedException,
even if caught, is totally unrelated to the usage context as it is only
related to configuration details.

This patch will unwrap the underlying MailTransportInterface exception
if available for the handler exception.

PS: don't know if make sense to add a phpunit test for this cross-component scenario, if so I'll try. Also, this will restore compatibility with interface, but I don't if it's to be considered a BC (strictly speaking, it may be)

sad270 and ging-dev reacted with thumbs up emoji
The interface for MailerInterface::send states that exception fortransport failures are sent as TransportExceptionInterface, whichmake perfectly sense and allows to create solid UI.If at later stage the Messenger component is enabled, the mail willbe rewired into a dispatched message, which by default is synchronous.This cause all exception to be wrapped into HandlerFailedExceptionwhich doesn't the interface contract.In the end the UI is broken, and the exception HandlerFailedException,even if caught, is totally unrelated to the usage context as it is onlyrelated to configuration details.This patch will unwrap the underlying MailTransportInterface exceptionif available for the handler exception.
@fabpot
Copy link
Member

Thank you@giosh94mhz.

@fabpotfabpot merged commit989175a intosymfony:4.4Feb 25, 2022
This was referencedFeb 28, 2022
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@fabpotfabpotfabpot approved these changes

Assignees

No one assigned

Projects

None yet

Milestone

4.4

Development

Successfully merging this pull request may close these issues.

3 participants

@giosh94mhz@fabpot@carsonbot

[8]ページ先頭

©2009-2025 Movatter.jp