1 votes

mail() ne fonctionne parfois pas, problème dans le paramètre sendmail

La fonction mail() de php fonctionne bizarrement ces derniers temps.

<?php
mail("email@mail.com", "Subject", "Content");
?>

Le script ci-dessus fonctionne si j'utilise "php script.php" en ligne de commande. Cependant, si je crée un lien vers la page ( http://domain.com/script.php ) par le navigateur, le courrier ne sera pas envoyé même si la fonction mail renvoie un résultat positif.

J'ai fait une recherche sur Internet et j'ai trouvé une solution. Il est dit "modifiez le fichier php.ini comme suit".

Changer

sendmail_path = "/usr/sbin/sendmail -t -i"

à

sendmail_path = "/usr/sbin/sendmail -t"

Et cela fonctionne pour moi en ce moment. Quelqu'un sait-il pourquoi la suppression du paramètre -i peut résoudre le problème ? cela se passe bien avec -i depuis quelques mois !

0voto

Sean Points 905

A partir de la page de manuel de sendmail :

-i Ignorer les points seuls sur les lignes dans les messages entrants. Cette option doit être activée si vous lisez des données à partir d'un fichier.

Cela peut donc dépendre de la manière dont le contenu est formaté, ou de la manière dont mail() décide en interne de lire le contenu et de le transmettre à sendmail (les versions précédentes de mail() écrivaient-elles la chaîne de contenu dans un fichier temporaire et appelaient-elles ensuite sendmail ?)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X