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 :
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.
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.
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.
En ce qui concerne le format suivi par les e-mails, vous pouvez voir deux formulaires :
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.
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 :
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À", 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 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 Plus précisément, nous utiliserons les crochets suivants : Par souci d'exhaustivité, je partagerai l'intégralité du code ci-dessous, puis nous le parcourirons étape par étape. 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 Mais veuillez noter que nous passons un tableau vide comme paramètre 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. 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. 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
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
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 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';
}
wp_mail
fonction. $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.
Maintenant, place aux données !
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!