メール受信者が一部のメールソースと連携できません

メール受信コンテナを確実に動作させるのに苦労しています。個人の GMail アカウントから送信された返信には意図したとおりに機能しますが、雇用主の Office 365 Web アプリから送信されたメールは拒否されます。これは私の側の設定の問題なのか、それとも雇用主のメールルーティングに何か奇妙な点があるのか判断できません。

./launcher logs mail-receiver の出力を確認するのは初めてですが、この抜粋は、配信に失敗した場合の典型的なイベントシーケンスを示していると思います。

Jan 27 17:19:13 myvps-mail-receiver postfix/spawn[363]: warning: command /usr/bin/policyd-spf exit status 120
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: warning: problem talking to server private/policyd-spf: Connection timed out
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: NOQUEUE: reject: RCPT from mail-server.employer.tld[XX.XXX.XX.XX]: 451 4.3.5 <4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld>: Recipient address rejected: Server configuration problem; from=<me@employer.tld> to=<4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld> proto=ESMTP helo=<mail-server.employer.tld>
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld" from client "mail-server.employer.tld[XX.XXX.XX.XX]"
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: disconnect from mail-server.employer.tld[XX.XXX.XX.XX] ehlo=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=4/6

<22>Jan 27 17:20:56 policyd-spf[367]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=XX.XXX.XX.XX; helo=mail-server.employer.tld; envelope-from=me@employer.tld; receiver=reply.my_domain.tld <22>Jan 27 17:20:56 policyd-spf[367]: Traceback (most recent call last):
Jan 27 17:20:56 myvps-mail-receiver postfix/spawn[366]: warning: command /usr/bin/policyd-spf exit status 120

最初の行、2行目、最後の行を見ると、SPF ポリシーデーモンが機能していないようです。機能していない理由を示す診断情報が見つかりません。また、それが不可欠なのかどうかもわかりません。GMail からのメールは問題なく届いているようです。

Cloudflare DNS と Brevo のトランザクションメールを備えた VPS でセルフホスティングしています。

「いいね!」 1

Microsoft 365ソースからの予測不能なバウンスが長期間にわたって多数発生していることにも気づきました。多くの企業がそれを使用しているため、非常に迷惑でした。これまで、問題の原因を特定しようとしても成功していません。

提案されたように、mail-receiverに問題があるのかもしれません。調査していただけると幸いです。

「いいね!」 1

設定、雇用主、またはメール受信アプリのいずれに問題があるのかわかりません:person_shrugging:。コンテナからさらに情報を引き出すための提案をいただけると大変助かります。

「いいね!」 1

メール受信コンテナから出力される生のシステムログにアクセスする方法を教えていただけますか?この行の後にトレースバックがあるはずだと思うのですが。

<22>Jan 27 17:20:56 policyd-spf[367]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=XX.XXX.XX.XX; helo=mail-server.employer.tld; envelope-from=me@employer.tld; receiver=reply.my_domain.tld <22>Jan 27 17:20:56 policyd-spf[367]: Traceback (most recent call last):

これは削除されているのでしょうか?勘違いかもしれません。

https://github.com/kmdalton/mail-receiver?tab=readme-ov-file#syslog-integration は関連性があるように見えますが、実際にはどのように使用すればよいのか理解できません。

ask.Discourse.com にログの全行を貼り付けた際の応答は以下のとおりです。\n\n

\n\nPostfix と Policyd-SPF の問題のトラブルシューティング\nAI\n\n\ndenvergeeks:\n\n\nこのエラーは何を示していますか?\n1 月 27 日 17:19:13 myvps-mail-receiver postfix/spawn[363]: warning: command /usr/bin/policyd-spf exit status 120\n1 月 27 日 17:20:21 myvps-mail-receiver postfix/smtpd[356]: warning: problem talking to server private/policyd-spf: Connection timed out\n1 月 27 日 17:20:21 myvps-mail-receiver postfix/smtpd[356]: NOQUEUE: reject: RCPT from mail-server.employer.tld[XX.XXX.XX.XX]: 451 4.3.5 <4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld>: Recipient address rejected: Server configuration problem; from=me@employer.tld to=<4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld> proto=ESMTP helo=<mail-server.employer.tld>\n1 月 27 日 17:20:21 myvps-mail-receiver postfix/smtpd[356]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld" from client "mail-server.employer.tld[XX.XXX.XX.XX]"\n1 月 27 日 17:20:21 myvps-mail-receiver postfix/smtpd[356]: disconnect from mail-server.employer.tld[XX.XXX.XX.XX] ehlo=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=4/6\n<22>1 月 27 日 17:20:56 policyd-spf[367]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=XX.XXX.XX.XX; helo=mail-server.employer.tld; envelope-from=me@employer.tld; receiver=reply.my_domain.tld <22>1 月 27 日 17:20:56 policyd-spf[367]: Traceback (most recent call last):\n1 月 27 日 17:20:56 myvps-mail-receiver postfix/spawn[366]: warning: command /usr/bin/policyd-spf exit status 120\n\nDiscourseHelper:\n\n
\n 検索中\n

