web-dev-qa-db-ja.com

PostfixはドメインのMXレコードを無視しているようです

私の専用サーバーには、Webサイトを介して電子メールを送信するためのPostfixがインストールされています。クライアントの1人がサードパーティでメールをホストしているため、ドメインにMXレコードが設定されています。

ただし、サーバーからPostfixメールを送信する場合、メールは受信されません。ドメインはサーバー自体を指しているので、それ自体にメールを送信しようとしますが、そのドメインの電子メールを処理するサーバーには何もありません。 (正常に動作している他のドメインのメールアカウントがあります。)

PostfixでドメインのMXレコードを使用してメールを送信するにはどうすればよいですか?サーバーは標準のLAMPスタックを備えたUbuntu8.10です。 Webminをインストールし、ホストから「Matrix」というコントロールパネルを提供しています。

[〜#〜] edit [〜#〜]:自分のアドレスからメールを送信しようとすると、メール配信システムからエラーメールが届きます。このエラーは次のとおりです。

<[email protected]>: user unknown. Command output: Invalid user specified.

Final-Recipient: rfc822; [email protected]
Action: failed
Status: 5.1.1
Diagnostic-Code: x-unix; Invalid user specified.

作成されたログエントリは次のとおりです。

Jan  6 18:06:52 localhost postfix/pickup[29006]: 0329D3F69: uid=33 from=<[email protected]>
Jan  6 18:06:52 localhost postfix/cleanup[30495]: 0329D3F69: message-id=<[email protected]>
Jan  6 18:06:52 localhost postfix/qmgr[22461]: 0329D3F69: from=<[email protected]>, size=611, nrcpt=2 (queue active)
Jan  6 18:06:52 localhost postfix/pipe[30497]: 0329D3F69: to=<[email protected]>, relay=maildrop, delay=0.15, delays=0.1/0/0/0.04, dsn=5.1.1, status=bounced (user unknown. Command output: Invalid user specified. )
Jan  6 18:06:52 localhost postfix/smtp[30498]: 0329D3F69: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[209.85.227.27]:25, delay=0.61, delays=0.1/0.01/0.06/0.45, dsn=2.0.0, status=sent (250 2.0.0 OK 1294337212 o18si30528441wbo.103)
Jan  6 18:06:52 localhost postfix/cleanup[30495]: 868723F75: message-id=<[email protected]>
Jan  6 18:06:52 localhost postfix/bounce[30500]: 0329D3F69: sender non-delivery notification: 868723F75
Jan  6 18:06:52 localhost postfix/qmgr[22461]: 868723F75: from=<>, size=2553, nrcpt=1 (queue active)
Jan  6 18:06:52 localhost postfix/qmgr[22461]: 0329D3F69: removed
Jan  6 18:06:52 localhost postfix/pipe[30497]: 868723F75: to=<[email protected]>, relay=maildrop, delay=0.06, delays=0.01/0/0/0.05, dsn=2.0.0, status=sent (delivered via maildrop service)
Jan  6 18:06:52 localhost postfix/qmgr[22461]: 868723F75: removed
1
DisgruntledGoat

それで、私は仕事で退屈していて、私が次のことを言及したいと思いました。私はこれまでこのサイトを使ったことがないので、許してください。

答えの1つに、あなたは後でコメントしました:

「OK、virtual_mailbox_domains = $ transport_mapsとtransport_maps = hash:/ etc/postfix/transportがあります。そのファイルの中にはcondorproperties.co.ukmaildropという行があります:-その行を削除する必要がありますか?–昨日DisgruntledGoat」

その後、次のように続きます。

「@Devdas:その行を削除してPostfixを再起動しようとしましたが、問題は解決しません。「maildrop」を別のものに変更する必要がありますか?–昨日DisgruntledGoat」

最初の質問に対する答えは、「はい」です。/etc/postfix/transportのその行は、condorproperties.co.uk宛ての電子メールのローカルメール配信(maildrop経由)を強制していました。それを削除するのが最も適切です。問題は、postfixを再起動するだけでは変更を適用するには不十分であるということです。

問題は、構成ファイルで構成されているマップがハッシュ:/ etc/postfix/transportであるということです。ファイル/ etc/postfix/transportは人間が読める形式のファイルであり、対応する/etc/postfix/transport.db(コンパイルされたハッシュマップ)ファイルも含まれている必要があります。コマンドpostmapを使用して、人間が読める形式のバージョンをハッシュされたバージョンにコンパイルします。 Postfixは変更時間をチェックし、ログファイルで/etc/postfix/transport.dbが古くなっていると大声で文句を言うはずです。あなたがする必要があるのは、postmap/etc/postfix/transportを実行して、以前に行った変更(condorproperties.co.ukの行を削除)を有効にすることです。実際、postmapコマンドを発行した後、変更を公開するためにpostfixのリロードを行う必要はないと思いますが、問題はありません。

簡単に言うと、postmap/etc/postfix/transportを実行してから、postfixをリロードします。

乾杯。

ところで、ログファイルの大きな手がかりは次の行でした:Jan 6 18:06:52 localhost postfix/pipe [30497]:0329D3F69:to =、relay = maildrop、delay = 0.15、delays = 0.1/0/0/0.04、 dsn = 5.1.1、status = bounced(ユーザー不明。コマンド出力:無効なユーザーが指定されました。)

途中で、relay = maildropと表示されていることに注意してください。

3
etherfish

Postconf -nをここに貼り付けていただけますか?

Mydestination、virtual_mailbox_domains、またはmaildropのトランスポートを持つrelay_domainsのいずれかにmydomain.co.ukが明示的にリストされていることは間違いありません。

ring0は正しい考えを持っていますが、私が理解しているように、質問を誤って解析しました。目標は、サーバー上のドメインの1つが他の場所に移動するための電子メールを取得することですが、それはPostfixにとどまります。

すべてのメールサーバーには、DNSを上書きするローカル構成があります。したがって、MTAがDNSを参照していない場合は、ローカル構成にドメインがあります。

1
Devdas

また、メールを送信する予定のリモートドメインに対して、カスタムトランスポートまたはトランスポートマップが何らかの方法で定義されていないことを確認してください。

0
jof

postfixは標準に従い、ドメイン名のMXエントリ解決を実行して、メールを送信するために次に接続するサーバーを見つけます。

  • ドメイン名(ゾーン)のTTL)が原因で問題が発生している可能性があります。たとえば、レジ​​ストラでMXエントリを更新したが、TTL ofそのドメインは、以前に解決されたエントリをドメインネームサーバーのキャッシュに残します。

  • また、ターゲットサーバーのドメイン名がlocalとして宣言されていない可能性があり、送信サーバーが中継を試みていると見なして、サーバーがメールを拒否します(ログを参照、たとえば/var/log/mail.log)。 (スパム)そのターゲットサーバー経由(/etc/postfix/main.cfmydestination)。

Dig +nocmd mydomain.tld mx +noall +answerを試して、関心のあるドメインからのTTLを含む読みやすい情報を入手してください。

0
Ring Ø