Hello,
Je vais tenter d'expliquer ce titre qui, il faut l'avouer n'est pas des plus clair...
Pour l'un de mes projets que je réalise en symfony 5, j'ai besoin de pouvoir envoyer des mails depuis différents comptes smtp en fonction de l'utilisateur.
La solution simple serait de créer plusieurs entrées dans le fichier .env et de préciser ensuite lequel utiliser.
Malheureusement, la situation est différente, et je souhaiterais utiliser des infos de la db pour "surcharger" les infos du .env
Mais après de nombreuse recherche, je n'ai trouvé aucune méthode permettant de "surcharger temporairement" ces infos le temps de réaliser un envoi.
La seule méthode que j'avais trouvé était de générer un nouveau Mailer() basé sur un EsmtpTransport() et d'envoyer mon mail de cette façon.
Pas optimal mais fonctionnel.
J'ai ensuite testé d'enregistrer un nouvel utilisateur et la: problème, l'EmailVerifier() veut utiliser les infos du .env
Je décide de modifier l'EmailVerifier() pour utiliser mon Mailer() custom mais là un autre problème survient, l'envoi du mail par l'EmailVerifier() ressort une erreur:
Semble-t-il du a l'utilisation de:A message must have a text or an HTML part or attachments.
Ce qui ne pose aucun problème si j'utilise le mailer généré dans le __construct() mais qui plante dans mon Mailer()...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 (new TemplatedEmail()) ... ->subject('Please Confirm your Email') ->htmlTemplate('registration/confirmation_email.html.twig')
Du coup je suis un peu perdu.
Y a-t-il une solution pour surcharger les paramètres utiliser par le Mailer() ?
Y a-t-il une erreur dans le code du mail de vérification?
Est ce que je fait totalement fausse route ?
Merci à vous,
K
Partager