検索中: postfix policyd-spf exit status 120 server configuration problem connection timed out reason and solution

\n
\n\n\nエラーログは postfixpolicyd-spf に関する問題を示しているようです。具体的には以下の通りです。\n\n1. policyd-spf の終了ステータス 120:\n - これは通常、policyd-spf の設定または権限の問題を示します。Policyd-SPF は、Sender Policy Framework (SPF) に基づいて受信メールを検証するために使用されます。終了ステータス 120 は、アプリケーションエラーまたは SPF 検証要件を処理できないことを示すことがよくあります。\n\n2. private/policyd-spf への接続タイムアウト:\n - これは、postfixpolicyd-spf サービスと通信できない場合に発生します。原因としては、以下の可能性が考えられます。\n - 通信ソケットのパスまたは設定が無効。\n - policyd-spfspawn プロセスが正しく設定されていないか、初期化に失敗している。\n\n3. ステータス 451 による RCPT 拒否:\n - 受信者のメールアドレスが「サーバー設定の問題」により拒否されています。これは、SPF 検証の失敗により、postfix が受信者を受け入れることができないことを示唆しています。\n\n—\n\n### 解決手順:\n\n1. policyd-spf の設定を確認する:\n - /etc/postfix/main.cf (または同等のファイル) の SPF 関連の設定が、正しいポリシーサービスを指していることを確認します。\n plaintext\n policy-spf unix - n n - - spawn\n user=nobody argv=/usr/bin/policyd-spf\n \n - argv コマンドのパス (/usr/bin/policyd-spf) が正しくない場合は、調整してください。\n\n2. サービスとログ:\n - policyd-spf サービスを再起動します。\n shell\n systemctl restart policyd-spf\n \n - 特定の問題を特定するために、policyd-spf の詳細ログを確認します。\n shell\n journalctl -u policyd-spf\n \n\n3. Postfix の設定:\n - postfixpolicyd-spf を正しく使用していることを確認します。/etc/postfix/master.cf で以下を検証します。\n plaintext\n smtp inet n - n - - smtpd\n -o smtpd_recipient_restrictions=permit_mynetworks,reject_unauth_destination,check_policy_service=unix:private/policyd-spf\n \n - /etc/postfix およびソケットパスのファイル権限を確認します。\n\n4. SPF をテストする:\n - 外部ツールまたは CLI (dig コマンド) を使用して、SPF レコードを手動で検証してみてください。\n bash\n dig +short txt yourdomain.com\n \n - メール SPF レコードが正しいことを確認します。\n\n5. ソケット通信:\n - private/policyd-spf ソケットが存在し、アクセス可能であることを確認します。\n shell\n ls /var/spool/postfix/private/policyd-spf\n # ファイルが存在する場合は権限を調整します:\n chown postfix:postfix /var/spool/postfix/private/policyd-spf\n chmod 770 /var/spool/postfix/private/policyd-spf\n \n - Unix ソケットファイルが見つからない場合は、再リンクまたは再作成します。\n\n6. 設定エラー:\n - /etc/policyd-spf/policyd-spf.conf のデフォルトパラメータを確認し、ユースケースに対して正しさを確認します。\n\n7. 関連サービスをすべて再起動する:\n bash\n systemctl restart postfix\n systemctl restart policyd-spf\n \n\n—\n\n設定変更後も問題が続く場合は、ホスティングプロバイダーまたは Discourse サポートに連絡して、サーバーの正常性と正しい接続設定を確認してください。外部の SPF 問題に関するドキュメントや、postfix/policyd コミュニティフォーラムでさらに情報を探すこともできます。\n
\n\nそして、Perplexity.ai からの応答へのリンクはこちらです。\n\nhttps://www.perplexity.ai/search/what-this-error-indicates-jan-fWurGemCTTezCPLfLNNSMg

これらの応答に基づいてできる限りのことを試しましたが、問題は解決しないようです。最も役立つのは、誰かが policyd-spf から Python トレースバックの内容をログファイルに記録する方法を教えてくれることだと思います。何か提案はありますか?これは単なる見当違いでしょうか?