web-dev-qa-db-ja.com

PostfixメールキューのDNS解決エラー

mailqは私にこのエラーを与えます:

F2E7B32820F3     3549 Wed Feb 17 12:15:50  "www-data@info"@hivemind.ru
(Host mxs.mail.ru[94.100.180.150] said: 421 Problem resolving DNS for domain info"@hivemind.ru (Domain name is syntactically invalid) (in reply to MAIL FROM command))

同じソフトウェア(古いSMFフォーラム)によって生成されたこのタイプのメッセージが表示されますが、正確な部分が見つかりません。インターネットで検索しても結果は得られません。

フォーラムソフトウェアはメッセージを適切に生成しているようです:

postcat -vq 0492D3282068
postcat: name_mask: all
postcat: inet_addr_local: configured 2 IPv4 addresses
postcat: inet_addr_local: configured 2 IPv6 addresses
*** ENVELOPE RECORDS maildrop/0492D3282068 ***
message_arrival_time: Sun Feb 21 15:01:55 2016
named_attribute: rewrite_context=local
sender_fullname: www-data
sender: www-data
*** MESSAGE CONTENTS maildrop/0492D3282068 ***
regular_text: To: [email protected]
regular_text: Subject: =?UTF-8?B?0JTQvtCx0YDQviDQv9C+0LbQsNC70L7QstCw0YLRjCDQvdCwINGE0L7RgNGD0LwgUFNZVFJJQkU=?=
regular_text: X-PHP-Originating-Script: 0:Subs-Post.php
regular_text: From: "PSYTRIBE" <[email protected]>
regular_text: Return-Path: [email protected]
regular_text: Date: Sun, 21 Feb 2016 12:01:54 -0000
regular_text: X-Mailer: SMF
regular_text: Mime-Version: 1.0
regular_text: Content-Type: multipart/alternative; boundary="SMF-e8a857e57a7c03288f525582f6bdb280"
regular_text: Content-Transfer-Encoding: 7bit

どこで間違いを探すべきかをどうやって理解できますか?

1
Misha Sunseev

おそらく、セットアップで3つの異なる問題が発生しています。これが何が起こったのかについての私の最善の推測です。

  1. サーバーはFQDNで構成されたことがなく、名前はinfoのみです。
  2. 電子メールはユーザーwww-dataによって生成されます。
  3. 他のメールアドレスは指定されていないため、ユーザー名とホスト名を組み合わせて自動的に作成されます。
  4. この時点で作成された電子メールアドレスはwww-data@infoですが、これは正しくありません(info TLDを制御し、TLDで直接MXレコードを構成していない場合はそうではありません)。
  5. この電子メールアドレスは、完全な電子メールアドレスまたはユーザー名のみを受け入れる別のソフトウェアに渡されます。
  6. 電子メールアドレスは、完全な電子メールアドレスではなく、ユーザー名のみであると判断するために解析されます。
  7. ユーザー名は、以前のソフトウェアで使用されていたホスト名とは異なるドメイン名と組み合わされます。 www-data@infoはユーザー名であると想定され、@文字が含まれているため、関連するRFCに従って引用されます。これは、ネットワーク上で送信される電子メールアドレスが<"www-data@info"@hivemind.ru>のようになることを意味します。これは構文的には有効ですが、おそらく意図したものではありません。
  8. このアドレスを解析する次のソフトウェアはバグがあり、RFCに従って解析しません。最初の@が引用符で囲まれていても、最初の@がローカル部分をドメインから分離していると誤って信じています。

ここで問題が発生した3つのことは、次のとおりです。

  1. 最初は、意図したドメインではなく、ドメイン名infoが使用されました。
  2. その後、一部のソフトウェアはヒューリスティックを使用して、完全なアドレスが与えられているのか、ローカル部分のみが与えられているのかを判断し、その入力を生成したソフトウェアが意図したものとは異なる結論に達します。
  3. 引用符で囲まれた文字列を理解しないパーサーのバグにより、ドメインが無効であるとして誤って拒否されます。

RFC 2821は、引用符が必要なアドレスを使用しないことを推奨しています。そして、あなたのシナリオは、そのような慣行に対して推奨することがなぜ健全であるかを示しています。

ローカル部分の上記の定義は比較的寛容ですが、相互運用性を最大にするために、メールの受信を期待するホストは、ローカル部分が引用符で囲まれた文字列形式を必要とする(または使用する)メールボックスを定義しないようにする必要があります。 -敏感です。

そもそも引用を使うつもりはなかったのです。これは、プロセスの早い段階でソフトウェアが誤って構成されたことが原因でのみ発生しました。そもそもinfoがドメイン名として誤って使用されていた場所を見つけて修正するには、データフローを逆方向に進める必要があります。

5
kasperd

エラーメッセージはかなり明確なので、あなたが何を求めているのかは本当に明確ではありません...アドレス:

"www-data@info"@hivemind.ru

は無効です。ユーザー名www-dataおよびドメイン名info "@ hivemind.ruとして解析されていますが、これは有効なドメイン名ではありません。

投稿した内容から、SMFソフトウェアがそのアドレスに送信しようとしている理由を判断する方法はありません。