WordPress pour le développement d'applications Web Email

L’une des composantes majeures de chaque application Web est sa capacité à envoyer des courriels..

Maintenant, cela ne signifie pas que chaque application Web est son propre client de messagerie (bien que les gens créent certainement le leur).

Au lieu de cela, je veux dire que les applications envoient normalement des courriers électroniques lorsqu'un utilisateur s'inscrit, un utilisateur modifie son mot de passe, lorsque quelque chose change dans le système ou, plus généralement, chaque fois que quelque chose se produit pour lequel les propriétaires de sites veulent informer les utilisateurs..

Jusqu'ici dans cette série, nous avons couvert:

  • Gestion des utilisateurs
  • Les permissions
  • Gestion de session

Le dernier article est sans doute l’un des plus compliqués que nous allons couvrir; Cependant, il est nécessaire pour ceux d'entre vous qui cherchent à ajouter des fonctionnalités plus avancées à vos projets..

Cela dit, nous allons faire une pause dans certains des documents les plus compliqués et examiner ce que WordPress a à offrir en ce qui concerne l'envoi d'e-mails..


Comprendre le courrier électronique

Avant de plonger dans les offres de l'API WordPress en matière d'envoi, de personnalisation, etc., il est important de comprendre deux choses à propos du courrier électronique..

À savoir, il est important de comprendre les composants qui entrent dans la création d'un email - après tout, c'est plus qu'une adresse, un sujet et un contenu..

Certaines nuances techniques méritent d'être comprises avant de créer nos propres courriels personnalisés..

En-têtes

En bref, les en-têtes d’e-mail contiennent un ensemble minimum d’informations, notamment: à partir de qui l’e-mail est envoyé et les adresses auxquelles il est envoyé..

En règle générale, des informations supplémentaires sont incluses dans l'en-tête. Par exemple, ces informations peuvent inclure un horodatage pour l'envoi de l'e-mail..

Lorsqu'il s'agit de WordPress, l'expéditeur spécifié dans l'en-tête de l'e-mail est toujours défini comme l'expéditeur par défaut dans WordPress, sauf indication contraire..

Par exemple, si vous souhaitez définir l'adresse de réponse comme "[email protected]", alors c'est quelque chose que vous devez personnaliser.

En outre, il est généralement judicieux de travailler avec des en-têtes de courrier électronique sous la forme d'un tableau afin de pouvoir facilement construire, spécifier et transmettre des adresses, des adresses en copie conforme et des destinataires en copie invisible..

Type MIME

En ce qui concerne le format des courriels, vous verrez probablement deux formes:

  • Texte brut
  • HTML

Vous êtes habitué à voir le HTML dans la plupart des clients de messagerie modernes; Toutefois, si vous avez un client plus simpliste, que vous l'avez configuré pour afficher uniquement du texte brut ou que vous lisez des courriers électroniques sur un téléphone légèrement plus ancien, vous lirez le contenu en texte brut..

WordPress permet d'envoyer des emails en texte brut ou en HTML.

Lorsque nous examinons un exemple d'envoi d'un courrier électronique par programme, nous examinons exactement comment procéder. En bref, il y a un crochet qui le rend vraiment facile - mais nous attendrons de le voir en action jusqu'à ce que nous couvrions le reste des éléments nécessaires d'un email..

Les pièces jointes

Comme vous le savez, les pièces jointes sont pratiquement tous les fichiers que vous avez joints à un courrier électronique et que vous envoyez à un destinataire..

Le fait est que certaines règles régissent la messagerie électronique - elles ne sont pas nécessairement définies par le logiciel. Au lieu de cela, les serveurs, les clients de messagerie et diverses autres règles limitent ce que nous pouvons recevoir dans notre boîte de réception..

Par exemple:

  • Certains clients n'autorisent pas l'envoi de fichiers zip ou exécutables
  • De nombreux services de messagerie ont une taille de fichier maximale pouvant être jointe
  • Certains types de courrier électronique peuvent être marqués comme courrier indésirable en fonction de leurs pièces jointes (ou de leur contenu).

Quoi qu'il en soit, cela est indépendant de notre volonté - nous avons juste besoin de connaître les limites du destinataire de nos courriels et de nous assurer de les respecter..

Pour cela, créer des pièces jointes à envoyer avec des emails WordPress est vraiment facile.

Bien que les pièces jointes ne soient évidemment pas nécessaires, vous souhaiterez peut-être joindre un seul fichier ou même plusieurs fichiers. Dans WordPress, cela peut être fait avec une chaîne ou un tableau.

