Création d'un service pour l'envoi d'email via le smtp de Gmail

29 11 2016

3 commentaires

Création d'un service pour l'envoi d'email via le smtp de Gmail

Pour gérer l'envoi d'email avec Symfony2, plusieurs solutions sont possibles:

  • utiliser la fonction mail de son hébergeur
  • utiliser le smtp de sa boîte de messagerie

Gmail

Pourquoi utiliser Gmail plutôt qu'une autre boîte de messagerie comme Yahoo? Il est prouvé que Gmail ne classe pas les emails venant d'un serveur en spam. Au contraire Yahoo classe certains emails aléatoirement dans le dossier spam.

Nous allons ici décrire le fonctionnement de l'envoi d'email avec le smtp de Gmail sous Symfony. Nous allons mettre à jour le fichier Config.yml comme ceci:

transport: smtp

encryption: ssl

auth_mode: login

host: smtp.gmail.com

user: monemail@gmail.com

password: monmdp

spool: { type: memory }

 

Ensuite nous allons appeler un service dans le contrôleur:

$this->container->get('EmailMerci')->emailMerci($commande);

 

Et nous allons déclarer le service dans le fichier Services.yml:

EmailMerci:

    class: Ecommerce\EcommerceBundle\Services\

EmailMerci

    arguments : [@service_container]

 

Et nous allons créer le service EmailMerci en passant des paramètres à la vue:

class EmailMerci {

    public function __construct(ContainerInterface $container) {

        $this->container = $container;

}

public function emailMerci($commande) {

    $message = \Swift_Message::newInstance()

    ->setSubject('Validation de votre commande')

    ->setFrom(array('service@web-city.fr' => "Web-City.fr"))

    ->setTo($commande->getUtilisateur()->getEmailCanonical()) ->setCharset('utf-8')

    ->setContentType('text/html')

    ->setBody($this->container->get('templating')

    ->render('EcommerceBundle:SwiftLayout:

validationCommande.html.twig',

array('utilisateur' => $commande->getUtilisateur())));

    $this->container->get('mailer')->send($message);

} }


 catégorie: Symfony


Commentaires

DIDI posté le 04/07/2019 à 17:16

Merci ça m'a bien aidé


Mat posté le 04/07/2019 à 17:16

*pratique*


KelAncelo posté le 09/09/2019 à 13:04

Acticin Scabisan Scabies Retin A Online No Prescription <a href=http://achetercialisfr.com>acheter cialis pas cher france</a> Priligy Farmacia Prezzo Cialis 20 Euro



Laisser un commentaire