web-dev-qa-db-ja.com

PHPmailerレポート:実行できませんでした:/ usr / sbin / sendmail

どうして? PHPでmail()経由で送信できますが、IsSendmail()を使用してPHPMailer経由で送信できません

10
A-OK

パス/usr/sbin/sendmail 正しい?

はいの場合は、sendmailの権限が正しく設定されていることも確認してください。

7
Caner

同じエラーが発生しました。これをコメント/削除することで解決しました:

$mail->IsSendmail();

今では正しく動作します。メールを送信でき、受信トレイで受信します。

17
nitrnitr

私はこれと同じ問題を抱えていました。ログのチェック、sendmailパスのチェック、php mail()とsendmailのコマンドラインからのテストにほぼ1時間費やしましたが、役に立ちませんでした。そして最後に、私がしたのはapachectl -k gracefulを使用してApacheを再起動することだけで、宇宙は癒されました。

1

私にとっては、$mail->IsSMTP()で動作しています。 IsSendmail()はsendmailを探しています。

1
nasko_p_a

IsSendmail()を削除すると、別のエラーが発生しました。最終的に、ホストプロバイダーはPHP設定でセーフモードを削除する必要がありました。その後、機能しました。

DavidBurdessによる編集

SafeModeはライブサーバーに設定しないでください!たとえば、Joomlaまたは他のCMSソリューションで実行されているサイトは、テスト環境以外では有効にしないでください。

0
AntG

共有サーバー(およびおそらく他のサーバーでも)でsafe_modeが有効になっているPHPは、/usr/sbin/sendmailを開くことができません(PHPMailerはpopenを使用します)

0
Misiur

上記のブロックに同意します。デフォルトのmail()関数はすべてのサーバーで有効になっています(私は信じています)。私の場合、単純なmail()関数を使用して基本的なhtmlを送信できましたが、PHPMailerを使用して送信すると、そのエラーが発生しました。

したがってIsSendMail()をチェックする部分を削除し、すべて問題ありませんでした。より多くの例外がスローされます。

SMTPを使いたい人のために。最初にサーバーで電子メールアカウントを作成し、次にそのパラメーターをコードで定義します。

乾杯、

タルハ

0
Talha