Postfixにuser@mydomain
ではなくroot@hostname
からメールを送信させるにはどうすればよいですか?要求されたときにドメインをインストールして入力した後でも、指定したドメインではなくホスト名とともに送信されます。 main.cf
ファイル
myorigin = /etc/mailname
および/etc/mailname
には以下が含まれます:
gateblogs.com
私のドメインです。
ホスト名をドメイン名に変更することで、一時的に問題を解決できました。ただし、メールの送信者を変更するにはどうすればよいですか。現在root
からのメールが表示されています。別のメールにしたいです。
Postfix自体は、メールの送信元アドレスを「設定」しません(Postfix構成を実際に調整していない限り)。
電子メールの送信元アドレスヘッダーは、Postfixにメールの配信を要求するメールクライアントによって設定されます(Postfixは [〜#〜] mta [〜#〜] )。
したがって、あなたは間違った場所を見ているでしょう-私があなたの質問を理解している限り。
mail
コマンドを使用して構成をテストしているとのことですが、このきちんとした小さなコマンドは、デフォルトでは、コマンドが実行されるシステムユーザー名を使用しています。あなたの場合、これはユーザーroot
のようです。別のユーザーとしてmail
を実行してみると、from部分が変更されていることがわかります。
そして、コマンドmail
は-デフォルトで-ドメイン部分をpostfixに渡すメールの "from"ヘッダーに追加しないため、postfixはmyorigin
を追加します自動的にroot
に分割します。
mail
は、他の「from」電子メールヘッダーを使用しないように制限するものではありません。 wwwまたは mail
のマニュアルページ で読むことができます。 sendmail
の使用も検討してください。
構成可能性に関して言えば、postfixは野獣であることに注意してください。アーキテクチャと設定ファイルを本当に理解していれば、Postfixにしたいほとんどすべてのことを達成できます。
しかし、かなり「ニュービーっぽい」質問をしているので、まだその道を進みたくないかもしれません...
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
と、たとえばログチェック
あなたはこれを2回尋ねましたが、私は私の答えを繰り返します。 main.cf
:
myorigin = $mydomain
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);
?>
これが私の特定の状況でこの問題を回避する方法です。
状況によっては、これらのヘッダーを設定するだけで問題を解決できるはずです。