En programmation PHP, les opérations d'envoi d'e-mails sont très courantes. Vous pouvez généralement utiliser l'envoi d'e-mails pour mettre en œuvre des notifications système, des abonnements par e-mail, des réinitialisations de mot de passe, des invitations à des événements et d'autres fonctions. Jetons un coup d'œil aux opérations courantes d'envoi d'e-mails dans la programmation PHP.
1. Utilisez la fonction mail() pour envoyer des e-mails
Le moyen le plus simple et le plus direct d'envoyer des e-mails en PHP est d'utiliser la fonction mail(). Cette fonction est une fonction fournie avec PHP et ne nécessite pas l'installation d'autres extensions. Ce qui suit est un exemple de code simple pour envoyer des e-mails à l'aide de la fonction mail() :
$to = '收件人邮箱'; $subject = '邮件主题'; $message = '邮件内容'; $headers = 'From: 发件人邮箱' . " " . 'Reply-To: 发件人邮箱' . " " . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers);
$headers voici les informations d'en-tête de l'e-mail, et vous devez définir De, Répondre à et d'autres informations. Lorsque vous utilisez la fonction mail() pour envoyer des e-mails, vous devez faire attention aux points suivants :
2. Utilisez le serveur SMTP pour envoyer des e-mails
L'utilisation du serveur SMTP pour envoyer des e-mails peut mieux éviter le problème d'être considéré comme du spam que d'utiliser la fonction mail(). Il existe actuellement d'excellentes bibliothèques PHP SMTP, telles que PHPMailer. Cette bibliothèque de classes a une forte personnalisation et une interface API conviviale, et prend en charge les méthodes d'envoi d'e-mails en texte brut, d'e-mails HTML, d'e-mails en pièce jointe, etc. du serveur SMTP. Voici un exemple de code pour envoyer des e-mails en texte brut à l'aide de PHPMailer :
use PHPMailerPHPMailerPHPMailer; use PHPMailerPHPMailerException; require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php'; $mail = new PHPMailer(true); $mail->isSMTP(); try { $mail->SMTPDebug = 0; $mail->Host = 'smtp.example.com'; $mail->SMTPAuth = true; $mail->Username = '发件人邮箱'; $mail->Password = '发件人邮箱密码'; $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; $mail->Port = 465; $mail->setFrom('发件人邮箱'); $mail->addAddress('收件人邮箱'); $mail->Subject = '邮件主题'; $mail->Body = '邮件内容'; $mail->send(); echo '邮件发送成功'; } catch (Exception $e) { echo "邮件发送失败:{$mail->ErrorInfo}"; }
Ce code est basé sur la bibliothèque de classes PHPMailer. Il peut être installé directement via Composer et peut être utilisé après avoir introduit les trois fichiers Exception, PHPMailer et SMTP. Il convient de noter que l'adresse e-mail de l'expéditeur doit ici être cohérente avec l'adresse de l'expéditeur fournie par le fournisseur de services SMTP, sinon le problème « échec de la vérification de l'expéditeur » se produira.
3. Utilisez un service de messagerie tiers pour envoyer des e-mails
Dans les applications de niveau entreprise ou qui nécessitent l'envoi d'un grand nombre d'e-mails, vous pouvez envisager d'utiliser un fournisseur de services de messagerie tiers, tel que SendGrid, Mailgun, etc. Ces fournisseurs de services se connectent généralement aux clients via des interfaces API, ce qui évite au client le processus d'établissement d'une connexion directe avec le serveur SMTP et lui permet de bénéficier de meilleurs services d'envoi d'e-mails. Voici un exemple de code pour envoyer des e-mails à l'aide de SendGrid :
$url = 'https://api.sendgrid.com/v3/mail/send'; $data = array( "personalizations" => array( array( "to" => array( array( "email" => "收件人邮箱" ) ), "subject" => "邮件主题" ) ), "from" => array( "email" => "发件人邮箱" ), "content" => array( array( "type" => "text/plain", "value" => "邮件内容" ) ) ); $options = array( 'http' => array( 'method' => 'POST', 'header' => array( 'Content-Type: application/json', 'Authorization: Bearer ' . 'SendGrid API KEY' ), 'content' => json_encode($data), ), ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); $response = json_decode($result, true); if (in_array(substr($response['status'], 0, 1), array( '2', '3' ))) { echo '邮件发送成功'; } else { echo '邮件发送失败'; }
Cet exemple de code utilise l'interface API fournie par SendGrid. Vous devez vous inscrire à l'avance sur le site officiel de SendGrid et obtenir la CLÉ API. Étant donné que SendGrid est un fournisseur de services payant, vous devez sélectionner le forfait et le volume d'envoi appropriés en fonction de votre situation commerciale avant de l'utiliser.
Résumé
Cet article présente les opérations courantes d'envoi d'e-mails dans la programmation PHP, notamment l'utilisation de la fonction mail(), l'utilisation du serveur SMTP pour envoyer des e-mails et l'utilisation de services de messagerie tiers pour envoyer des e-mails. Étant donné que les technologies et les stratégies liées à l'envoi d'e-mails évoluent rapidement, il est recommandé aux développeurs de choisir la méthode d'envoi d'e-mails qui leur convient le mieux en fonction des besoins spécifiques et des conditions expérimentales des applications réelles.
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!