Mailing WordPress et Azure App Service

de | 1 mars 2017

Ce qui est pertinent dans le monde IT, c'est que l'on découvre tout jours des nouveautés , des subtilités.. Et c'est vraiment ceci qui nous attache à ce domaine. En effet, en testant dans le site d'AZURETECH365 la partie mailing, j'ai eu des soucis et ça m’embêtais beaucoup ! L'envoi de mail depuis le site générais un message d'erreur. 

Je ne suis ni expert dans les applications Web ni dans WordPress. Mais, logiquement, WordPress repose sur un mécanisme d'envoi de Mail, et du coup, j'ai bien compris que 'est au travers de la fonction WP_Mail. Du coup, coté hébergeur, il fallait voir s'il intègre ou non le protocole SMTP ou autrement dit, s'il prend en charge un mécanisme de messagerie.

Désormais, mon site WordPress est hébergé dans Azure App Service, qui n'intègre pas nativement le SMTP, Que doit on alors faire? 

Gérer nous même le SMTP dans Azure App Service

Il faut alors gérer nous même la messagerie, et du coup, il faut rediriger les appels WP_Mail vers un serveur SMTP. Deux solutions se manifestent:

  • Soit rajouter une extension dans Azure nous fournissant du SMTP et la corréler avec notre site WordPress
  • Soit directement depuis le site WordPress rajouter un plugin nous fournissant du SMTP.

 

SendGrid dans Azure

Pour la première alternative, j'ai opté pour SendGrid, un addon que l'on peut rajouter depuis Market Place d'Azure. Il nous fourni un serveur SMTP en version gratuite, nous permettant d'envoyer 25000 mails/Mois. C'est largement suffisant pour moi, et j'espère que ça marche bien! 

On nous demande alors de créer un compte SendGrid, on doit faire attention au mot de passe, on aura besoin pour configurer notre site. Des paramètres usuels à spécifier, comme le groupe de ressource... Un point important,  le plan, j'ai choisi le GRATOS !! Cool

L'assistant exige que l'on introduit les informations par rapport au contact effectuant l'achat. Chose faite, et on fini par valider.

Le résumé de l'achat, et on fini par acheter un truc GRATUIT... LoooL

Le déploiement effectué, on voit le compte SendGrid apparaitre dans le groupe de ressource qu'on a spécifié. On ouvre alors le composant.

On aille récupérer le nom d'utilisateur que le déploiement du composant SendGrid à générer par rapport à notre compte. Le mot de passe est celui que nous avons déjà spécifié lors de déploiement. On peut toutefois le modifier à partir d'Azure. On prend note aussi de l'url du serveur de messagerie.

Retour à WordPress

Le travail est achevé dans Azure. On bascule à WordPress, on rajoute un SMTP plugin dans WordPress pour rediriger les mails vers le serveur SMTP de SendGrid. l'un des plus populaires est WP Mail SMTP.

On configure le plugin avec les paramètres tel indiqué dans la figure suivante. En effet, on va choisir l'option nous permettant de rediriger les mails vers un serveur SMTP. C'est celui de SendGrid, avec une authentification utilisant le nom de l'utilisateur et le mot de passe. Des paramètres déjà noté.

SendGrid utilise le port 587

Enfin, et ça marche

Enfin, on valide les paramètres et on teste, et ça marche nickel, malgrè que c'est un peu tordu. Microsoft aurais du fournir un truc complémentaire dans Azure App Service par rapport au service SMTP. Un truc faisant appel à la messagerie O365 comme idée de génie.

Le plus important, la page "Nous contacter" est disponible maintenant, c'est super! 

Plus simple que ça!! SendGrid directement dans WordPress...

En effet, ça l'air d'être un peu compliqué, mais toutefois, on peut faire appel directement depuis notre site WordPress au plugin de SendGrid pour WordPress. On l'utilise directement sans pour autant rien rajouter dans Azure. C'est simple et rapide, mais ca ne concerne que le site en question, alors que pour la première alternative, le serveur pourrai être utilisé par d'autre App Service Azure. 

Microsoft a élaboré la solution basée sur SendGrid dans Azure et par ailleurs, j'ai essayer de faire le truc à ma façon. Lien utile: https://blogs.msdn.microsoft.com/davedev/2013/08/15/how-do-i-send-email-with-wordpress-hosted-on-azure-websites/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *