UbuntuサーバーでPostfixとApache/PHPをセットアップする。メールは適切なドメイン名で正常に送信されますが、Postfixがデフォルトでユーザーの名前を使用すると想定しているため、ローカル部分の表示名は常に「www-data」です。
Php.iniファイルで、sendmail_path
をsendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"
に変更できましたが、メールの表示名はwww-dataのままです。いくつかの方法で表示名を指定してみましたが、無視され、メールはまだwww-dataとして送信されていました。
私ができるようにしたいのは、デフォルトで、from、return-pathなどのヘッダーが欠落しているメールを"Example Support" <[email protected]>
として出力することですが、それが可能かどうかはわかりません。
私が質問を理解しているように、あなたはアドレスではなく(またはアドレスに加えて)送信者のフルネームを設定しようとしています。一般に、Postfixはそれが何であるかを気にしません。MUA(この場合は、いくつかのphpスクリプト)がメッセージヘッダーを生成するときに設定します。私はphpでのコーディングに精通していませんが、これは PHP mail()関数 のドキュメントで説明されているようです。
ただし、メッセージを送信するためにpostfixのsendmail
バイナリを呼び出す場合は、-F "Support System"
を使用して必要な操作を実行できます。多分これはmail.force_extra_parameters
設定にある必要があります—ここでphpがどのように動作するかはあまりわかりません。 (ほとんどの場合、それはとにかく間違っていることです。)
Main.cfに追加
smtp_generic_maps = hash:/etc/postfix/generic
そして/ etc/postfix/genericという名前のファイルを作成します:
www-data [email protected]
実行postmap /etc/postfix/generic
postfixをコンパイルしてリロードします。送信名は[email protected]になりました
@Domが忘れているプロセスを完了するには、最後に1つのことを行う必要があります。次のコマンドを実行します。
$ postmap /etc/postfix/generic
このコマンドは、/ postfixディレクトリ内にgeneric.db
ファイルを作成します。
これを行わないと、次のエラー出力が発生する可能性があります。
fatal: open database /etc/postfix/generic.db: No such file or directory