なんで?PHPではmail()経由で送信できますが、IsSendmail()を使用してPHPMailer経由で送信することはできません。
7 に答える
同じエラーが発生しました。これをコメント/削除することで解決しました:
$mail->IsSendmail();
これで正しく動作します。メールを送信でき、受信トレイで受信します。
パス/usr/sbin/sendmail
が正しいことを確認しますか?
はいの場合は、sendmailの権限が正しく設定されていることも確認してください。
私はこれと同じ問題を抱えていました。ログのチェック、sendmailパスのチェック、およびphp mail()とsendmailのコマンドラインからのテストにほぼ1時間費やしましたが、役に立ちませんでした。そして最後に、私がしたのは、Apacheを使用して再起動することだけapachectl -k graceful
で、宇宙は癒されました。
私にとっては、で動作してい$mail->IsSMTP()
ます。
IsSendmail()
sendmailを探しています。
上記のブロックに同意します。デフォルトのmail()関数は、すべてのサーバーで有効になっています(私は信じています)。私の場合、単純なmail()関数を使用して基本的なhtmlを送信できましたが、PHPMailerを使用して送信すると、そのエラーが発生しました。
そこで、IsSendMail()をチェックする部分を削除しましたが、すべて問題ありませんでした。より多くの例外がスローされます。
SMTPを使いたい人のために。まず、サーバーでメールアカウントを作成してから、コードでそのパラメーターを定義します。
乾杯、
タルハ
IsSendmail()を削除すると、別のエラーが発生しました。最終的に、ホストプロバイダーはPHP設定のセーフモードを削除する必要がありました。それはそれから働いた
DavidBurdessによる編集
SafeModeはライブサーバーに設定しないでください。たとえば、Joomlaまたは他のCMSソリューションで実行されているサイトは、テスト環境以外では有効にしないでください。
safe_mode
共有サーバー(およびおそらく他のサーバーでも)で有効になっているPHPは開くことができません/usr/sbin/sendmail
(PHPMailerはpopen
)を使用します