1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Utiliser PHPMailer sur Infomaniak
Ce guide explique comment utiliser PHPMailer avec les hébergements Web Infomaniak.
Préambule
- PHPMailer est une librairie permettant d'envoyer des e-mails depuis un site Web au format HTML.
- Cette dernière permet notamment la prise en charge des pièces jointes, et le support de l'authentification SMTP et du multipart/alternative pour les clients qui ne peuvent pas lire les e-mails au format HTML.
Utiliser PHPMailer
Pour utiliser PHPMailer, il est nécessaire de l'installer manuellement:
- Cliquez ici afin de télécharger la librairie PHPMailer.
- Copiez les fichiers dans un répertoire de votre site Web par FTP.
Faites le lien entre votre script et PHPMailer, exemple:
require_once('chemin_a_modifier/class.phpmailer.php');
Résoudre une erreur Sender mismatch
Dans le protocole SMTP (Simple Mail Transfer Protocol), l'en-tête From spécifie l'adresse mail de l'expéditeur du message. Il s'agit de l'adresse qui apparaîtra dans le champ ‘De’ du message reçu par le destinataire.
Dans PHPMailer, la méthode setFrom est utilisée pour définir l'adresse mail de l'expéditeur, tandis que l'en-tête From est utilisé pour spécifier cette même adresse lors de l'envoi du message. La méthode setFrom définit également le champ Reply-To de l'e-mail.
L'erreur Sender mismatch SMTP code: 550 Additional SMTP info: 5.7.1 se produit donc lorsque l'adresse mail spécifiée dans le champ setFrom ne correspond pas à l'adresse mail spécifiée dans l'en-tête From lors de l'envoi du message.
Pour éviter cette erreur:
Au lieu d'utiliser la méthode
setFrompour définir l'adresse e-mail de l'expéditeur, utilisez la propriétéFromde l'objet PHPMailer, exemple:$mail = new PHPMailer(); $mail->From = 'expediteur@domain.xyz';Assurez-vous que la valeur spécifiée dans la propriété
Fromcorrespond exactement à l'adresse mail utilisée dans le champsetFrom.Exemple, si vous utilisez
setFromavec un nom d'expéditeur comme ceci :$mail->setFrom('expediteur@domain.xyz', 'Nom Expediteur');… alors assurez-vous que que la valeur de
Fromest également définie avec le nom d'expéditeur :$mail->From = 'expediteur@domain.xyz'; $mail->FromName = 'Nom Expediteur';
Ensuite, continuez la configuration et l'envoi de l'e-mail normalement.