Comment envoyer un e-mail à partir d’un script PHP en utilisant l’authentification SMTP
ce qu’il faut savoir
- Options de classe PHP : PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
- PEAR Mail : Notez le nom du serveur de messagerie > Vérifiez si PEAR Mail est installé > Modifiez le fichier PHP à l’aide de l’exemple donné.
Cet article explique comment envoyer des e-mails via PHP en utilisant l’authentification SMTP courrier() Fonctionnalités de PEAR Mail.
Envoyer un e-mail à l’aide de la fonction de messagerie PHP
quand tu utilises php courrier() fonctionnalité, vous finissez par envoyer des e-mails directement à partir de votre serveur Web au lieu de votre serveur de messagerie. Si vous avez un serveur de messagerie via votre hôte Web, ou même un serveur de messagerie avec un hôte différent, il est généralement préférable d’envoyer du courrier via celui-ci.
Le problème c’est PHP courrier() La fonction ne fournit aucun moyen intégré d’envoyer du courrier via SMTP. Si vous souhaitez activer cette fonctionnalité, vous devez installer une classe PHP supplémentaire.
Voici quelques options possibles :
- Messagerie PHP
- Messagerie rapide
- Zend_Mail
- XpertMail
- courrier de poire
Nous allons vous montrer comment utiliser PEAR Mail, mais vous pouvez utiliser n’importe quelle classe prenant en charge SMTP.
Image du héros/Getty
Si votre hébergeur a installé une ou plusieurs de ces classes, il peut avoir des tutoriels adaptés à votre situation. Si oui, allez-y et utilisez les cours auxquels vous avez accès.
Utilisez cette méthode uniquement si vous créez votre propre formulaire de messagerie personnalisé à l’aide de PHP. Si vous utilisez un système de gestion de contenu (CMS) comme WordPress, recherchez un plug-in ou une fonctionnalité intégrée pour envoyer du courrier via SMTP plutôt que d’essayer de créer le vôtre.
Comment utiliser PEAR pour envoyer du courrier via SMTP
-
Assurez-vous que votre domaine pointe vers l’enregistrement d’échange de courrier (MX) de votre hôte de serveur de messagerie et notez le nom de votre serveur de messagerie. Par exemple, il peut s’agir de mail.votredomaine.net ou smtp.votredomaine.net.
-
Vérifiez si PEAR Mail est déjà installé sur votre serveur de messagerie.
-
Si PEAR Mail n’est pas installé, consultez votre hébergeur de messagerie Web pour obtenir des instructions spécifiques pour l’installer.
-
Après avoir installé PEAR Mail, modifiez l’un des exemples de fichiers PHP dans les sections suivantes en fonction de vos besoins.
Exemple de script PHP de courrier PEAR pour le courrier SMTP
Vous pouvez créer votre propre script à partir de zéro si vous le souhaitez ou modifier les exemples ci-dessous à votre guise. Assurez-vous d’entrer le nom de votre serveur de messagerie Web dans la variable hôte et d’utiliser les informations de connexion de votre hôte de messagerie Web dans les champs de nom d’utilisateur et de mot de passe.
require_once « Mail.php » ;
$from = « Nom de l’expéditeur » ;
$to = « Nom du destinataire » ;
$subject = « Ligne d’objet ici : » ;
$body = « Tout message que vous voulez » ;
$host = « votrehôtemail.com » ;
$username = « Votre nom d’utilisateur ou e-mail » ;
$password = « Votre mot de passe » ;
$en-têtes = tableau (‘De’ => $de,
‘à’ => $à,
‘thème’ => $thème);
$smtp = Mail::factory(‘smtp’,
array(‘hôte’ => $hôte,
‘authentique’ => vrai,
‘nom d’utilisateur’ => $nom d’utilisateur,
‘password’ => $password));
$mail = $smtp->send($to, $headers, $body);
if(pear::isError($mail)) {
écho(«
» . $mail->getMessage() . «
« );
} autre {
écho(«
Message envoyé avec succès!
« );
}
Exemple de script PHP PEAR mail pour l’authentification SMTP et le cryptage SSL
Si vous souhaitez utiliser l’authentification SMTP et le cryptage SSL, vous devez apporter quelques modifications à l’exemple précédent. Vous devez faire pointer la variable host vers votre serveur de messagerie SSL et spécifier un numéro de port tel que 25, 465, 587, 2525 ou 8025. Si vous ne savez pas quel port utiliser, veuillez contacter votre hébergeur de messagerie Web pour plus d’informations à utiliser.
require_once « Mail.php » ;
$from = « Nom de l’expéditeur » ;
$to = « Nom du destinataire » ;
$subject = « Ligne d’objet ici : » ;
$body = « Tout message que vous voulez » ;
$host = « ssl://yourmailhost.com » ;
$port = « 587 » ;
$username = « Votre nom d’utilisateur ou e-mail » ;
$password = « Votre mot de passe » ;
$en-têtes = tableau (‘De’ => $de,
‘à’ => $à,
‘thème’ => $thème);
$smtp = Mail::factory(‘smtp’,
array(‘hôte’ => $hôte,
‘port’ => $port,
‘authentique’ => vrai,
‘nom d’utilisateur’ => $nom d’utilisateur,
‘password’ => $password));
$mail = $smtp->send($to, $headers, $body);
if(pear::isError($mail)) {
écho(«
» . $mail->getMessage() . «
« );
} autre {
écho(«
Message envoyé avec succès!
« );
}
Merci de nous en informer!
Dites-nous pourquoi !
D’autres détails ne sont pas assez difficiles à comprendre