Maison  >  Article  >  base de données  >  Pratique de développement PHP : utilisez PHPMailer pour envoyer des e-mails aux administrateurs de la base de données MySQL

Pratique de développement PHP : utilisez PHPMailer pour envoyer des e-mails aux administrateurs de la base de données MySQL

王林
王林original
2023-07-01 15:16:40687parcourir

Pratique de développement PHP : utilisez PHPMailer pour envoyer des e-mails aux administrateurs de la base de données MySQL

Lors du processus de développement d'applications Web, l'envoi d'e-mails est une exigence courante. Lorsqu'un utilisateur termine une opération ou que le système génère un événement, nous devons souvent en informer l'administrateur concerné par e-mail. Cet article explique comment utiliser la bibliothèque PHPMailer pour envoyer des e-mails et enregistrer le contenu de l'e-mail dans une base de données MySQL.

1. Installez la bibliothèque PHPMailer

  1. Installez la bibliothèque PHPMailer dans le projet et vous pourrez gérer les dépendances via Composer. Exécutez la commande suivante dans la ligne de commande pour installer :

    composer require phpmailer/phpmailer
  2. Introduisez la bibliothèque PHPMailer dans le fichier d'entrée du projet :

    require 'vendor/autoload.php';
  3. # 🎜🎜#
2. Créez une table de base de données

Créez une table nommée "e-mails" dans la base de données MySQL pour stocker les informations relatives aux e-mails. La structure du tableau est la suivante :

CREATE TABLE `emails` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `to_email` varchar(255) NOT NULL,
  `subject` varchar(255) NOT NULL,
  `message` text NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
);

3. Envoyez des emails et enregistrez-les dans la base de données

  1. Créez une fonction d'envoi d'e-mails : # 🎜🎜#
    function sendEmail($to, $subject, $message) {
     $mail = new PHPMailerPHPMailerPHPMailer();
     // 邮件服务器配置
     $mail->isSMTP();
     $mail->Host = 'smtp.example.com';
     $mail->Username = 'your_email@example.com';
     $mail->Password = 'your_email_password';
     $mail->SMTPAuth = true;
     $mail->SMTPSecure = 'tls';
     $mail->Port = 587;
    
     // 邮件内容设置
     $mail->setFrom('from@example.com', 'Your Name');
     $mail->addAddress($to);
     $mail->Subject = $subject;
     $mail->Body = $message;
    
     // 发送邮件
     if ($mail->send()) {
         // 邮件发送成功,保存到数据库
         $mysqli = new mysqli('localhost', 'username', 'password', 'database');
         $stmt = $mysqli->prepare("INSERT INTO `emails` (`to_email`, `subject`, `message`) VALUES (?, ?, ?)");
         $stmt->bind_param('sss', $to, $subject, $message);
         $stmt->execute();
         $stmt->close();
         $mysqli->close();
         
         return true;
     } else {
         // 邮件发送失败
         return false;
     }
    }

  2. Appelez la fonction d'envoi d'e-mail et transmettez le destinataire, l'objet et le contenu de l'e-mail :
  3. $to = 'admin@example.com';
    $subject = '有新的通知';
    $message = '您有一个新的通知,请登录后台查看。';
    
    if (sendEmail($to, $subject, $message)) {
     echo '邮件发送成功并保存到数据库。';
    } else {
     echo '邮件发送失败。';
    }

  4. Through le code ci-dessus Par exemple, nous pouvons appeler la fonction sendEmail où nous devons envoyer un e-mail et l'enregistrer dans la base de données, afin que nous puissions envoyer l'e-mail via PHPMailer et enregistrer les informations de l'e-mail dans la base de données MySQL.

Résumé :

Cet article présente la pratique de développement consistant à utiliser la bibliothèque PHPMailer pour envoyer des e-mails et enregistrer le contenu des e-mails dans la base de données MySQL. En encapsulant la fonction d'envoi d'e-mails et en les enregistrant dans la base de données, nous pouvons appliquer les fonctions de notification par e-mail dans les applications Web de manière plus flexible. Dans le même temps, l’utilisation de PHPMailer peut également répondre à des besoins d’envoi d’e-mails plus complexes. J'espère que cet article pourra fournir une référence pour la pratique des développeurs PHP en matière d'envoi d'e-mails.

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