Categories: Azure

Envoyer des emails depuis Azure avec SendGrid

Si vous ne disposez pas d’un serveur de messagerie et que vous ne souhaitez pas utiliser un compte Outlook ou GMail pour procéder à l’envoie d’emails automatiques, vous pouvez utiliser l’excellent service SendGrid.

Ce dernier vous permettra d’envoyer des emails depuis Azure grâce à une simple CmdLet PowerShell. Pour cela, vous devez simplement posséder un compte chez SendGrid… et en plus l’offre de base est gratuite ! 🙂

Etape 1 – Activer l’option sur votre subscription Azure

C’est très simple ! Connectez-vous à votre portail Azure, et créez un nouvel objet SendGrid Email Delivery. Vous devrez simplement remplir quelques informations de base : nom, prénom, email de contact, mot de passe, etc.

Veillez à choisir l’option gratuite. L’appartenance à tel ou tel Resource Group n’a aucune importance dans notre cas. Créez lui son propre Resource Group si vous le souhaitez (ou pas).

Une fois que votre objet est créé, il vous suffit d’y accéder à nouveau depuis le portail Azure et dans la section Configuration, vous y trouverez les 3 informations suivantes :

  • Username (il s’agira de l’identifiant pour s’authentifier lors de l’envoi d’un email) ;
  • Password (your password, celui que vous avez choisi leur de la création de l’objet SendGrid) ;
  • Serveur SMTP : smtp.sendgrid.com (que nous allons utiliser pour acheminer nos emails).

Etape 2 – CmdLet PowerShell pour envoyer notre email

Il nous reste maintenant à procéder à l’envoi de notre email. Et là, c’est également très simple. J’utilise du PowerShell mais l’API de SendGrid est très complète et il y a de nombreux exemples.

$username ="xxxxXxxxXXXXxX@azure.com"
$pwd = ConvertTo-SecureString "your_secret_password" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $pwd

$SMTPServer = "smtp.sendgrid.net"
$EmailFrom = "coucoucmoi@nowhere.com"
$EmailTo = "vous@gmail.com"

$Subject = "Votre sujet"
$Body = "Message envoyé avec succès"

Send-MailMessage -smtpServer $SMTPServer -Credential $credential -Usessl -Port 587 -from $EmailFrom -to $EmailTo -subject $Subject -Body $Body

Vous devez donc spécifier le login fournit par SendGrid (avec le @azure.com), le mot de passe que vous avez précédemment choisi ainsi que l’adresse email de l’expéditeur, du destinataire ainsi que tout le contenu de votre email (sujet + contenu).

Après quelques instants, vous recevrez votre email de test. Vérifiez bien qu’au niveau de votre VM Azure, vous avez ouvert le port 587 en outbound.

Bref, un service hyper simple à mettre en place, gratuit et tout à fait suffisant pour générer des emails de suivi, d’alerte ou de monitoring comme je peux en avoir besoin ! 🙂

Share
Published by
thibault

Recent Posts

Télétravail : La Société Générale Réduit à 1 Jour par Semaine, une Tendance IT ?

Télétravail : La Société Générale Réduit à 1 Jour par Semaine, une Tendance IT ?…

2 jours ago

Lyon et la Souveraineté Technologique : Pourquoi les Écologistes Abandonnent Microsoft

Lyon et la Souveraineté Technologique : Pourquoi les Écologistes Abandonnent Microsoft Lyon, célèbre pour sa…

2 jours ago

Automatiser la création d’articles dans WordPress avec ChatGPT et Zapier

Automatiser la création d’articles dans WordPress avec ChatGPT et Zapier Aujourd'hui les innovations autour de…

3 jours ago

Microsoft et le Sovereign Cloud : 5 Efforts pour l’Europe

Microsoft et le Sovereign Cloud : 5 Efforts pour l'Europe Dans un contexte européen complexe,…

4 jours ago

Les Jouets Connectés à l’IA : Une Révolution ou une Inquiétude pour nos Enfants ?

Les Jouets Connectés à l'IA : Une Révolution ou une Inquiétude pour nos Enfants ?…

5 jours ago

Pourquoi le Danemark se sépare de Microsoft pour Linux et LibreOffice

Pourquoi le Danemark se sépare de Microsoft pour Linux et LibreOffice Le Danemark se sépare…

6 jours ago