次のようなメールを送信する小さなテスト php スクリプトを作成しました。
$headers = 'From: ' . $_POST["from"];
if (mail ($_POST["to"], $_POST["subject"], $_POST["body"], $headers)) {
echo "Mail sent";
} else {
echo "Problem sending email";
}
これは、Postfix を使用するサーバーで正常に機能しています。
msmtp を試してみると、From が無視され、次のようにエラーが表示されます。
msmtp: /etc/msmtprc からのアカウントのデフォルト: エンベロープの送信元アドレスがありません
設定ファイルの内容は次のとおりです。
# cat /etc/msmtprc
account default
host localhost
port 25
そのファイルに from を設定しようとしましたが、うまくいきましたが、php で渡した From を上書きしました。
ご協力いただきありがとうございます