Maison  >  Article  >  Tutoriel CMS  >  WordPress pour le développement d'applications Web : intégration de la messagerie électronique

WordPress pour le développement d'applications Web : intégration de la messagerie électronique

王林
王林original
2023-09-03 16:53:02712parcourir

用于 Web 应用程序开发的 WordPress:电子邮件集成

L'un des principaux composants de chaque application Web est la possibilité d'envoyer des e-mails.

Maintenant, cela ne signifie pas que chaque application Web est son propre client de messagerie (même si les gens créent leurs propres clients de messagerie).

Au lieu de cela, ce que je veux dire, c'est que lorsqu'un utilisateur s'inscrit, lorsqu'un utilisateur modifie son mot de passe, lorsque quelque chose dans le système change, ou plus généralement, chaque fois que quelque chose se produit et que le propriétaire du site Web souhaite informer l'utilisateur, l'application envoie généralement un e-mail.

Jusqu'à présent dans cette série, nous avons couvert :

  • Gestion des utilisateurs
  • Autorisations
  • Gestion de session

L'article précédent est sans doute l'un des plus complexes que nous aborderons, cependant, il est nécessaire pour ceux qui cherchent à ajouter des fonctionnalités plus avancées à leurs projets ;

Cela dit, nous allons faire une pause avec certains des éléments les plus complexes et examiner ce que WordPress a à offrir en matière d'envoi d'e-mails.


En savoir plus sur le courrier électronique

Avant de plonger dans ce que propose l’API WordPress en termes d’envoi d’e-mails, de personnalisation d’e-mails et bien plus encore, il est important de connaître quelques éléments sur l’e-mail.

Cela dit, il est important de comprendre les éléments qui entrent en jeu dans la création d’un véritable e-mail – après tout, c’est plus qu’une simple adresse, un sujet et un contenu.

Avant de commencer à créer notre propre e-mail personnalisé, certaines nuances techniques méritent d'être comprises.

Titre

En bref, les en-têtes d'e-mail contiennent un ensemble minimal d'informations, notamment : qui a envoyé l'e-mail et l'adresse à partir de laquelle l'e-mail a été envoyé.

Souvent, vous pouvez voir des informations supplémentaires incluses dans l'en-tête. Par exemple, ces informations peuvent inclure l'horodatage de l'envoi de l'e-mail.

Pour 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 sur "donotreply@domain.com", vous devrez la personnaliser.

De plus, il est généralement préférable d'utiliser les en-têtes de courrier électronique sous la forme d'un tableau afin que vous puissiez facilement construire, spécifier et transmettre des adresses, des adresses CC et des destinataires BCC.

Type MIME

En ce qui concerne le format suivi par les e-mails, vous pouvez voir deux formulaires :

  • Texte brut
  • HTML

Vous êtes habitué à voir du HTML dans la plupart des clients de messagerie modernes ; cependant, si vous avez un client plus simple, configurez-le pour afficher uniquement du texte brut, ou si vous lisez des e-mails sur un téléphone légèrement plus ancien, vous lirez alors le contenu. en texte brut.

WordPress peut envoyer des e-mails sous forme de texte brut ou HTML.

Nous verrons exactement comment procéder lorsque nous examinerons un exemple de comment envoyer un e-mail par programmation. En bref, il existe un crochet qui rend les choses vraiment faciles – mais nous attendrons de le voir en action jusqu'à ce que nous ayons couvert le reste des parties nécessaires de l'e-mail.

Accessoires

Comme vous le savez, une pièce jointe est en fait tout fichier que vous joignez à un e-mail et que vous envoyez au destinataire.

Le fait est qu'il existe certaines règles qui régissent le courrier électronique, mais 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 nos boîtes de réception.

Par exemple :

  • Certains clients ne permettent pas l'envoi de fichiers zip ou de fichiers exécutables
  • De nombreux services de messagerie ont des limites quant à la taille maximale des fichiers pouvant être joints
  • Certains types d'e-mails peuvent être marqués comme spam en fonction de leurs pièces jointes (ou de leur contenu)

Cela est hors de notre contrôle de toute façon - nous avons juste besoin de connaître les limites concernant les personnes à qui nous envoyons des e-mails et de nous assurer de les respecter.

Pour ce faire, il est facile de créer des pièces jointes à envoyer via les e-mails WordPress.

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

Nous ne verrons pas exactement comment procéder pour le moment, mais nous comprendreons cela immédiatement lorsque nous examinerons un exemple de la façon d'envoyer un e-mail par programmation.

Destinataires, sujets et messages

