مستقبل البريد لا يعمل مع بعض مصادر البريد الإلكتروني

أواجه صعوبة حقًا في جعل حاوية mail-receiver تعمل بشكل موثوق. لقد وصلت إلى النقطة التي تعمل فيها كما هو مقصود للردود المرسلة من حساب GMail الشخصي الخاص بي، لكنها ترفض رسائل البريد الإلكتروني المرسلة من تطبيق الويب الخاص بمكتب 365 الخاص بصاحب العمل. لا يمكنني تحديد ما إذا كانت هذه مشكلة تكوين من جانبي أو شيء غريب حول كيفية توجيه صاحب العمل للبريد الإلكتروني.

أنا جديد في النظر إلى مخرجات ./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

يبدو أن خادم سياسة spf لا يعمل بناءً على الأسطر الأولى والثانية والنهائية. لا يمكنني العثور على أي شيء تشخيصي حول سبب عدم عمله. لست متأكدًا أيضًا مما إذا كان ضروريًا. رسائل البريد الإلكتروني من GMail تبدو أنها تمر على ما يرام.

أنا أستضيف ذاتيًا على VPS مع Cloudflare DNS والبريد الإلكتروني للمعاملات من Brevo.

إعجاب واحد (1)

لقد لاحظت أيضًا عددًا قليلاً جدًا من الارتدادات غير المتوقعة من مصادر Microsoft 365 لفترة طويلة، مما كان مزعجًا للغاية نظرًا لأن العديد من الشركات تستخدمه. لم أتمكن حتى الآن من تتبع الطرف المصدر للمشكلات.\n\nربما توجد مشكلة في mail-receiver كما تقترح؛ سأكون سعيدًا إذا تم التحقيق في هذا الأمر!

إعجاب واحد (1)

لست متأكدًا مما إذا كان الإعداد الخاص بي، أو إعداد صاحب العمل، أو تطبيق مستلم البريد هو الملام :person_shrugging:. سأكون ممتنًا بالتأكيد لأي اقتراحات حول كيفية استخلاص المزيد من المعلومات من الحاوية.

إعجاب واحد (1)

هل يمكن لأحد أن يخبرني كيف يمكنني الوصول إلى سجل النظام الخام الخارج من حاوية mail-receiver؟ أعتقد أنه من المفترض أن يكون هناك تتبع بعد هذا السطر:

<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):

والذي يتم تنظيفه؟ ربما أكون مخطئًا.

هذا يبدو ذا صلة، لكنني أخشى أنني لا أفهم كيفية استخدامه عمليًا.

هذا هو الرد عند لصق كامل تلك الأسطر من السجل في ask.Discourse.com

استكشاف أخطاء Postfix و Policyd-SPF وإصلاحها AI

denvergeeks:

ما الذي يشير إليه هذا الخطأ:
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

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
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

DiscourseHelper:

Searching

Searching for: postfix policyd-spf exit status 120 server configuration problem connection timed out reason and solution

يبدو أن سجلات الأخطاء لديك تشير إلى مشاكل في postfix و policyd-spf. على وجه التحديد:

  1. حالة الخروج 120 لـ policyd-spf:

    • يشير هذا عادةً إلى مشكلة في تكوين policyd-spf أو الأذونات. Policyd-SPF يُستخدم للتحقق من صحة رسائل البريد الإلكتروني الواردة بناءً على إطار سياسة المرسل (SPF). حالة الخروج 120 غالبًا ما تعني خطأ في التطبيق أو عدم القدرة على معالجة متطلبات التحقق من SPF.
  2. انتهاء مهلة الاتصال بـ private/policyd-spf:

    • يحدث هذا عندما لا يتمكن postfix من الاتصال بخدمة policyd-spf، ومن المحتمل بسبب:
      • مسار غير صحيح أو تكوين غير صحيح لمقبس الاتصال.
      • عملية spawn لـ policyd-spf غير معدة بشكل صحيح أو فشلت في التهيئة.
  3. رفض RCPT بحالة 451:

    • يتم رفض عنوان البريد الإلكتروني للمستلم بسبب “مشكلة في تكوين الخادم”. هذا يشير إلى أنه بسبب فشل التحقق من SPF، لا يمكن لـ postfix قبول المستلم.

خطوات الحل:

  1. تحقق من تكوين policyd-spf:

    • تأكد من أن التكوينات المتعلقة بـ SPF في /etc/postfix/main.cf (أو ما يعادله) تشير إلى خدمة السياسة الصحيحة:
      policy-spf unix - n n - - spawn
        user=nobody argv=/usr/bin/policyd-spf
      
    • إذا كان مسار الأمر argv (/usr/bin/policyd-spf) غير صحيح، فقم بتعديله.
  2. الخدمة والسجلات:

    • أعد تشغيل خدمة policyd-spf:
      systemctl restart policyd-spf
      
    • راجع سجلات policyd-spf الإضافية لتحديد المشكلات المحددة:
      journalctl -u policyd-spf
      
  3. تكوين Postfix:

    • تأكد من أن postfix يستخدم policyd-spf بشكل صحيح. في /etc/postfix/master.cf، تحقق من:
      smtp      inet  n       -       n       -       -       smtpd
      -o smtpd_recipient_restrictions=permit_mynetworks,reject_unauth_destination,check_policy_service=unix:private/policyd-spf
      
    • تحقق من أذونات الملفات لـ /etc/postfix ومسارات المقابس.
  4. اختبار SPF:

    • حاول التحقق يدويًا من سجل SPF باستخدام أدوات خارجية أو عبر سطر الأوامر (dig command):
      dig +short txt yourdomain.com
      
    • تأكد من صحة سجلات SPF الخاصة ببريدك الإلكتروني.
  5. اتصال المقبس:

    • تحقق مما إذا كان المقبس private/policyd-spf موجودًا ويمكن الوصول إليه:
      ls /var/spool/postfix/private/policyd-spf
      # اضبط الأذونات إذا كان الملف موجودًا:
      chown postfix:postfix /var/spool/postfix/private/policyd-spf
      chmod 770 /var/spool/postfix/private/policyd-spf
      
    • أعد ربط أو إنشاء ملف مقبس Unix إذا كان مفقودًا.
  6. أخطاء التكوين:

    • راجع المعلمات الافتراضية في /etc/policyd-spf/policyd-spf.conf، وتأكد من صحتها مقابل حالة الاستخدام الخاصة بك.
  7. إعادة تشغيل جميع الخدمات ذات الصلة:

    systemctl restart postfix
    systemctl restart policyd-spf
    

إذا استمرت مواجهة المشكلات بعد تغييرات التكوين، فتواصل مع مزود الاستضافة الخاص بك أو دعم Discourse للتأكد من صحة الخادم وإعدادات الاتصال الصحيحة. يمكنك أيضًا استكشاف المزيد من وثائق مشكلات SPF الخارجية أو منتديات مجتمع postfix/policyd.

وهذا رابط للرد من Perplexity.ai…

https://www.perplexity.ai/search/what-this-error-indicates-jan-fWurGemCTTezCPLfLNNSMg

لقد جربت ما بوسعي بناءً على هذه الردود، ولكن لا يبدو أن أي شيء يحل المشكلة. أعتقد أن أكثر ما سيكون مفيدًا هو أن يخبرني شخص ما بكيفية الحصول على محتويات تتبعات Python من policyd-spf في ملفات السجل. أي اقتراحات؟ هل هذا مجرد تضليل؟