Pourquoi? Je peux envoyer par mail() en PHP mais je ne peux pas envoyer via PHPMailer en utilisant IsSendmail()Rapports PHPmailer: impossible d'exécuter:/usr/sbin/sendmail
Répondre
Etes-vous sûr que le chemin /usr/sbin/sendmail
est correct?
Si oui, vérifiez également que les autorisations pour sendmail sont correctement définies.
J'ai eu la même erreur. Résolu en commentant/en supprimant ceci:
$mail->IsSendmail();
Maintenant, cela fonctionne correctement. Je peux envoyer des mails, et je les reçois dans ma boîte de réception.
J'ai eu ce même problème. J'ai passé presque une heure à vérifier les journaux, à vérifier les chemins sendmail et à tester php mail() et sendmail depuis la ligne de commande en vain. Et finalement tout ce que j'ai fait a été redémarré Apache en utilisant apachectl -k graceful
et l'univers a été guéri.
Cela a fonctionné pour moi, merci! – jenovachild
Je suis d'accord avec le bloc ci-dessus. La fonction mail() par défaut est activée sur tous les serveurs (je crois). Dans mon cas, j'étais capable d'envoyer du code html basique en utilisant la simple fonction mail() mais quand j'ai utilisé PHPMailer pour le faire, j'ai eu cette erreur.
Donc J'ai retiré la partie où elle vérifie, c'est-à-dire IsSendMail() et tout allait bien. Maintenant plus d'exception jeté.
Pour les personnes qui souhaitent utiliser SMTP. Commencez par créer un compte de messagerie sur votre serveur, puis définissez son paramètre dans votre code.
Cheers,
Talha
Suppression IsSendmail() vient de créer une autre erreur pour moi, à la fin du fournisseur hôte a dû supprimer safemode sur les paramètres PHP. Il a ensuite travaillé
Modifier par David Burdess
SafeMode ne doit pas être mis sur un serveur en direct! Par exemple, les sites qui fonctionnent sur Joomla ou d'autres solutions CMS ne doivent pas être activés sauf dans un environnement de test.
Pour moi, cela fonctionne avec $mail->IsSMTP()
. IsSendmail()
est à la recherche de sendmail.
PHP avec safe_mode
activé sur des serveurs partagés (et probablement d'autres) ne parviendra pas à ouvrir /usr/sbin/sendmail
(PHPMailer utilise popen
)
le chemin est correct, je l'ai vérifié par phpinfo(); Je ne sais pas comment vérifier ou définir des permissions pour sendmail, c'est un serveur d'hébergement partagé. –
Tous les hôtes partagés ne prennent pas en charge sendmail. Créez un ticket de support et demandez à votre hébergeur de le faire. – Caner
ok, merci pour votre aide –