Différences entre versions de « Envoyer un email avec authentification SMTP avec PHP »
Ligne 105 : | Ligne 105 : | ||
<br /><br /> | <br /><br /> | ||
Cet article vous a semblé utile ? <vote /> | Cet article vous a semblé utile ? <vote /> | ||
− | [[Catégorie:PHP]] [[Catégorie:Hébergement_mutualisé]] | + | [[Catégorie:PHP]] [[Catégorie:Hébergement_mutualisé]] [[Category:Hébergement Web]] |
<br /> | <br /> | ||
<comments /> | <comments /> |
Version du 30 décembre 2020 à 16:05
fr:Envoyer un email avec authentification SMTP avec PHP he:שלחו מייל עם SMTP עם PHP אימות ro:Trimite e-mail cu SMTP cu PHP autentificare ru:Отправить письмо с SMTP аутентификации PHP pl:Wyślij e-mail z SMTP z PHP uwierzytelniania ja:PHP による認証と SMTP でメールを送信します。 ar:إرسال البريد الإلكتروني مع SMTP مع مصادقة بي إتش بي zh:发送电子邮件的 SMTP 与 PHP 认证 de:Senden Sie e-Mail mit SMTP mit Authentifizierung PHP nl:Stuur e-mail met SMTP met PHP verificatie it:Inviare email con SMTP con autenticazione PHP pt:Enviar e-mail com SMTP com autenticação PHP es:Enviar correo electrónico con SMTP con autenticación de PHP en:Send email with SMTP with PHP authentication
Dans le cadre de l'utilisation d'un hébergement mutualisé Ikoula, il n'est pas possible de générer l'envoi d'e-mails depuis un script PHP non sécurisé, nos serveurs mutualisés demandant une authentification SMTP.
Via PHPmailer
Voici un exemple de code utilisant PHPmailer.
// exemple sur environnement Windows
<?php
include("class.phpmailer.php");
include("class.smtp.php");
date_default_timezone_set("Europe/Paris");
$mail = new PHPMailer();
$body = "Test de PHPMailer.";
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPOptions = array('ssl' => array('verify_peer' => false,'verify_peer_name' => false,'allow_self_signed' => true)); // ignorer l'erreur de certificat.
$mail->Host = "mail.votredomaine.tld";
$mail->Port = 587;
$mail->Username = "votre email";
$mail->Password = "mot de passe";
$mail->From = "votre email"; //adresse d’envoi correspondant au login entré précédemment
$mail->FromName = "votre nom"; // nom qui sera affiché
$mail->Subject = "This is the subject"; // sujet
$mail->AltBody = "corps du message au format texte"; //Body au format texte
$mail->WordWrap = 50; // nombre de caractères pour le retour à la ligne automatique
$mail->MsgHTML($body);
$mail->AddReplyTo("votre mail","votre nom");
$mail->AddAttachment("./examples/images/phpmailer.gif");// pièce jointe si besoin
$mail->AddAddress("adresse destinataire 1","adresse destinataire 2");
$mail->IsHTML(true); // envoyer au format html, passer a false si en mode texte
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Le message à bien été envoyé";
}
?>
Copiez / collez le code ci-dessous dans votre fichier et adaptez les éléments suivants :
- $body = "Test de PHPMailer.";
- Corps du message à envoyer. Ce dernier peut être en texte brut ou en HTML.
- $mail->Host = "mail.votredomaine.tld";
- Relais SMTP qui va envoyer votre message.
- $mail->Username = "votre email";
- Votre adresse e-mail, qui sera aussi utilisée pour vous identifier sur le relai SMTP.
- $mail->Password = "mot de passe";
- Votre mot de passe SMTP.
- $mail->From = "votre email";
- Adresse e-mail qui apparaîtra en tant qu'expéditeur.
- $mail->FromName = "votre nom";
- Nom de l'expéditeur.
- $mail->Subject = "This is the subject";
- Sujet du message.
- $mail->AltBody = "corps du message au format texte";
- Corps du message au format texte brut.
- $mail->AddReplyTo("votre mail","votre nom");
- Adresse de réponse par défaut.
- $mail->AddAttachment("./examples/images/phpmailer.gif");
- Pièce jointe si besoin
- $mail->AddAddress("adresse destinataire 1","adresse destinataire 2");
- Destinataire(s).
Informations complémentaires
Lorsque nous travaillons avec des scripts pour envoyer des e-mails, il est important d'avoir en tête que ces derniers sont les premières cibles de détournement par les spammeurs. Il est donc important que vous sécurisiez vos scripts autant que possible.
Notre première recommandation est de ne pas utiliser votre boîte e-mail usuelle. Préférez utiliser une adresse qui sera uniquement destinée à cet usage.
Si vous utilisez le code ci-dessus dans un formulaire de contact, nous vous recommandons d'y ajouter des captchas.
Si vous rencontrez des erreurs, vous pouvez activer le "debug" afin d'obtenir plus d'informations sur l'origine de ces dernières. Il vous faudra alors ajouter :
$mail->SMTPDebug = 3;
Cet article vous a semblé utile ?
Activer l'actualisation automatique des commentaires