OK、この質問はされていると思いますが、私の特定の問題に関連する問題は提起されませんでした。
基本的に、私はサーバーで何をしているのかほとんどわかりませんが、メールを送信し、スパムフォルダーに入らないようにサーバーを構成する必要があります。現在、私が思う主な問題は、_mail.log
_ファイルの次のエラーメッセージです。
_error: to submit mail, use the Postfix sendmail command
_
_fatal: the postfix command is reserved for the superuser
_
私のphp.iniファイルには_sendmail_path = /usr/sbin/sendmail -t -i
_があります
Postfixはホスト名で構成されており、コマンドラインからメールを送信すると正常に送信されるため、すべてが正常に機能しますが、CLIではrootとしてログインしているため、アクセスできるので問題ではない可能性があります。 。 _postfix status
_を実行すると、次のようになります。
_postfix: Postfix is running with backwards-compatible default settings
postfix: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix: To disable backwards compatibility use "postconf compatibility_level=2" and "postfix reload"
postfix/postfix-script: the Postfix mail system is running: PID: 13198
_
私はこのプロジェクトに取り掛かっていて、これを迅速に解決する必要がありますが、これを正しく設定する方法については、無数の異なるチュートリアルがすべて本当に異なっているようです。少なくとも、何が間違っていたのか理解できません。
再ハッシュするための主な目標は、PHPを取得して、電話をかけたときに実際にメールを送信することです。
mail($to, $subject, $msg, $headers);
@bgtvfrに感謝します。私がテストしたとき、それらはすべて機能していました。コマンドラインからのメールの送信は、意図したとおりに正常に機能していました。
mail.logからリストしたエラーは、php.iniファイルが正しく構成されていないことが原因でした。
ある時点でsendmail_path = /usr/sbin/posfix
を設定し、それを上記のコードに戻している間、sendmail
をポイントしてphp.ini設定をリロードしていませんでした。私はnginxとphp7.0でubuntuを実行していますが、nginxを再起動してもphp設定が再読み込みされないため、次のコマンドを実行する必要がありました。
Sudo /etc/php7.0/fpm/php.ini restart
これがsendmail_path = /usr/sbin/sendmail
にリセットされると、意図したとおりに機能し始めました。