This PR was squashed before being merged into the 5.2-dev branch.
Discussion
----------
[Mailer] Implement additional mailer transport options
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets | Fix#37300
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/13911
This implements additional transport configuration options mentioned in #37300. It also adds a `command` option to be able to define the command used by the `sendmail` transport.
Examples:
```yml
framework:
mailer:
transports:
sendmail: sendmail://default?command=/usr/sbin/sendmail%%20-oi%%20-t
local_domain: smtps://smtp.example.com?local_domain=example.org
restart_threshold: smtps://smtp.example.com?restart_threshold=10&restart_threshold_sleep=1
ping_threshold: smtps://smtp.example.com?ping_threshold=200
```
Commits
-------
665d1cd3fa [Mailer] Implement additional mailer transport options
In Amazon SES a Configuration Set can be used to monitor email sending
events (delivery, bounces, complaints etc.). In order to use this
feature the ConfigurationSetName needs to be sent along with the email.
Setting the `X-SES-CONFIGURATION-SET` header should accomplish this for
all SES Transports now.
Ref: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets-in-email.html
Use the `Return-Path` header as the last candidate to determine the
Envelope's sender address.
The `Return-Path` is usually configured _in addition_ to the `Sender`
and/or `From` header: it allows for email bounces and complaints to be
sent to a dedicated email address. It should therefore not be used as
the first candidate header to determine the sender.
This PR was merged into the 5.2-dev branch.
Discussion
----------
🐛 [Mailer] Fix mailjet scheme bug
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | no
| License | MIT
| Doc PR | no
<!--
Fix a typo introduced in mailjet-mailer accepted schemes that causes the scheme mailjet+api to not be recognized
Commits
-------
6f357a67cc🐛 [Mailer] Fix mailjet scheme bug
* 5.1:
fix: clarify parameter name to comply with deprecations from #34074
[Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
mark the AssertingContextualValidator class as internal
Fix the parameter names in the SecurityFactoryInterface::create() method
[Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one
make return type correct
* 4.4:
[Sendgrid-Mailer] Fixed envelope recipients on sendgridApiTransport
mark the AssertingContextualValidator class as internal
Fix the parameter names in the SecurityFactoryInterface::create() method
[Serializer][ClassDiscriminatorMapping] Fix getMappedObjectType() when a discriminator child extends another one
make return type correct
Fixes#37870
The SendgridApiTransport was not using the envelope to get the
recipients, so overriding the recipients with the EnvelopeListener was
not working.
This PR was merged into the 5.2-dev branch.
Discussion
----------
[Mailer] Add a transport that uses php.ini settings for configuration
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
This PR aims to allow to use the mailer when sendmail is not on the `/usr/sbin` directory or when the `-bs` option is not supported.
Commits
-------
04de561f63 [Mailer] Add NativeTransportFactory
* 5.1:
fail properly when the required service is not defined
Fix typo
[Finder] Fix GitIgnore parser when dealing with (sub)directories and take order of lines into account
Update UPGRADE-5.0.md
Added the missing reset tag to mailer.logger_message_listener
Fix invalid option sslmode
Updated README for the Mailer component
fix error with custom function and web profiler routing tab
* 4.4:
fail properly when the required service is not defined
Fix typo
[Finder] Fix GitIgnore parser when dealing with (sub)directories and take order of lines into account
Update UPGRADE-5.0.md
Added the missing reset tag to mailer.logger_message_listener
Updated README for the Mailer component
fix error with custom function and web profiler routing tab
This PR was merged into the 4.4 branch.
Discussion
----------
[Mailer] Updated README for the Mailer component
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | n/a
| License | MIT
| Doc PR | symfony/symfony-docs#13945
I think it's worth adding a second example showcasing the twig integration for 2 reasons:
* If you're used to use this component in the framework, I think it's likely you want Twig integration in standalone apps.
* The integration actually lives in `symfony/twig-bridge`, it won't be very easy to catch while reading the component code - unless you're very comfortable with the Symfony architecture.
Commits
-------
696560c690 Updated README for the Mailer component
* 5.1:
fix merge
Require PHPUnit 9.3 on PHP 8
[Cache] fix catching auth errors
Fix CS
[FrameworkBundle] set default session.handler alias if handler_id is not provided
Fix CS
Readability update
Removed @internal from Composite
Fix checks for phpunit releases on Composer 2 (resolves#37601)
[Messenger] fix ignore account & endpoint options amazon sqs connection
[Serializer] Support multiple levels of discriminator mapping
Use hexadecimal numerals instead of hexadecimals in strings to represent error codes.
[SCA] Minor fixes on tests
[WebProfilerBundle] modified url generation to use absolute urls
[Mailer] Fix reply-to functionality in the SendgridApiTransport
[Mime] Fix compat with HTTP requests
ticket_36879 - Fix mandrill raw http request setting from email/name
* 5.0:
fix merge
Require PHPUnit 9.3 on PHP 8
[Cache] fix catching auth errors
Fix CS
[FrameworkBundle] set default session.handler alias if handler_id is not provided
Fix CS
Readability update
Fix checks for phpunit releases on Composer 2 (resolves#37601)
[Serializer] Support multiple levels of discriminator mapping
Use hexadecimal numerals instead of hexadecimals in strings to represent error codes.
[SCA] Minor fixes on tests
[WebProfilerBundle] modified url generation to use absolute urls
[Mailer] Fix reply-to functionality in the SendgridApiTransport
[Mime] Fix compat with HTTP requests
ticket_36879 - Fix mandrill raw http request setting from email/name
* 4.4:
fix merge
Require PHPUnit 9.3 on PHP 8
[Cache] fix catching auth errors
Fix CS
[FrameworkBundle] set default session.handler alias if handler_id is not provided
Fix CS
Readability update
Fix checks for phpunit releases on Composer 2 (resolves#37601)
[Serializer] Support multiple levels of discriminator mapping
Use hexadecimal numerals instead of hexadecimals in strings to represent error codes.
[SCA] Minor fixes on tests
[WebProfilerBundle] modified url generation to use absolute urls
[Mailer] Fix reply-to functionality in the SendgridApiTransport
[Mime] Fix compat with HTTP requests
ticket_36879 - Fix mandrill raw http request setting from email/name
This PR was merged into the 4.4 branch.
Discussion
----------
[Mailer] Fix mandrill raw http request setting from email/name
| Q | A
| ------------- | ---
| Branch? | 4.4, 5.0, 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#36879
| License | MIT
| Doc PR | None
As describe in https://github.com/symfony/symfony/issues/36879 there is a bug in sending raw http request to mandrill it will not set from email/name correct.
As you can see i make sure to set `from_email` and `from_name` correct now and changed the unit test to check correct you can see the doc that the format is correct https://mandrillapp.com/api/docs/messages.curl.html#method-send-raw
Commits
-------
6128dd0b75 ticket_36879 - Fix mandrill raw http request setting from email/name
This PR was squashed before being merged into the 4.4 branch.
Discussion
----------
[Mailer] Fix reply-to functionality in the SendgridApiTransport
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
When sending a message using the `SendgridApiTransport`, the reply-to address was being ignored. In other transports, the reply to can be set using headers, but SendGrid requires that certain fields be added explicitly to the API payload. This is already handled for From, To, Cc, Bcc, and Subject, but was not handled for Reply-To. This change extracts the reply to address from the `Email` object and adds it to the payload.
Note that the `Email` object allows for multiple Reply-To addresses, but SendGrid only supports a single one, so I am just using the first element of the array.
I also fixed a link in a comment to SendGrid's documentation explaining the reserved headers that are not allowed.
Commits
-------
2cf25d1055 [Mailer] Fix reply-to functionality in the SendgridApiTransport
* 5.1:
[DependencyInjection][Config] Use several placeholder unique prefixes for dynamic placeholder values
[Mime] Keep Sender full address when used by non-SMTP transports
Update MimeTypes.php
* 5.0:
[DependencyInjection][Config] Use several placeholder unique prefixes for dynamic placeholder values
[Mime] Keep Sender full address when used by non-SMTP transports
Update MimeTypes.php
* 4.4:
[DependencyInjection][Config] Use several placeholder unique prefixes for dynamic placeholder values
[Mime] Keep Sender full address when used by non-SMTP transports
Update MimeTypes.php