新しいサーバーがあります。Postfix をインストールし (apt-get install mailutils)、postfix を「インターネットサイト」として設定しました。コマンドプロンプトで通常のユーザーとしてログインし、「mail」を使用すると正常に動作します。[メールアドレス]" でメールを送信します。PHP 経由でメールを送信しようとしても何も起こりません。mail(" を試しました。[メールアドレス]"、"subject"、"my test"); と入力しましたが、何も送信されません。 /var/log/mail.log を見ると、何も表示されません (ただし、PHP を使用せずにコマンドラインから送信すると、すべて表示されます)。
php.iniの行を変更しなかった場合
;sendmail_path =
、mail.logファイルには何も表示されません。テストのために、
sendmail_path = /usr/sbin/sendmail -i -t
/var/log/mail.logに次のようなエラーが出力されます。
fatal: Recipient addresses must be specified on the command line or via the -t option
(私の考えでは、指定されたようですが…?)
この原因は何だと思いますか? PHP でメールを送信するにはどうすればいいでしょうか?
答え1
この問題は、PHP (の新しいバージョン) を再インストールすることで解決します。最初のコンパイル時に postfix がインストールされていなかったため、mail() は無効になっていました...