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.
PHPMailer
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:
- télécharger la librairie PHPMailer: https://github.com/PHPMailer/PHPMailer
- copier les fichiers dans un répertoire de votre site Web par FTP
- faire 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, vous devez remplacer le champ 'setFrom' par 'From' lors de la configuration de PHPMailer:
- au lieu d'utiliser la méthode 'setFrom' pour définir l'adresse e-mail de l'expéditeur, utiliser la propriété 'From' de l'objet PHPMailer. Par exemple :
$mail = new PHPMailer();
$mail->From = 'expediteur@domain.xyz'; - s'assurer que la valeur spécifiée dans la propriété 'From' correspond exactement à l'adresse mail utilisée dans le champ 'setFrom'. Par exemple, si vous utilisez 'setFrom' avec un nom d'expéditeur comme ceci :
$mail->setFrom('expediteur@domain.xyz', 'Nom Expediteur');alors s'assurer que que la valeur de 'From' est également définie avec le nom d'expéditeur :
$mail->From = 'expediteur@domain.xyz';
$mail->FromName = 'Nom Expediteur';
Ensuite, continuer la configuration et l'envoi de l'e-mail normalement.
En savoir plus
- Mail authentifié (SMTP) depuis un site Web
- Mail non-authentifié via PHP mail()
- Configurer manuellement vos e-mails, contacts et agendas sur vos appareils