web-dev-qa-db-ja.com

Postfixの送信者アドレスを変更するにはどうすればよいですか?

Postfixにuser@mydomainではなくroot@hostnameからメールを送信させるにはどうすればよいですか?要求されたときにドメインをインストールして入力した後でも、指定したドメインではなくホスト名とともに送信されます。 main.cfファイル

myorigin = /etc/mailname

および/etc/mailnameには以下が含まれます:

gateblogs.com

私のドメインです。

ホスト名をドメイン名に変更することで、一時的に問題を解決できました。ただし、メールの送信者を変更するにはどうすればよいですか。現在rootからのメールが表示されています。別のメールにしたいです。

3
NerdOfLinux

Postfix自体は、メールの送信元アドレスを「設定」しません(Postfix構成を実際に調整していない限り)。
電子メールの送信元アドレスヘッダーは、Postfixにメールの配信を要求するメールクライアントによって設定されます(Postfixは [〜#〜] mta [〜#〜] )。

したがって、あなたは間違った場所を見ているでしょう-私があなたの質問を理解している限り。

mailコマンドを使用して構成をテストしているとのことですが、このきちんとした小さなコマンドは、デフォルトでは、コマンドが実行されるシステムユーザー名を使用しています。あなたの場合、これはユーザーrootのようです。別のユーザーとしてmailを実行してみると、from部分が変更されていることがわかります。
そして、コマンドmailは-デフォルトで-ドメイン部分をpostfixに渡すメールの "from"ヘッダーに追加しないため、postfixはmyoriginを追加します自動的にrootに分割します。

mailは、他の「from」電子メールヘッダーを使用しないように制限するものではありません。 wwwまたは mailのマニュアルページ で読むことができます。 sendmail の使用も検討してください。

構成可能性に関して言えば、postfixは野獣であることに注意してください。アーキテクチャと設定ファイルを本当に理解していれば、Postfixにしたいほとんどすべてのことを達成できます。
しかし、かなり「ニュービーっぽい」質問をしているので、まだその道を進みたくないかもしれません...

3
gue

GueとBob Eagerの答えを使用して、/etc/postfix/main.cfの次の設定でも機能することがわかりました(Ubuntu 18.04マシン上)。

# appending .domain is the MUA's job.
# append_dot_mydomain = no  # --> this is the default setting
append_dot_mydomain = yes  # --> Setting it to yes appends the domain to the hostname

また、gueの発言についても説明します。domainの追加はメールユーザーエージェントの仕事です。 yesに設定することで、これを上書きしています。

だから、私のセットアップは:

[/etc/postfix/main.cf]
...
append_dot_mydomain = yes
...
myorigin = /etc/mailname
...

[/etc/mailname]
mydomain.example.com

それでも、それは正しい方法のようには感じられません。結局、それをyesに設定すると、「。domainの追加はメールユーザーエージェントの仕事になる」という原則に違反しています。

さらに、なぜこのように設定して機能させる必要があるのか​​わかりません。 /etc/mailnameをドメインに設定し、append_dot_mydomain=noを使用しても、ホスト名の後にドメインを正しく追加する別のサーバー(誰かが設定したDebian 8.11マシン)があります。そして、そのサーバーでは、mailxと、たとえばログチェック

1
Rabarberski

あなたはこれを2回尋ねましたが、私は私の答えを繰り返します。 main.cf

myorigin = $mydomain
0
Bob Eager

PHPスクリプトを使用してメールを送信する場合:mail()コマンドを実行する前に、ヘッダーの「from」部分を設定できます。

例えば.

<?php
$to      = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .   // this will show up as the from address
    'Reply-To: [email protected]' . "\r\n" .        // set this as the senders email so replys will go to them
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

これが私の特定の状況でこの問題を回避する方法です。

状況によっては、これらのヘッダーを設定するだけで問題を解決できるはずです。

0
Goahnary