web-dev-qa-db-ja.com

デフォルトのアドレスをPostfixからwww-dataから別のものに変更します

UbuntuサーバーでPostfixとApache/PHPをセットアップする。メールは適切なドメイン名で正常に送信されますが、Postfixがデフォルトでユーザーの名前を使用すると想定しているため、ローカル部分の表示名は常に「www-data」です。

Php.iniファイルで、sendmail_pathsendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"に変更できましたが、メールの表示名はwww-dataのままです。いくつかの方法で表示名を指定してみましたが、無視され、メールはまだwww-dataとして送信されていました。

私ができるようにしたいのは、デフォルトで、from、return-pathなどのヘッダーが欠落しているメールを"Example Support" <[email protected]>として出力することですが、それが可能かどうかはわかりません。

13
WuckaChucka

私が質問を理解しているように、あなたはアドレスではなく(またはアドレスに加えて)送信者のフルネームを設定しようとしています。一般に、Postfixはそれが何であるかを気にしません。MUA(この場合は、いくつかのphpスクリプト)がメッセージヘッダーを生成するときに設定します。私はphpでのコーディングに精通していませんが、これは PHP mail()関数 のドキュメントで説明されているようです。

ただし、メッセージを送信するためにpostfixのsendmailバイナリを呼び出す場合は、-F "Support System"を使用して必要な操作を実行できます。多分これはmail.force_extra_parameters設定にある必要があります—ここでphpがどのように動作するかはあまりわかりません。 (ほとんどの場合、それはとにかく間違っていることです。)

6
mattdm

Main.cfに追加

smtp_generic_maps = hash:/etc/postfix/generic

そして/ etc/postfix/genericという名前のファイルを作成します:

www-data [email protected]

実行postmap /etc/postfix/generic postfixをコンパイルしてリロードします。送信名は[email protected]になりました

12
Dom

@Domが忘れているプロセスを完了するには、最後に1つのことを行う必要があります。次のコマンドを実行します。

$ postmap /etc/postfix/generic

このコマンドは、/ postfixディレクトリ内にgeneric.dbファイルを作成します。

これを行わないと、次のエラー出力が発生する可能性があります。

fatal: open database /etc/postfix/generic.db: No such file or directory

5