IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[SF5] Override les parametres du Mailer()


Sujet :

Symfony PHP

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2021
    Messages : 1
    Par défaut [SF5] Override les parametres du Mailer()
    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:
    A message must have a text or an HTML part or attachments.
    Semble-t-il du a l'utilisation de:
    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')
    Ce qui ne pose aucun problème si j'utilise le mailer généré dans le __construct() mais qui plante dans mon Mailer()...

    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

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 188
    Par défaut
    Bonjour,

    J'ai eu le même besoin que toi j'ai fait comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      $transport = new Swift_SmtpTransport($mail->getClient()->getHostSmtp(), $mail->getClient()->getPortSmtp(), $mail->getClient()->getEncryption());
                        $transport->setAuthMode($mail->getClient()->getAuthMode());
                        $transport->setUsername($mail->getClient()->getLoginSmtp());
                        $transport->setPassword($mail->getClient()->getPasswordSmtp());
                        $this->swift_Mailer = new Swift_Mailer($transport);
    où $mail est une entité de ma bdd et $this->swift_Mailer est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      private $swift_Mailer;
        public function __construct(\Swift_Mailer $swift_Mailer)
        {
     
            $this->swift_Mailer = $swift_Mailer;
     
        }
    J'espère que cela t'aidera

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/02/2008, 09h51
  2. gerer les parametres entrée sur un TADOStoredProc
    Par keguira dans le forum Bases de données
    Réponses: 1
    Dernier message: 13/09/2004, 15h56
  3. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51
  4. [LG]J'ai honte : question de cours sur les paramètres
    Par letibdesneiges dans le forum Langage
    Réponses: 14
    Dernier message: 17/01/2004, 13h57
  5. [VB6] [ADO] Procedure stockée : spécifier les paramètres
    Par adepdoom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/10/2002, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo