[Symfony2] Problème avec Swift_mailer

Signaler
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Bonjour,

Je suis actuellement en train de me mettre à Symfony2 (cours sur openclassroom). Je suis en train de faire un site avec pour prendre la main mais je suis déjà bloqué...

Mon souci se situe au niveau du formulaire de contact. Je récupère bien les valeurs de mes champs, etc... C'est pas ça le problème, j'ai un problème au niveau de l'envoi du mail avec Swift_mailer...

Je ne demande pas d'aide sans avoir cherché (autant le dire de suite) une réponse sur google avant bien au contraire, je viens ici en dernier recours car je n'ai pas trouvé mon bonheur ou alors je n'ai pas su l'exploiter :'(

Bref, quand j'envoi mon formulaire j'ai cette erreur :

Swift_TransportException: Connection could not be established with host smtp.gmail.com [Connection timed out #110]

Pourtant j'ai bien suivi le cours et tout fait comme c'est expliqué...

Mon fichier parameters.yml :


mailer_transport: gmail
mailer_host:
mailer_user: mon_pseudo@gmail.com
mailer_password: mon_password

Mon fichier config.yml :


# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }

Mon contrôleur(la partie intéressante seulement) :

        //Création du formulaire
	$form = $this->get('form.factory')->create(new ContactType());
		
	//Récupération de la requête
	$request = $this->get('request');
		
	//Initialisation de notre gestionnaire de formulaire
	$formHandler = new ContactHandler($form, $request, $this->get('mailer'));
		
	//Lancement du traitement des données récupérés dans notre gestionnaire
	$process = $formHandler->process();


Et enfin mon gestionnaire de formulaire :

class ContactHandler {
	protected $request;
	protected $form;
	protected $mailer;

	/**
	 *
	 * @param Form $form
	 * @param Request $request
	 * @param $mailer
	 * 
	 */
	public function __construct(Form $form, Request $request, $mailer) {
		$this->form = $form;
		$this->request = $request;
		$this->mailer = $mailer;
	}

	/**
	* Process form
	*
	* @return boolean
	*/
	public function process() {
		if ('POST' == $this->request->getMethod()) {
			$this->form->bind($this->request);

			$data = $this->form->getData();
			$this->onSuccess($data);

			return true;
		}

		return false;
	}

	/**
	 * Send mail on success
	 * 
	 * @param array $data
	 * 
	 */
	protected function onSuccess($data) {
		$message = \Swift_Message::newInstance()
					->setContentType('text/html')
					->setSubject($data['subject'])
					->setFrom($data['email'])
					->setTo('addresse_de_test')
					->setBody($data['content']);

		$this->mailer->send($message);
	}
}


Quelqu'un à une idée qui me permettrai d'avancer ? Je ne vois pas où j'ai fais une erreur (même avec le cours sous les yeux ^^)...

Et j'oubliais : j'ai fais un phpinfo() avant de venir ici et à priori openssl est activé.

Merci d'avance à ceux qui vont prendre le temps de m'aider.
Bonne soirée
A voir également:

1 réponse

Messages postés
28895
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2020
332
Bonjour,

je n'utilise pas Symfony.. mais :

Est-ce que tu mets bien le @gmail.com à la fin de ton username ?
Account Name: your full email address (including @gmail.com)

Est-ce que tu travailles en local ou bien ton site est hébergé quelque part ? (si oui..où ? )

Est-ce que tu as vérifié le paramétrage de ton compte gmail ?
https://support.google.com/mail/answer/78775?hl=fr


SInon tu peux aussi essayer ça :
http://nuclearprojects.com/blog/setting-up-swift-mailer-to-send-through-google-apps-smtp-servers/

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
27
Coucou,

Pour ta première question:

mailer_user: mon_pseudo@gmail.com

Donc oui ^^

Ensuite, je travail sur un serveur web, mon site est hébergé sur un serveur chez niloo.

Sinon j'ai bien regardé tes deux liens, j'ai tenté de rajouter des choses dans mon code mais ça n'a rien changé...

Que ce soit en SSL ou en TLS ça ne passe pas..

Merci d'avoir pris le temps de me répondre.
Messages postés
28895
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2020
332
A tout hasard.. tu as testé avec une adresse mail de ton hébergeur ?
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
27
Re,

J'ai testé avant de voir ta réponse ^^ En fait j'ai pas d'adresse mail sur mon hébergeur (enfin on m'en a pas donné). J'ai juste passé l'hôte en "localhost" et le port à 25 et le message est parti.. Si j'avais su je me serai pas pris la tête pendant 3 heure pour le faire absolument avec gmail xD

Merci de ton aide, même si le problème n'est pas totalement réglé parce que j'aimerai savoir ce qui va pas avec google, mon envoi marche donc on peut considérer ce sujet comme réglé.

Merci encore et bonne soirée