تهيئة البريد الإلكتروني الوارد بالتسليم المباشر للمواقع المستضافة ذاتيًا باستخدام Mail-Receiver

كيف يمكن تعطيل دعم DMARC بالضبط؟

أي، إضافة INCLUDE_DMARC: false إلى قسم env في mail-receiver.yml لا يبدو أنه يقوم بذلك. هذا يبدو أنه يتسبب في عدم تشغيل عمليتي opendkim و opendmarc (مما يؤدي إلى تحذير في السجلات)، ولكن لا يزال يتم إجراء فحص SPF.

تم التعديل للإضافة:
أعتقد أنني تمكنت من تعطيل فحوصات SPF عن طريق إضافة سطر POSTCONF_ التالي أيضًا إلى قسم env:

env:
  ...
  INCLUDE_DMARC: false
  POSTCONF_smtpd_recipient_restrictions: check_policy_service unix:private/policy
  ...

حصلت على هذا من خلال النظر إلى الالتزام الذي قدم فحوصات DMARC، ورؤية ما يجب أن يحدث عندما يكون INCLUDE_DMARC خاطئًا.

لا أعرف شيئًا تقريبًا عن كيفية بناء صور docker، ولكني أصبحت أدرك أن علامة INCLUDE_DMARC هي شيء مخصص ليتم تعيينه بواسطة شخص آخر، في مكان آخر، في وقت آخر — وليس شيئًا يمكن القيام به في mail-receiver.yml.

إعجابَين (2)

لقد وجدت الحاجة إلى فتح المنفذ 443 على ufw — وإلا حصلت على API Request Preparation Failed في logs. أعتقد أنه من الأفضل ذكر ذلك لأن تعليمات التثبيت القياسية تذكر تمكين ufw.

يتم ذكر المنفذ 25 في mail-receiver.yml ويبدو أنه يتجاوز ufw.

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

هل يجب أن يكون مستودع GitHub في OP؟

3 إعجابات

مستخدمو مستقبِل البريد، يرجى الاطلاع على Remove smtp_should_reject & discourse-smtp-fast-rejection

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

كما أنه يؤثر على البريد المُعاد توجيهه لأن اختبار ما قبل التسليم كان يتحقق من envelope-from و envelope-to، بينما يستخدم Discourse القيم الموجودة في الرؤوس فقط.

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

لقد أرسلت للتو طلب سحب لإزالة علامات الاقتباس غير الضرورية حول قيمة DISCOURSE_BASE_URL في ملف العينة mail-receiver.yml. كانت علامات الاقتباس هذه تعطل الإعداد الخاص بي. التخلص من علامات الاقتباس يسمح بالإكمال الناجح لهذه الوثيقة.

هل يمكنك شرح كيف؟ وجود/عدم وجود علامات اقتباس حول هذه القيمة لا ينتج عنه أي فرق:

[2] pry(main)=> YAML::load("env:\n  DISCOURSE_BASE_URL: 'https://discourse.example.com'")
=> {"env"=>{"DISCOURSE_BASE_URL"=>"https://discourse.example.com"}}

[3] pry(main)=> YAML::load("env:\n  DISCOURSE_BASE_URL: https://discourse.example.com")
=> {"env"=>{"DISCOURSE_BASE_URL"=>"https://discourse.example.com"}}

عندما كنت أتابع سجلات تلك الحاوية وأرسل رسائل إليها، كنت أرى الكثير من الأخطاء التي تذكر شيئًا مثل discourse.example.com is not part of MX records أو ما شابه. أزلت علامات الاقتباس، وأعدت بناء الحاوية، وبدأ العمل :person_shrugging:

قد تكون لتسلسل الأحداث أهمية أيضًا:

  1. قمت بتهيئة وتشغيل حاوية استقبال البريد (mail-receiver container)
  2. بعد بضعة أيام، قمت بإعداد سجلات MX DNS
  3. تحققت من أن سجلات MX تم تعيينها بشكل صحيح ثم بدأت الاختبار. لم يكن الأمر يعمل
  4. أزلت علامات الاقتباس، وأعدت بناء الحاوية، وبدأ العمل

لذا، لست متأكدًا مما إذا كان الحل متعلقًا بإزالة علامات الاقتباس، أو إعادة بناء الحاوية بعد إنشاء سجلات MX.

في أسوأ الأحوال، تجعل طلب السحب (PR) ملف yml متسقًا :slight_smile:

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