Maison >développement back-end >tutoriel php >Comment implémenter la fonction de réception d'e-mails via PHP ?

Comment implémenter la fonction de réception d'e-mails via PHP ?

王林
王林original
2023-09-19 09:30:111511parcourir

Comment implémenter la fonction de réception de-mails via PHP ?

Comment implémenter la fonction de réception d'e-mails via PHP ?

Avec l'utilisation généralisée du courrier électronique, les reçus de courrier électronique sont devenus une exigence pour de nombreuses personnes lors de l'envoi d'e-mails. Grâce à la fonction de réception d'e-mail, nous pouvons savoir à temps si l'autre partie a reçu l'e-mail que nous avons envoyé. Cet article présentera comment implémenter la fonction de réception d'e-mails via PHP et fournira des exemples de code spécifiques.

Les principales étapes pour mettre en œuvre la fonction de réception d'e-mails sont les suivantes :

  1. Créer un formulaire pour envoyer des e-mails
    Tout d'abord, nous devons créer un formulaire pour envoyer des e-mails sur la page Web pour saisir le destinataire, l'objet, le contenu et autres information. HTML et CSS peuvent être utilisés dans les pages Web pour embellir le style des formulaires et les rendre plus conviviaux.

Voici un exemple simple de formulaire d'envoi d'e-mail :

<form action="send_email.php" method="post">
    <label for="to">收件人:</label>
    <input type="email" id="to" name="to" required><br>
    <label for="subject">主题:</label>
    <input type="text" id="subject" name="subject" required><br>
    <label for="message">内容:</label><br>
    <textarea id="message" name="message" rows="4" cols="50" required></textarea><br>
    <input type="submit" value="发送">
</form>
  1. Créez un script PHP pour envoyer un e-mail
    À l'étape précédente, l'attribut action du formulaire pointait vers un script PHP nommé send_email.php. Nous devons écrire du code dans ce script pour envoyer des e-mails et implémenter la fonction de réception d'e-mails.

Tout d’abord, nous devons utiliser la fonction de messagerie intégrée de PHP pour envoyer des e-mails. L'utilisation de base de la fonction de courrier électronique est la suivante :

mail(to, subject, message, additional_headers)

Parmi eux, to est l'adresse e-mail du destinataire, subject est le sujet de l'e-mail, message est le contenu de l'e-mail etadditional_headers sont des informations d'en-tête supplémentaires facultatives.

Voici un exemple basique d'envoi d'un e-mail :

<?php
$to = $_POST['to'];
$subject = $_POST['subject'];
$message = $_POST['message'];

$headers = "From: webmaster@example.com" . "
" .
    "Reply-To: webmaster@example.com" . "
" .
    "X-Mailer: PHP/" . phpversion();

if (mail($to, $subject, $message, $headers)) {
    echo "邮件发送成功!";
} else {
    echo "邮件发送失败!";
}
?>

Dans cet exemple, nous obtenons le destinataire, le sujet et le contenu du formulaire via le tableau $_POST, et utilisons la fonction mail pour envoyer l'e-mail. Dans le même temps, nous définissons également des informations supplémentaires sur l’en-tête de l’e-mail, notamment l’expéditeur et l’adresse de réponse de l’e-mail.

  1. Ajouter une fonction de réception d'e-mail
    Pour implémenter la fonction de réception d'e-mail, nous devons ajouter un en-tête spécifique à l'e-mail et analyser l'en-tête lorsque le destinataire répond à l'e-mail. Les en-têtes peuvent être ajoutés en PHP via le paramètre addition_headers de la fonction mail, comme indiqué ci-dessous :
$headers = "Disposition-Notification-To: webmaster@example.com" . "
" .
    "Return-Receipt-To: webmaster@example.com" . "
" .
    "X-Confirm-Reading-To: webmaster@example.com" . "
" .
    "X-MS-Receipt: Success";

Dans cet exemple, nous avons ajouté Disposition-Notification-To, Return-Receipt-To, X-Confirm-Reading-To et X -MS-Receipt quatre en-têtes. Lorsque le destinataire reçoit l'e-mail, il peut choisir d'envoyer ou non un e-mail de réception pour informer l'expéditeur si l'e-mail a été lu.

  1. Analyser les reçus d'e-mail
    Lorsque le destinataire répond à l'e-mail avec un reçu, nous pouvons analyser les informations de réception pertinentes dans les informations d'en-tête supplémentaires de l'e-mail. Le code suivant peut être utilisé en PHP pour analyser les informations d'en-tête supplémentaires des e-mails :
$email_headers = imap_rfc822_parse_headers($email_data);
$disposition_notification_to = $email_headers->headers['disposition-notification-to'];
$return_receipt_to = $email_headers->headers['return-receipt-to'];
$x_confirm_reading_to = $email_headers->headers['x-confirm-reading-to'];
$x_ms_receipt = $email_headers->headers['x-ms-receipt'];

Dans cet exemple, nous utilisons la fonction imap_rfc822_parse_headers fournie par PHP pour analyser les informations d'en-tête supplémentaires et obtenir respectivement Disposition-Notification-To et Return -The. valeurs des quatre champs Receipt-To, X-Confirm-Reading-To et X-MS-Receipt.

Après les étapes ci-dessus, nous pouvons implémenter la fonction de réception d'e-mails via PHP. Bien entendu, il ne s'agit que d'une méthode de mise en œuvre de base, et elle peut également être personnalisée et étendue en fonction des besoins réels, comme l'ajout d'un suivi des reçus, la sauvegarde des enregistrements de reçus, etc.

J'espère que cet article pourra vous aider à mettre en œuvre la fonction de réception par e-mail, merci d'avoir lu !

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