Description
Symfony version(s) affected
7.2
Description
Cannot send email messages using the async transport and the sender address configuration. Exception thrown:
"An email must have a "From" or a "Sender" header."
How to reproduce
Set the sender address in the configuration:
framework:
mailer:
dsn: '%env(MAILER_DSN)%'
envelope:
sender: no-reply@example.com
headers:
From: 'Example <no-reply@example.com>'
Send an email without using any transport (sync sending): OK
Send an email using the async transport: KO
Error thrown while handling message Symfony\Component\Mailer\Messenger\SendEmailMessage. Sending for retry #1 using 1060 ms delay. Error: "An email must have a "From" or a "Sender" header." {"class":"Symfony\Component\Mailer\Messenger\SendEmailMessage","message_id":77,"retryCount":1,"delay":1060,"error":"An email must have a "From" or a "Sender" header.","exception":"[object] (Symfony\Component\Mime\Exception\LogicException(code: 0): An email must have a "From" or a "Sender" header. at /app/vendor/symfony/mime/Message.php:132)"} []
Async transport configuration:
framework:
messenger:
# Uncomment this (and the failed transport below) to send failed messages to this transport for later handling.
failure_transport: failed
transports:
# https://symfony.com/doc/current/messenger.html#transport-configuration
async: '%env(MESSENGER_TRANSPORT_DSN)%'
failed: 'doctrine://default?queue_name=failed'
# sync: 'sync://'
routing:
# Route your messages to the transports
# 'App\Message\YourMessage': async
Symfony\Component\Mailer\Messenger\SendEmailMessage: async
Possible Solution
No response
Additional Context
The EnvelopeListener
which I suppose is responsible of setting the sender is actually called even using the async transport.