11

なんで?PHPではmail()経由で送信できますが、IsSendmail()を使用してPHPMailer経由で送信することはできません。

4

7 に答える 7

20

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

$mail->IsSendmail();

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

于 2012-11-08T00:01:37.080 に答える
7

パス/usr/sbin/sendmailが正しいことを確認しますか?

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

于 2010-12-09T00:33:19.477 に答える
2

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

于 2012-11-19T16:22:44.180 に答える
1

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

于 2014-02-04T15:31:34.400 に答える
0

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

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

SMTPを使いたい人のために。まず、サーバーでメールアカウントを作成してから、コードでそのパラメーターを定義します。

乾杯、

タルハ

于 2013-07-15T04:48:17.290 に答える
0

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

DavidBurdessによる編集

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

于 2013-12-23T13:21:16.023 に答える
0

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

于 2016-09-21T12:26:42.230 に答える