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
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
Introduisez la bibliothèque PHPMailer dans le fichier d'entrée du projet :
require 'vendor/autoload.php';
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`) );
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; } }
$to = 'admin@example.com'; $subject = '有新的通知'; $message = '您有一个新的通知,请登录后台查看。'; if (sendEmail($to, $subject, $message)) { echo '邮件发送成功并保存到数据库。'; } else { echo '邮件发送失败。'; }
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!