Base de connaissances / Knowledge base

Bounce d'un mail sur une machine SysCo hébergement Linux depuis PHP (31.08.05)
Sur un hébergement Linux de SysCo, vous pouvez mettre en ligne un/des formulaire(s) qui envoie des courriers électroniques. Dans le cas où l'adresse du destinataire est erronée, le mail bounce et revient en retour chez l'administrateur machine SysCo au lieu de retourner chez vous ou votre webmaster. Voici ce que nous vous suggérons.
La fonction mail() en PHP accepte cinq paramètres: mail( string to, string subject, string message [, string additional_headers [, string additional_parameters]] ). Seuls les trois premiers sont obligatoires. Le quatrième devrait aussi être rempli; il s'agit de donner un expéditeur au mail (c'est à cette adresse que répondra une personne qui répondrai au mail reçu). À l'aide du cinquième, on peut faire en sorte que les bounces partent à une adresse précise, plutôt que l'administrateur machines SysCo.

mail("client@sonprovider.ch", "Sujet du mail", "Bonjour,\r\n\r\nAu revoir\r\n", "From: webmaster@agenceweb.com", "-fwebmaster@agenceweb.com")

De cette manière, si 'client@sonprovider.ch' existe, reçoit le mail et y répond, c'est webmaster@agenceweb.com qui recevra la réponse, grâce au 4e paramètre.

De même, si 'client@sonprovider.ch' n'existe pas (ou toute autre erreur), c'est webmaster@agenceweb.com (grâce au 5e paramètre) qui recevra le mail en retour, notifiant ainsi l'erreur. Notez que -fdoit être collé à l'adresse.

Ceci ne fonctionne pas avec PHP sous Windows, mais tout n'est pas perdu grâce à l'astuce suivante: faire un @ini_set("sendmail_from", "webmaster@agenceweb.com") avant d'appeler la fonction mail("client@sonprovider.ch", "Sujet du mail", "Bonjour,\r\n\r\nAu revoir\r\n", "From: webmaster@agenceweb.com"). Le @ devant la fonction ini_set permet de ne pas retourner l'erreur si le serveur refuse ce changement de valeur.