Position actuelle: Accueil> Derniers articles> Comment envoyer des e-mails via SMTP Server à l'aide de PHP: Exemple de tutoriel complet

Comment envoyer des e-mails via SMTP Server à l'aide de PHP: Exemple de tutoriel complet

gitbox 2025-07-01

introduction

Dans le processus de développement Web, l'envoi d'e-mails est l'une des fonctionnalités communes. PHP fournit une variété de façons d'implémenter la livraison de courrier, et l'utilisation du serveur SMTP (Simple Mail Transfer Protocol) est une solution courante et fiable. Cet article vous présentera comment utiliser PHP pour coopérer avec le serveur SMTP pour envoyer des e-mails, y compris un exemple de code, des étapes de configuration et des solutions à des problèmes courants.

Sélectionnez le serveur SMTP

La condition préalable à l'envoi de courrier à l'aide de SMTP consiste à sélectionner un serveur de messagerie fiable. Les fournisseurs de serveurs de messagerie communs incluent le GMail de Google, les Outlook de Microsoft et les services tiers tels que SendGrid. Pour les développeurs individuels, le serveur SMTP de Gmail est un choix très approprié pour les petits projets.

Configuration du serveur SMTP

Avant de commencer à écrire du code d'envoi PHP Mail, vous devez d'abord configurer le serveur SMTP. Voici quelques informations de configuration de serveur SMTP courantes:

  • Adresse du serveur SMTP: par exemple: smtp.gmail.com
  • Port serveur SMTP: tel que: 587 (couramment utilisé pour le cryptage TLS)
  • Nom d'utilisateur SMTP: nom d'utilisateur utilisé pour se connecter au serveur SMTP
  • Mot de passe SMTP: mot de passe utilisé pour se connecter au serveur SMTP
  • Email de l'expéditeur: Adresse e-mail utilisée pour envoyer des e-mails

Selon le fournisseur de services SMTP que vous choisissez, vous pouvez trouver et confirmer ces informations de configuration dans le panneau de configuration ou la page Paramètres pour vous assurer qu'ils sont exacts.

Envoyer des e-mails à l'aide de PHP

Après avoir configuré les informations SMTP, nous pouvons utiliser la bibliothèque PHPMailer de PHP pour implémenter l'envoi d'e-mail. Voici un exemple de code PHP:

 
// PrésentéPHPMailerBibliothèque
require 'phpmailer/PHPMailerAutoload.php';

// créerPHPMailerExemple
$mail = new PHPMailer;

// ConfigurationSMTPserveur
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'your_password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

// Configuration发件人和收件人
$mail->setFrom('[email protected]', 'Your Name');
$mail->addAddress('[email protected]', 'Recipient Name');

// Configuration邮件主题和内容
$mail->Subject = 'Hello from PHPMailer';
$mail->Body    = 'This is a test email message sent from PHPMailer.';

// Envoyer un e-mail
if (!$mail->send()) {
    echo 'Envoi par e-mail a échoué: ' . $mail->ErrorInfo;
} else {
    echo 'L'e-mail a été envoyé avec succès!';
}

Grâce au code ci-dessus, vous pouvez facilement implémenter la fonction d'envoi de courrier SMTP. Tout d'abord, chargez la bibliothèque PHPMailer et créez une instance. Ensuite, configurez l'adresse, le port, le nom d'utilisateur et le mot de passe du serveur SMTP. Ensuite, définissez les informations de l'expéditeur et du destinataire et rédigez le sujet et le corps de l'e-mail. Enfin, appelez la méthode `Send () 'pour envoyer l'e-mail.

Choses à noter

Les points suivants sont particulièrement importants lors de l'envoi d'e-mails à l'aide de serveurs SMTP:

  • Assurez-vous que le serveur SMTP est configuré correctement, y compris l'adresse, le port, le nom d'utilisateur et le mot de passe.
  • Lorsque vous définissez la boîte aux lettres de l'expéditeur avec `setFrom () ', assurez-vous que l'adresse e-mail est la boîte aux lettres de l'expéditeur autorisée par le serveur SMTP.
  • Lorsque vous ajoutez un destinataire, utilisez la méthode `Addaddress ()` pour vous assurer que l'adresse e-mail du destinataire est valide.
  • Vous pouvez formater des e-mails, ajouter des pièces jointes, ajouter CC ou envoyer des messages via d'autres méthodes dans PHPMailer avant de les envoyer.
  • Si l'envoi échoue, vous pouvez obtenir des informations d'erreur spécifiques via `$ mail-> errorInfo` pour le dépannage.

En suivant les étapes ci-dessus, vous pouvez facilement intégrer la fonction d'envoi d'e-mail dans votre projet PHP. Qu'il s'agisse d'e-mail de confirmation d'enregistrement du site Web, de courrier électronique de réinitialisation de mot de passe ou de courrier électronique de notification système, il peut être envoyé via le serveur SMTP.