MICROsouffle

Azure : Envoyer jusqu'à 25 0000 mails gratuitement via SendGrid

9 Mai 2016 , Rédigé par Antoine SEJALON Publié dans #azure

Bonjour, et bienvenue pour un tuto qui va vous expliquer comment mettre en place une solution smtp directement sur la plateforme Azure. Nous allons utiliser une prestation certifiée Azure.

SendGrid vous propose via le portail Azure, d’accéder à une offre 25 000 mail/mois totalement Free.

Par expérience et test personnel, l'envoi d'un mail (du clic envoyer sur votre solution à la réception dans votre boite mail) prend environs 1 minute. Ce qui me parait plutôt bon en terme de vitesse d’exécution pour un mail avec simplement un sujet plus quelques phrase de texte.

Azure : Envoyer jusqu'à 25 0000 mails gratuitement via SendGrid

Pour commencer nous allons créer la brique SendGrid dans Azure (nous aurons par la suite de la configuration à faire sur le site web de SendGrid).

Créez un nouvel élément SendGrid (Nouveau >> Services de développement >> Certifié Azure >> SendGrid Email Delivery).

Azure : Envoyer jusqu'à 25 0000 mails gratuitement via SendGrid

Dans l’onglet de création :

Name : entrez un nom explicite de type « mailboxmasolution ».

Password : entrez un mdp qui permettra l’accès a la plateforme de gestion de SendGrid.

Abonnement : sélectionnez l’abonnement.

Resource group : Sélectionnez le groupe de ressource qui vous intéresse ou créez en un.

Pricing tier : Choisissez la version Free à 25 000 mails par mois.

Contact information : Un utilisateur réfèrent doit être présenté lors de l’inscription.

Termes et conditions : valider les termes et conditions.

 

Vous pouvez créer.

 

Allez dans l’onglet de gestion de sendGrid (dans le portail Azure) et cliquez sur « configuration ». Notez le UserName qui vous permettra de vous loger au site sendGrid.

Allez dans l’onglet de gestion de sendGrid (dans le portail Azure) et cliquez sur « Manage ».

Azure : Envoyer jusqu'à 25 0000 mails gratuitement via SendGrid

Vous devriez êtres redirigé vers le site web de sendGrid. Logez vous avec le nom d’utilisateur copié ci desssus et le mot de passe entré lors de la création de votre service sendGrid. Il se peut que l’on vous demande de valider un email pour confirmer que vous êtes bien le titulaire de l’adresse mail et qu’elle existe bien.

Une fois sur le site, aller dans le menu vertical « settings » puis « api key ». Créez et notez la clef de type :

SG.HiEfTxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxHXdHQg.

Cette clef va vous eviter de mettre vos identifiants et mdp en clair dans votre code lors de l'appel de l'envoi de mail.

Attention : copiez bien la clef quand on vous la donne car, une fois fini, la clef elle-même ne sera plus disponible. Seul son nom et son id seront visibles.

Allez dans votre application et ajoutez un paramètre [nom_du_parametre] avec comme valeur la clef obtenu.

Cette action revient à ajouter la ligne suivante dans votre "web.config" (sous forme d'application web, cela évite de republier l'application en cas de modification de la clef dans le web.config) :

<configuration> <appSettings> ... <add key="nom_du_parametre" value="Ma_clef" /> </appSettings> ... </configuration>

"Je mets la clef dans le web.config pour pouvoir la réutiliser facilement dans mon code via la comande : System.Configuration.ConfigurationManager.AppSettings["nom_du_parametre"]"

Azure : Envoyer jusqu'à 25 0000 mails gratuitement via SendGrid

Nous allons maintenant autoriser les ip de notre application web à utiliser sendGrid.

Aller dans l’interface azure de vos application web et cliquez sur propriétés. Recuperer les ip du champ « ADRESSES IP SORTANTES » et rendez vous sur le site de SendGrid dans le menu vertical « Settings » puis « ip access management ». Cliquez sur le bouton « + Add IP Adresses » en haut à droite.

Azure : Envoyer jusqu'à 25 0000 mails gratuitement via SendGrid

Ajoutez les ip que vous avez récupérées.

L’envoi de mail est prêt.

 

Il ne vous reste plus qu'à coder votre fonction d'envoi de mail.

Avant toute chose, dans votre projet ASP.NET MVC, importer le nuget package SendGrid.

Un petit exemple de code pour cette fonction :

var myMessage = new SendGridMessage(); myMessage.From = new MailAddress([mail_de_l_expediteur]); myMessage.AddTo([mail_du_destinataire]); myMessage.Subject = [le_sujet_du_mail]; myMessage.Html = [message_du_mail]; var key = System.Configuration.ConfigurationManager.AppSettings["nom_du_parametre"]; // creation du web transporteur avec la clef. var transportWeb = new Web(key); // envoi du mail. transportWeb.DeliverAsync(myMessage);

A l'appel de cette fonction, un mail est envoyé via la plateforme SendGrid.

 

En espèrent vous avoir appris comment mettre en place la solution SendGrid.

A très bientôt et bon code.

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article