Maison  >  Article  >  développement back-end  >  Comment envoyer des e-mails en utilisant PHP en utilisant le protocole SMTP et le cryptage TLS

Comment envoyer des e-mails en utilisant PHP en utilisant le protocole SMTP et le cryptage TLS

王林
王林original
2023-05-22 08:23:062088parcourir

Avec le développement continu d'Internet, le courrier électronique est devenu l'un des outils de communication importants dans le travail et la vie quotidienne des gens. Dans le développement de réseaux, nous devons souvent utiliser du code pour envoyer des e-mails aux utilisateurs ou à d'autres systèmes à des fins de notifications, de rappels, etc. Cet article explique comment utiliser le langage PHP pour envoyer des e-mails via le protocole SMTP et le cryptage TLS.

1. Introduction au protocole SMTP

Le nom complet de SMTP est Simple Mail Transfer Protocol. Il s'agit d'un protocole réseau utilisé pour la transmission des e-mails et les règles de communication entre les serveurs.

Lors de l'envoi d'e-mails via le protocole SMTP, vous devez utiliser l'adresse, le port, le nom d'utilisateur, le mot de passe et d'autres informations du serveur SMTP. L'adresse du serveur SMTP est généralement fournie par le fournisseur de messagerie et le numéro de port est généralement 25. Si vous devez envoyer des e-mails cryptés, vous devez utiliser la méthode de cryptage SSL ou TLS du serveur SMTP.

2. Introduction à la méthode de cryptage TLS

TLS signifie Transport Layer Security (Transport Layer Security). Il s'agit d'un protocole de communication crypté couramment utilisé pour protéger la sécurité des communications réseau.

Lors de l'envoi d'e-mails à l'aide du cryptage TLS, le serveur SMTP enverra le certificat de cryptage au client une fois que le client aura réussi la vérification, il utilisera le cryptage par clé publique pour envoyer les informations de l'e-mail au serveur SMTP.

3. Préparation à l'envoi d'e-mails avec PHP

Lorsque vous utilisez PHP pour envoyer des e-mails, vous devez préparer les informations suivantes :

  1. Adresse du serveur SMTP et numéro de port
  2. Adresse e-mail et mot de passe de l'expéditeur
  3. Recevoir des informations telles que le Adresse e-mail de l'expéditeur, sujet et contenu de l'e-mail

4. Étapes pour envoyer des e-mails en utilisant PHP

Après avoir préparé les informations ci-dessus, nous pouvons terminer l'envoi d'e-mails via le code PHP. Voici les détails de l'envoi d'e-mails en utilisant les étapes PHP :

  1. Définir les informations du serveur SMTP

En PHP, vous pouvez utiliser la classe 'PHPMailer' pour implémenter le protocole SMTP et l'envoi d'e-mails cryptés TLS. Tout d'abord, vous devez définir l'adresse du serveur SMTP, le numéro de port, la méthode de cryptage TLS et d'autres informations. Le code est le suivant :

$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPDebug = 2;                                 
$mail->SMTPAuth = true;                              
$mail->SMTPSecure = 'tls';                           
$mail->Host = 'smtp.gmail.com';  
$mail->Port = 587;                                    

Dans ces codes, nous utilisons l'adresse du serveur SMTP comme "smtp.gmail.com", le le numéro de port est 587 et SMTPSecure Le paramètre est défini sur « tls », ce qui signifie utiliser le cryptage TLS pour envoyer des e-mails.

  1. Définissez les informations sur l'expéditeur

    Ensuite, vous devez définir l'adresse e-mail et le mot de passe de l'expéditeur. Le code est le suivant :

$mail->Username = 'youremail@gmail.com'; 
$mail->Password = 'yourpassword';   
$mail->setFrom('youremail@gmail.com', 'Your Name');
  1. Définissez les informations sur le destinataire

Ensuite, vous devez définir le destinataire. de l'email Personne, sujet, texte et autres informations, le code est le suivant :

$mail->addAddress('recipient1@example.com', 'Recipient Name');
$mail->addAddress('recipient2@example.com');
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');
$mail->Subject = 'The Paper Airplane Contest';
$mail->Body    = 'Dear Recipient, <br><br> Are you ready for the upcoming paper airplane contest?';
$mail->AltBody = 'Dear Recipient, Are you ready for the upcoming paper airplane contest?';

Dans ces codes, nous utilisons la fonction addAddress() pour ajouter l'adresse du destinataire, la fonction setFrom() pour définir l'adresse de l'expéditeur, ainsi ainsi que les fonctions addCC() et addBCC() pour définir les adresses CC et BCC.

  1. Envoyer des e-mails

Enfin, vous devez utiliser la fonction send() pour envoyer des e-mails. Le code complet est le suivant :

$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPDebug = 2;                                 
$mail->SMTPAuth = true;                              
$mail->SMTPSecure = 'tls';                           
$mail->Host = 'smtp.gmail.com';  
$mail->Port = 587;                                    
$mail->Username = 'youremail@gmail.com'; 
$mail->Password = 'yourpassword';   
$mail->setFrom('youremail@gmail.com', 'Your Name');
$mail->addAddress('recipient1@example.com', 'Recipient Name');
$mail->addAddress('recipient2@example.com');
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');
$mail->Subject = 'The Paper Airplane Contest';
$mail->Body    = 'Dear Recipient, <br><br> Are you ready for the upcoming paper airplane contest?';
$mail->AltBody = 'Dear Recipient, Are you ready for the upcoming paper airplane contest?';
if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

5. Résumé

Cet article présente comment utiliser le langage PHP pour envoyer des e-mails. Protocole SMTP et cryptage TLS. Lorsque vous utilisez cette méthode pour envoyer des e-mails, vous devez préparer l'adresse du serveur SMTP et le numéro de port, l'adresse e-mail et le mot de passe de l'expéditeur, l'adresse e-mail du destinataire, l'objet et le contenu de l'e-mail, etc., et définir ces informations via le code PHP. Enfin, utilisez la fonction send() pour envoyer l'e-mail.

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