-
-
Notifications
You must be signed in to change notification settings - Fork 9.7k
[Mailer] Add compatibility for Mailtrap's sandbox #61315
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Sorry about that @Chris53897. Mistake resolved with commit. |
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapTransportFactory.php
Outdated
Show resolved
Hide resolved
Thanks for working on this @KiloSierraCharlie. There's still some logic needed to change the endpoint host if an |
Suggested changes made as part of PR symfony#61315.
Apoligies @kbond & @nicolas-grekas - new commit e767fd6 with all changes submitted to branch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder: it isn't super clear that when you have an inboxId, the sandbox is used. Could it lead to some confusion as to why the live isn't being used.
Would it make more sense to have separate DSN schemes for the sandbox?
# SANDBOX SMTP
MAILER_DSN=mailtrap+sandbox+smtp://PASSWORD@default
# SANDBOX API
MAILER_DSN=mailtrap+sandbox+api://INBOX_ID:TOKEN@default
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Tests/Transport/MailtrapApiTransportTest.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
@kbond Thanks for the suggestion, I think you're right - adding a seperate DSN makes it clearer as to which Mailtrap environment is being used. I've created a new transport which extends the original. Unit tests for this new DSN added also. |
Add documentation relating to the Mailtrap sandbox implementation in 7.4 (symfony/symfony#61315).
I'll get there eventually 😢 |
Suggested changes made as part of PR symfony#61315.
fe922e3
to
27bdb25
Compare
Accidentally merge-commit'd instead of rebasing hence the force-push... |
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
27bdb25
to
a8fa408
Compare
Suggested changes made as part of PR symfony#61315.
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapTransportFactory.php
Outdated
Show resolved
Hide resolved
8ab82fe
to
73cab0e
Compare
Suggested changes made as part of PR symfony#61315.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Let's make sure we make the inboxId required.
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiSandboxTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapApiSandboxTransport.php
Outdated
Show resolved
Hide resolved
src/Symfony/Component/Mailer/Bridge/Mailtrap/Transport/MailtrapTransportFactory.php
Outdated
Show resolved
Hide resolved
why not a single DSN scheme + optional DSN inboxId parameter? https://github.com/railsware/mailtrap-php/tree/main/src/Bridge/Symfony#sandbox |
The initial PR was with a single DSN and optional inboxId param, however it was suggested to implement a separate DSN to ensure that prod/sandbox enviornments are clearer to identify for users. |
5895393
to
3256633
Compare
Thank you @KiloSierraCharlie. |
Mailtrap's sandbox requires the Inbox ID to be passed as part of the URI, which has previously been neglected.
Previously #61305 but I messed up when re-basing to 7.4.
Updates with appropriate tests and changelog.