Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2381 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Symfony 4: config Swift Mailer & SMTP...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Symfony 4: config Swift Mailer & SMTP...

n°2311778
potemkin
Optimisateur relativiste.
Posté le 28-02-2018 à 20:23:47  profilanswer
 

Bonsoir!

 

Je suis sur le dev d'une petite app sous Symfony 4, mais je galère pour un simple envoi mail :D

 

J'ai ien mon bundle (composer require mailer)

 

Mon controller ressemble à ça:

   /**
     * @Route("/contact", name="contact_handling" )
     */
    public function contactHandler(Request $request,  \Swift_Mailer $mailer)
    {
        $contact = new Contact();
        $form = $this->createForm(ContactType::class, $contact);

 

       $form->handleRequest($request);

 

       if ($form->isSubmitted() && $form->isValid()) {

 


            $message = (new \Swift_Message('Hello Email'))
                ->setSubject('Sujet Test')
                ->setFrom('send@example.com')
                ->setTo('mailperso@hotmail.fr')
                ->setBody("plopppp mail" );

 

           $mailer->send($message);

 

           $contact = $form->getData();
            return $this->redirectToRoute('landing_page');
        }

 

       return $this->redirectToRoute('landing_page');

 

   }

 


et dans le fichier .env, j'ai testé plein de config, y compris avec un compte mailjet gratuit:

 

MAILER_URL=gmail://monmailgmail@gmail.com:monpwdgmail@localhost?encryption=tls&auth_mode=oauth
#MAILER_URL=smtp://monapikeymailjet:monapisecretmailjet@in-v3.mailjet.com:25
#MAILER_URL=smtp://localhost:25?encryption=&auth_mode=
#MAILER_URL=smtp://localhost:25?encryption=ssl&auth_mode=login&username=&password=
#MAILER_URL=smtp://monmailperso@hotmail.fr:monpwdperso@smtp-mail.outlook.com:587/?timeout=60&encryption=tls&auth_mode=login

 

Marche paaaaas  [:kaio]

 

J'ai même désactivé le firewall pour m'ôter d'un doute, ports 25/587...

 

Et en bonus la profiler toolbar m'aid epas, elle apparaît bien, mais au clic (où que ce soit), ça m'affiche une page blanche  :sweat:

 

Euh, help?  [:gaga jap]

Message cité 1 fois
Message édité par potemkin le 28-02-2018 à 20:25:53
mood
Publicité
Posté le 28-02-2018 à 20:23:47  profilanswer
 

n°2311783
rufo
Pas me confondre avec Lycos!
Posté le 28-02-2018 à 23:10:16  profilanswer
 

Question bête : est-ce que tu arrives à envoyer un mail en utilisant juste la fonction mail() dans un script php tout simple ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2311833
potemkin
Optimisateur relativiste.
Posté le 01-03-2018 à 12:44:55  profilanswer
 

:jap: Je viens de tester, ça lève une exception logique puisque je réalise que les params smtp utilisés par la fonction mail() sont tirés du php.ini.

 

Sauf que, selon mes recherches, ça ne supporte pas d'authentification, je ne peux rien tester à moins de monter un server mail local (ce que j'aurais volontiers fait, mais le souci se reposerait en prod, autant donc arriver à faire marcher Swift... :/).


Message édité par potemkin le 01-03-2018 à 12:45:19
n°2311842
rufo
Pas me confondre avec Lycos!
Posté le 01-03-2018 à 14:08:43  profilanswer
 

Si t'as pas de serveur de mail sur ta machine, comment Swift arrive à envoyer un mail (quand bien même il cherche à passer par gmail ou autre pour envoyer sur le réseau) :??:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2311843
potemkin
Optimisateur relativiste.
Posté le 01-03-2018 à 14:09:45  profilanswer
 

En utilisant un serveur externalisé, c'est justement l'intérêt :??:

n°2311848
rufo
Pas me confondre avec Lycos!
Posté le 01-03-2018 à 15:28:13  profilanswer
 

Non mais comment ta requête SMTP arrive à partir de ton serveur vers celui qui va réellement envoyer le mail ? En gros, comment ton mail part de ton serveur vers celui de gmail par ex ? C'est Swift qui embarque son propre petit relai SMTP ?


Message édité par rufo le 01-03-2018 à 15:28:47

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2311849
tompouss
Petit chat
Posté le 01-03-2018 à 15:35:25  profilanswer
 

J'ai eu le même problème que toi il n'y a pas longtemps:
 
De base tu n'as pas absolument besoin d'avoir un server mail en local pour l'envoi des mails sur internet, mais tu dois pouvoir te connecter à un server SMTP (comme le font les clients mail comme Outlook ou Thunderbird) que ce soit celui d'un FAI ou d'un service mail comme Google.
 
 perso la dernière fois j'ai résolu le problème en utilisant le smtp de google via mon compte gmail et en autorisant la connexion à mon compte via simple authentification.
Je ne sais plus où j'ai parametré ca exactement, mais c'était sur mon compte gmail
une piste : https://galleryserverpro.com/use-gm [...] ification/
 
Par la suite, dans ton code tu dois configurer la connection sans tls, pour que l'envoi des mails fonctionne
 
Après le problème c'est que tu dois metttre tes identifiants gmail en clair dans ton code, ce qui n'est pas génial, donc pour moi c'est plus une solution de secours à court terme.
 
 
 
