次のようなエラーメッセージが表示されます。
Jan 28 17:20:47 halk postfix/smtpd[29413]: NOQUEUE:
reject: RCPT from mail.m2osw.com[138.197.205.139]:
504 5.5.2 <SRS1=R3xB=m2osw.com==hj4N=ZL=Lime.ocn.ne.jp=@com>:
Sender address rejected: need fully-qualified address;
from=<SRS1=R3xB=m2osw.com==hj4N=ZL=Lime.ocn.ne.jp=@com>
to=<[email protected]> proto=ESMTP helo=<m2osw.com>
山かっこで囲まれた「メール」アドレスを理解しているのかよくわかりません。
SRS1 = R3xB = m2osw.com == hj4N = ZL = Lime.ocn.ne.jp = @ com
それは私にはがらくたのように見えますが、多分それは封筒の形ですか?
元のFromは次のようになります。
From: western union <"westernunion1."@Lime.ocn.ne.jp>
(これは明確なスパムメールですが、非スパムでも発生します。)
私の知る限り、セットアップは以前は正常に機能していましたが、メールサーバーの1つを最新のpostfixにアップグレードしました(14.04ではなくUbuntu 16.04)。アーカイブサーバーはしばらく前にアップグレードされました。
このエラーは、Gmailから自分にメールを送信したときに発生します。その後、Gmailはバウンスを受け取ります。
セットアップは次のようなものです。
+------------------+ +------------------+
| | | |
| Client |--->| Main Server |
| | | |
+------------------+ +------------------+
|
v
+------------------+
| |
| Archive Server |
| |
+------------------+
メインサーバーでは、電子メールは期待どおりに機能します。電子メールがアーカイブサーバーに到達すると、エラーが発生します。
あるpostfixMTAから別のpostfixMTAに転送するときに、そのような方法で電子メールアドレスを「壊す」変更があった可能性があるものはありますか?
さて、私は犯人を見つけました。これらの「奇妙な」メールアドレスはSRSで始まります。これは、postfix
がpostsrsd
を通じて使用できるSPIFサポートを示しています。 postsrsd
デーモンの作成者があなたの postfix/main.cf
ファイルで行うことを提案する4つのエントリがあります:
sender_canonical_maps = tcp:localhost:10001
sender_canonical_classes = envelope_sender
recipient_canonical_maps = tcp:localhost:10002
recipient_canonical_classes= envelope_recipient,header_recipient
明らかに、それは電子メールアドレスのエンベロープを生成します。そのエンベロープの仕様は次のとおりです。
[email protected]
私の場合の問題は、@
の後のドメイン名が動的に生成されていたことでした。これは、完全なコンピューターのホスト名を取得し、名を削除することを意味しました。したがって、ホスト名としてm2osw.com
を使用している場合、postsrsd
はドメイン名としてcom
を使用することになります。言い換えれば、私は次のような電子メールアドレスになってしまいます。
...@com
明らかに、@com
は有効なドメイン名ではありません。
postsrsd
デーモンは、ファイルにあるいくつかの定義を使用します。
/etc/default/postsrsd
そこにSRS_DOMAIN
という名前の変数があります。その変数を正しいドメイン名で設定することにより:
SRS_DOMAIN=m2osw.com
電子メールは期待どおりにエンベロープされ、エラーはなくなります。 (つまり、古い「メインサーバー」で適切にセットアップされていました。転送中にそれを見逃しました。)
私はそうは思いません、あなたが共有したログはすべてがうまく見え、接尾辞がうまく機能していることを示しています。何が起こっているかについてさらに情報が必要な場合は、main.cfに以下を追加してください。
error_notice_recipient = [email protected]
delay_notice_recipient = $error_notice_recipient
bounce_notice_recipient = $error_notice_recipient
2bounce_notice_recipient = $error_notice_recipient
#The list of error classes that are reported to the postmaster
notify_classes = bounce, delay, policy, protocol, resource, software
拒否されるのは、次のいずれかの行が原因です。
reject_non_fqdn_helo_hostname、
reject_non_fqdn_recipient
これがお役に立てば幸いです