Bonjour à tous,
Je débute sur Symfony, j'ai passé plusieurs jours à tenter d'envoyer des mails sur Symfony 6 avant de comprendre que l'envoie des mails se fessait de manière asynchrone.
Du coup en local, j'execute cette commande pour envoyer des mails :
php bin/console messenger:consume async -vv
Mais je me demande quand même pourquoi l'envoie des mails se fait de manière asynchrone ?
Comment faire pour envoyer des mails ensuite quand mon application sera en ligne sur serveur mutualisé ?
Est-ce qu'il est possible d'envoyer des mails directement juste après l'appel à la fonction $mailer->send($email); ?
Merci d'avance pour vos retours 🙂
Je viens de vérifier sur un nouveau projet et il semble que l'envoi de mail soit par défaut configuré en async.
Pour envoyer les mails en direct, tu peux désactiver ça en commentant la ligne
Symfony\Component\Mailer\Messenger\SendEmailMessage: async
dans le fichier config/packages/messenger.yaml
Bonjour,
l'envoi ne se fait pas obligatoirement de manière asynchrone, tout dépend de ta configuration.
Qu'y a-t-il dans le fichier 'config/packages/mailer.yaml' ?
Bonjour Gillesr,
Merci pour ta réponse.
Voici le contenu de mon fichier config/packages/mailer.yaml
framework:
mailer:
dsn: '%env(MAILER_DSN)%'
C'est la configuration par défaut.