Skip to main content

Envoyer un courrier électronique à partir d'un script PHP à l'aide de l'authentification SMTP

#AskGaryVee Episode 185: Seth Godin on Thought Leaders, Psychics & The Future of the Internet (Avril 2025)

#AskGaryVee Episode 185: Seth Godin on Thought Leaders, Psychics & The Future of the Internet (Avril 2025)
Anonim

Envoyer un email à partir d'un script PHP est simple, rapide et facile … si cela fonctionne!

Une partie de ce qui fait le PHP courrier() fonction si simple est son manque de souplesse, mais un problème avec cela est que le stock PHP courrier() ne vous laisse généralement pas utiliser le serveur SMTP de votre choix et ne prend pas en charge l'authentification SMTP.

Heureusement, surmonter les faiblesses inhérentes à PHP n'est pas difficile. Pour la plupart des utilisateurs de messagerie, le package gratuit PEAR Mail offre toute la puissance et la flexibilité nécessaires et s’authentifie auprès du serveur de messagerie sortant souhaité. Pour une sécurité renforcée, les connexions SSL cryptées sont également prises en charge pour l'envoi de courrier à l'aide de PEAR Mail.

Comment envoyer un courrier électronique à partir d'un script PHP avec authentification SMTP

Pour commencer, installez le paquet PEAR Mail. En règle générale, cela aura déjà été fait pour vous avec PHP 4 et les versions ultérieures, mais si vous n'êtes pas sûr de l'avoir déjà, installez-le.

copiez ce code:

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient '; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'mail.example.com'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }

Repérez tout le texte en gras dans notre exemple et modifiez ces zones du script en fonction de vos besoins. Ce sont les seuls domaines que vous doit change pour que le script PHP fonctionne, mais veillez également à ajuster le sujet et le corps du texte.

  • de: L'adresse e-mail à partir de laquelle vous souhaitez que le message soit envoyé
  • à: Adresse e-mail et nom du destinataire
  • hôte: Votre nom de serveur SMTP sortant
  • Nom d'utilisateur: Nom d'utilisateur SMTP (généralement identique à celui utilisé pour récupérer le courrier)
  • mot de passe: Le mot de passe pour l'authentification SMTP

Remarque: L’exemple ci-dessus est celui d’un script PHP qui envoie un courrier électronique avec une authentification SMTP mais sans pour autant Cryptage SSL. Si vous souhaitez également un cryptage, utilisez à nouveau ce script en échangeant le texte en gras avec vos informations.

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient >'; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'ssl://mail.example.com'; $port = '465'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }