-
-
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
base: 7.4
Are you sure you want to change the base?
[Mailer] Add compatibility for Mailtrap's sandbox #61315
Conversation
Mailtrap's sandbox requires the Inbox ID to be passed as part of the URI, which has previously been neglected.
Correct setter function for inbox id within the transport factory test.
Spelling mistake made with changelog for sandbox compatibility.
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
Swap order of 7.3 and 7.4 within changelog. Co-authored-by: Nicolas Grekas <nicolas.grekas@gmail.com>
Cleaner method of forming URI for sandbox. Co-authored-by: Nicolas Grekas <nicolas.grekas@gmail.com>
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
Add a new DSN for Mailtrap's sandbox to support the use of the sandbox service & differentiate from the live environment.
Change security of HEADERS_TO_BYPASS to support the sandbox transport.
@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).
Changes to match the Symfony code style.
Changes to match the Symfony code style.
Changes to match the Symfony code style.
Changes to match the Symfony code style.
Changes to match the Symfony code style.
I'll get there eventually 😢 |
Use separate tests for sandbox and live APIs. Use phpunit attributes as per recent standards.
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.