Nous ne verrons pas exactement comment faire cela maintenant, mais nous volonté arriver à ce moment lorsque nous regardons un exemple de la façon d'envoyer par courrier électronique un email.

À, sujet et message

Au niveau le plus élémentaire, chaque email consiste en un "À"adresse email, un"Assujettir"et un"Message".

Dans WordPress, il est également très facile de définir ces paramètres. Fournissez simplement des chaînes pour chacun et vous êtes prêt à commencer..

Bien sûr, si vous souhaitez envoyer un courrier électronique à plusieurs personnes, vous pouvez effectuer une itération dans une collection d'adresses et envoyer un courrier électronique par utilisateur., ou vous pouvez fournir un éventail de destinataires à l’API WordPress Mail et l’envoyer par courrier électronique à tous ceux qui sont inclus.

Et rappelez-vous: si vous voulez spécifier un autre répondre à adresse, qui va dans les en-têtes que nous avons abordés plus haut dans l'article.


Utilisation de l'API de messagerie WordPress

Ceci dit, nous sommes prêts à jeter un coup d’œil à l’API de messagerie WordPress..

En bref, toutes les fonctionnalités sont regroupées dans une fonction appelée wp_mail; cependant, il sont quelques crochets dont nous devons être conscients si nous voulons tirer pleinement parti de l'offre de l'application.

Les crochets nécessaires

Plus précisément, nous allons utiliser les points suivants:

  • wp_mail_content_type nous permet de définir le type MIME de l'email envoyé
  • wp_mail_from est un filtre que nous pouvons utiliser pour définir l'adresse de départ, plutôt que d'utiliser le $ en-têtes tableau
  • wp_mail_from_name est un filtre que nous pouvons utiliser pour définir la personne de, plutôt que d'utiliser le $ en-têtes tableau
  • wp_login est le crochet que nous allons utiliser pour la démonstration, de sorte que nous envoyons des courriels à une personne chaque fois qu'une personne se connecte au tableau de bord WordPress

Par souci d'exhaustivité, je partagerai tout le code ci-dessous, puis nous l'examinerons..

Le code source


'; $ message. = 'Votre compte a été créé. Vos informations de connexion sont ci-dessous: '; $ message. = '
'; $ message. = '
    '; $ message. = '
  • Nom d'utilisateur: ' . $ input ['email-address']. '
  • '; $ message. = '
  • Mot de passe: ' . $ mot de passe. '
  • '; $ message. = '
'; $ message. = '
'; $ message. = 'Vous pouvez vous connecter à l'application ici.'; add_filter ('wp_mail_content_type', create_function (", 'return" text / html ";')); add_filter ('wp_mail_from', 'acme_mail_from') adresse_email '],' Votre compte Acme a été créé! ', $ message, array ()); function acme_mail_from ($ email) // NOTE: remplacez [at] par @. Cela posait un problème de syntaxe. surligneur. return 'donotreply [at] acme.com'; function acme_mail_from_name ($ name) return 'La société Acme';

Si vous avez suivi cet article jusqu'à présent, rien de tout cela ne devrait être terriblement étonnant: après tout, nous tirons parti des points d'ancrage fournis par WordPress, nous construisons des chaînes à passer en tant qu'arguments de fonction, puis nous appelons le wp_mail une fonction.

Notez cependant que nous sont passer un tableau vide en tant que $ en-têtes argument pour cet email. En effet, nous utilisons un filtre personnalisé pour définir le "De nom" et le "De l'adresse"utilisant un filtre et une fonction accrochée plutôt qu'un tableau.

Cette façon n'est pas nécessairement meilleure que l'alternative; cependant, il est censé démontrer qu'il existe plusieurs façons d'atteindre le même résultat.


Et maintenant, aux données!

C’est donc une autre fonctionnalité de WordPress qui facilite vraiment l’inclusion de fonctionnalités de messagerie dans votre application Web..

En fait, je pense que le modèle d'événement de WordPress rend ridiculement facile l'introduction d'une fonctionnalité de courrier électronique pour n'importe quel scénario imaginable - s'il existe un crochet pour cela, un courrier électronique peut être envoyé..

Cela dit, il est temps d'attirer notre attention sur l'un des aspects les plus courants du développement d'applications Web: la gestion des données..

Plus précisément, nous devons examiner comment les informations peuvent être sauvegardées dans la base de données et extraites des données, et comment elles peuvent être effectuées de manière sûre et efficace..

Donc, à partir du prochain article, nous ferons exactement cela.