Au niveau le plus basique, chaque e-mail contient une adresse e-mail "

À", un "Sujet" et un "Message". Dans WordPress, ces paramètres sont également très simples : il suffit de fournir les chaînes pour chaque paramètre et vous êtes prêt à partir.

Bien sûr, si vous souhaitez envoyer un e-mail à plusieurs personnes, vous pouvez parcourir la collection d'adresses et envoyer un e-mail à chaque utilisateur,

Ou

vous pouvez fournir à WordPress un ensemble d'API de messagerie de destinataires et il enverra l'e-mail. Envoyez à tout le monde inclus.

N'oubliez pas : si vous souhaitez spécifier une adresse reply-to différente, veuillez la spécifier dans l'en-tête que nous avons abordé plus tôt dans cet article.


Utilisation de l'API de messagerie WordPress

Cela dit, nous sommes prêts à jeter un coup d’œil pratique à l’API WordPress Email.

En bref, toutes les fonctionnalités sont contenues dans une fonction appelée wp_mail cependant, si nous voulons profiter pleinement de ce que cette application a à offrir, il y a certaines choses auxquelles nous devons prêter attention.

Crochets requis

Plus précisément, nous utiliserons les crochets suivants :

  • wp_mail_content_type Permet de définir le type MIME de l'email envoyé
  • wp_mail_from 是一个过滤器,我们可以使用它来定义发件人地址,而不是使用 $headers Tableau
  • wp_mail_from_name 是一个过滤器,我们可以使用它来定义此人的发件人,而不是使用 $headers Tableau
  • wp_login est un hook que nous utilisons pour la démo afin que chaque fois que quelqu'un se connecte au tableau de bord WordPress, nous envoyions un e-mail à quelqu'un

Par souci d'exhaustivité, je partagerai l'intégralité du code ci-dessous, puis nous le parcourirons étape par étape.

Code source

<?php
function acme_email_individual( $input ) {

	/**
	 * Note: assume that $input has keys for 'email-address'.
	 */

	// Generate the password
	$password = wp_generate_password ( 12, false );

	// Email the user that they're profile was created
	$message = 'Hey There,';
	$message .= '<br /><br />';
	$message .= 'Your account has been created. Your login information is below:';
	$message .= '<br />';
	$message .= '<ul>';
		$message .= '<li>Username: ' . $input['email-address'] . '</li>';
		$message .= '<li>Password: ' . $password . '</li>';
	$message .= '</ul>';
	$message .= '<br />';
	$message .= 'You can login to the application <a href="' . get_bloginfo( 'siteurl' ) . '">here</a>.';

	add_filter( 'wp_mail_content_type', create_function( '', 'return "text/html";' ) );
	add_filter( 'wp_mail_from', 'acme_mail_from' );
	add_filter( 'wp_mail_from_name', 'acme_mail_from_name' );
	wp_mail( $input['email-address'], 'Your Acme Account Has Been Created!', $message, array() );

}

function acme_mail_from( $email ) {
	// NOTE: replace [at] with @. This was causing problems with the syntax highlighter.
	return 'donotreply[at]acme.com';
}

function acme_mail_from_name( $name ) {
	return 'The Acme Company';
}

Si vous avez lu cet article jusqu'à présent, rien de tout cela n'est trop surprenant : après tout, nous exploitons les hooks fournis par WordPress, nous construisons des chaînes à passer en arguments de fonction, et nous appelons ensuite le wp_mail fonction.

Mais veuillez noter que nous passons un tableau vide comme paramètre $headers de cet e-mail. En effet, nous utilisons des filtres personnalisés pour définir « Sender Name » et « Sender Address », en utilisant des filtres et des fonctions de hook au lieu de tableaux.

Cette méthode n'est pas nécessairement meilleure que les autres ; cependant, son but est de démontrer qu'il existe plusieurs façons d'arriver au même résultat.


Maintenant, place aux données !

Il s'agit d'une autre fonctionnalité de WordPress qui vous permet d'inclure facilement des fonctionnalités de messagerie dans votre application Web.

En fait, je pense que le modèle d'événement de WordPress rend incroyablement facile l'introduction de la fonctionnalité de courrier électronique dans tous les scénarios imaginables : si un hook est disponible, vous pouvez simplement envoyer un e-mail.

Cela dit, il est temps de porter 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 enregistrer des informations dans la base de données et récupérer des informations à partir des données, et comment accomplir ces opérations de manière sûre et efficace.

Donc, à partir du prochain article, c’est exactement ce que nous ferons.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn