Bonjour,
J'ai sur un site (développé avec Symfony 2.7.7) un petit formulaire de contact tout simple (nom, email, sujet, message) qui devrait envoyer un mail à un administrateur.
Mais je bloque sur une erreur:
Voici le app/config/config.yml:Failed to authenticate on SMTP server with username "user@domain.fr" using 2 possible authenticatorsIl n'y rien concernant swiftmailer dans config_dev ou config_prod.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 # Swiftmailer Configuration swiftmailer: transport: "%mailer_transport%" host: "%mailer_host%" username: "%mailer_user%" password: "%mailer_password%" port: "%mailer_port%" encryption: "%mailer_encryption%" auth_mode: login spool: type: file path: '%kernel.cache_dir%/swiftmailer/spool' logging: '%kernel.debug%'
dans app/config/parameters.yml:Je précise que my_host n'est pas google; j'ai vu beaucoup de problèmes similaires au mien mais avec des comptes gmail.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 parameters: ... mailer_transport: smtp mailer_host: my_host mailer_user: user@domain-2.fr mailer_port: 587 mailer_password: my_password mailer_encryption: tls ... email_contact: user@domain.com
Je précise que domain et domain-2 sont différents mais c'est normal et cela fonctionne (testé en se connectant au webmail, et en envoyant des mails depuis d'autres sites sous joomla avec ce compte et le même paramétrage).
Bref, les données fournies dans parameters.yml sont corrects.
J'ai testé avec ou sans doubles et simple quotes autour de mailer_user et mailer_password.
Voici le controller:Je ne vois pas pourquoi cela ne fonctionne pas; pouvez vous m'aider?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public function contactAction() { $captcha = $this->container->getParameter('captcha'); $form = $this->createForm(new ContactType($captcha)); $request = $this->getRequest(); if ($request->getMethod() == 'POST') { $form->bind($request); if ($form->isValid()) { $this->get('email')->envoyerMessage($form); $request->getSession()->getFlashBag()->add('info', 'Votre message a bien été envoyé.'); } } return $this->render('LeBundle:Client:contact.html.twig', array( 'form' => $form->createView() )); }
Partager