En fait le mieux c'est d'utiliser un petit server mail local qui servira de relais smtp local (c'est pensé pour)
 
http://mailslurper.com/
https://mailtrap.io/
 
et il y 'en a d'autres
 
UPdate: et je pense qu'il faut que l'extension php OpenSSL soit activée pour que ca fonctionne


Message édité par tompouss le 01-03-2018 à 16:12:42
n°2311855
tompouss
Petit chat
Posté le 01-03-2018 à 16:26:19  profilanswer
 

potemkin a écrit :

Bonsoir!
 
 
 
Et en bonus la profiler toolbar m'aid epas, elle apparaît bien, mais au clic (où que ce soit), ça m'affiche une page blanche  :sweat:
 
Euh, help?  [:gaga jap]  


 
ce sera pas betement dû à adblock ou un antivirus ?


---------------
collectionneur de pâtes thermiques
n°2311875
potemkin
Optimisateur relativiste.
Posté le 01-03-2018 à 19:08:16  profilanswer
 

tompouss a écrit :


 
ce sera pas betement dû à adblock ou un antivirus ?


Bref moment de lueur d'espoir, mais on :D
 
Pour le reste, faut vraiment que j'arrive à passer par un serveur mail externe, sinon je ne fais que repousser le problème.
 
Je focalise sur mailjet là, mais sans succès :/
 
Mon param:
MAILER_URL=smtp://in-v3.mailjet.com:587?encryption=tls&auth_mode=login&username=mauserkey&password=mausersecrete
 
J'ai testé 50 variations...  [:cerveau cinoque]  

n°2311882
tompouss
Petit chat
Posté le 01-03-2018 à 20:05:21  profilanswer
 

Tu as essayé en mettant le code d'envoi de mail dans un try catch et en affichant le message de l'exception, ca ppourrait te de donner une piste sur ce qui bloque  ?
 
dans la doc, ils disent mettent ca:
 
"If authentication fails, an Exception of type Swift_TransportException will be thrown.
 
If you need to know early whether or not authentication has failed and an Exception is going to be thrown, call the start() method on the created Transport."
 
Et si tu passes par un proxy, tu peux essayer ca
https://github.com/swiftmailer/swiftmailer/issues/1013


Message édité par tompouss le 01-03-2018 à 20:18:20

---------------
collectionneur de pâtes thermiques
mood
Publicité
Posté le 01-03-2018 à 20:05:21  profilanswer
 

n°2311884
potemkin
Optimisateur relativiste.
Posté le 01-03-2018 à 20:53:44  profilanswer
 

:jap:
 
Aucune exception levée  [:cerveau cinoque]  
 
J'aurais bien testé un autre transporteur que mailjet, mais gmail est assez fermé (pour un compte particulier du moins)... :/

n°2311893
rufo
Pas me confondre avec Lycos!
Posté le 01-03-2018 à 23:07:52  profilanswer
 

Tu peux regarder tipmail ou mailgun peut-être.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2311894
potemkin
Optimisateur relativiste.
Posté le 01-03-2018 à 23:51:17  profilanswer
 

:jap:
 
Eh bien eh bien... ça marche avec mailgun (+ la librairie qui va avec) :D
 
Je vais rester sur cette option, en espérant que j'aurai pas d'embûche au moment de déclarer le domaine voulu chez OVH, c'est assez mystérieux pour moi ces concepts (MX & co) :D
 
Bon, dommage pour mailjet, j'avais une pref pour lui qd même :o
 
Merci!

n°2311895
potemkin
Optimisateur relativiste.
Posté le 01-03-2018 à 23:58:33  profilanswer
 

Omagad
 
Honte à moi
Mailgun m'a fait percuter un truc: j'utilisais en tant que sender, des emails random
 
Forcément, le NDD était pas enregistré chez  mailjet/mailgun, et ça n'arrivait jamais :D
 
Putaiiiiiiiiiiiiiiiiiin le con [:kaio]


Message édité par potemkin le 01-03-2018 à 23:59:41
n°2311913
rufo
Pas me confondre avec Lycos!
Posté le 02-03-2018 à 11:06:17  profilanswer
 

A la boulette ! :D


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2311953
potemkin
Optimisateur relativiste.
Posté le 02-03-2018 à 17:51:31  profilanswer
 

Ca arrive aux meilleurs, dira-t-on :whistle:
 
Merci à toi et tompouss pour votre aide! Je reviens pour la prochaine boulette dans un nouveau topac :D

n°2312250
tompouss
Petit chat
Posté le 09-03-2018 à 14:35:21  profilanswer
 

pour info:
 
https://symfony.com/doc/3.4/email/gmail.html
 
j'ai testé et ca marche bien


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Symfony 4: config Swift Mailer & SMTP...

 

Sujets relatifs
2 Controller 1 Form sur SymfonySymfony Doctrine2 et PhpMyAdmin
[Swift/iOS] Les ressources pour commencer à programmer[Symfony/Php] vers Application mobile
pble mail() SMTP avec easyphp sous windows.Mail avec PHP- Fontion mail? ou SMTP?
Comment on enlève ce truc sur Symfony ?iOS et OS X: Apprendre Swift as a beginner
Plus de sujets relatifs à : Symfony 4: config Swift Mailer & SMTP...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR