[Symfony2] Problème avec Swift_mailer

nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 10 févr. 2014 à 19:13
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 10 févr. 2014 à 22:12
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

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
10 févr. 2014 à 20:55
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/

0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
10 févr. 2014 à 21:52
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.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
10 févr. 2014 à 22:05
A tout hasard.. tu as testé avec une adresse mail de ton hébergeur ?
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
10 févr. 2014 à 22:12
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
0
Rejoignez-nous