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 champ- setFrom.- 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.