Position actuelle: Accueil> Derniers articles> Comment utiliser PHP pour filtrer le spam envoyé et reçu?

Comment utiliser PHP pour filtrer le spam envoyé et reçu?

M66 2025-07-27

Comment utiliser PHP pour filtrer le spam envoyé et reçu?

Avec le développement rapide d'Internet, le nombre de spam augmente de jour en jour. La façon dont les utilisateurs peuvent filtrer efficacement ces e-mails inutiles sont devenus un problème urgent. PHP fournit aux développeurs plusieurs méthodes pour filtrer le spam lors de l'envoi et de la réception des e-mails. Cet article présentera comment utiliser la bibliothèque PHPMailer pour envoyer des e-mails via des fonctions PHP et combiner le protocole IMAP ou POP3 pour filtrer le spam lors de la réception des e-mails.

Filtrage de spam dans l'envoi d'e-mails

Dans PHP, en utilisant la bibliothèque PHPMailer pour envoyer des e-mails, combinés avec certaines techniques de filtrage des spams, peut considérablement améliorer la qualité d'envoi et la sécurité des e-mails. Tout d'abord, nous devons introduire la bibliothèque PHPMailer et faire la configuration nécessaire.

Configuration de la bibliothèque phpmailer

Après avoir introduit la bibliothèque PHPMailer, vous devez d'abord faire des paramètres de base, tels que la configuration d'un serveur SMTP, d'un port, d'un compte de messagerie et d'un mot de passe. Ce qui suit est le code de configuration:

 require 'phpmailer/PHPMailer.php';
require 'phpmailer/SMTP.php';
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.example.com';  // SMTPAdresse du serveur
$mail->Port = 465;  // SMTPNuméro de port
$mail->SMTPSecure = 'ssl';  // SSLConnexion cryptée
$mail->SMTPAuth = true;
$mail->Username = 'your-email@example.com';  // Compte de messagerie
$mail->Password = 'your-email-password';  // Mot de passe par e-mail

Définir les informations d'en-tête des e-mails

Afin de rendre les e-mails plus faciles à passer par le système de filtrage du spam, nous pouvons définir les informations d'en-tête de l'e-mail, y compris l'expéditeur, l'adresse de réponse, etc. Voici le code pour définir l'en-tête de l'e-mail:

 $mail->setFrom('your-email@example.com', 'Your Name');
$mail->addReplyTo('reply-email@example.com', 'Reply Name');

Définir les informations du destinataire et CC

Ensuite, définissez le destinataire de l'e-mail, la personne copier et les informations secrètes. Ces paramètres sont ajustés en fonction des besoins réels:

 $mail->addAddress('recipient-email@example.com', 'Recipient Name');  // destinataire
$mail->addCC('cc-email@example.com', 'CC Name');  // CC
$mail->addBCC('bcc-email@example.com', 'BCC Name');  // Donner secrètement à quelqu'un

Définissez le sujet et le texte de l'e-mail

Ensuite, nous devons définir le sujet et le contenu corporel de l'e-mail:

 $mail->Subject = 'This is the subject of the email';
$mail->Body = 'This is the body of the email';

Envoyer un e-mail

Enfin, utilisez la méthode Send () pour envoyer l'e-mail:

 if ($mail->send()) {
    echo 'Email sent successfully';
} else {
    echo 'Email sending failed';
}

Filtrage de spam dans la réception de messagerie

Lors de la réception du courrier, PHP prend en charge les protocoles IMAP et POP3, que nous pouvons combiner avec des techniques de filtrage de spam pour nettoyer le spam. Tout d'abord, vous devez utiliser des fonctions IMAP_OPEN () ou pop3_open () pour vous connecter au serveur de boîte aux lettres.

 $inbox = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'your-email@example.com', 'your-email-password');

Obtenez la liste de diffusion

Ensuite, nous pouvons utiliser la fonction imap_search () ou la fonction pop3_list () pour obtenir la liste de diffusion:

 $emails = imap_search($inbox, 'ALL');

Opérations de filtrage des spams

En traversant la liste de diffusion, nous pouvons porter des jugements de spam et le traitement de chaque e-mail. Voici l'exemple de code:

 foreach ($emails as $email) {
    $header = imap_headerinfo($inbox, $email);
    // Jugement et fonctionnement du filtrage du spam
    // Supprimer ou déplacer le spam
    imap_delete($inbox, $email);
}

Supprimer le spam

Enfin, appelez la fonction imap_expunge () ou la fonction pop3_delete () pour supprimer le spam:

 imap_expunge($inbox);

Résumer

Grâce à la méthode ci-dessus, vous pouvez implémenter le filtrage des spams lors de l'envoi de courrier et de la réception en PHP. Selon les besoins réels, vous pouvez également utiliser d'autres techniques avancées pour optimiser davantage l'effet de filtrage pour rendre le système de messagerie plus intelligent et plus précis.