لقد لاحظنا في عدد قليل من المنتديات التي تستخدم Discourse لـ نسخ قائمة بريدية عامة أن بعض المشاركات تُنسب إلى المستخدم الخطأ:
من: [ruby-talk:444110] exif - photo metadata - ruby-talk - Ruby Mailing List Mirror
في هذه الحالة، قام Discourse أولاً بإنشاء مستخدم بالاسم “Austin Ziegler via ruby-talk” بعنوان بريد إلكتروني مطابق لعنوان إرسال القائمة، وهذا ما يظهر لكل المشاركات كهذه.
من: https://community.nanog.org/t/txt-att-net-outage/56955/4
في هذه الحالة، قام Discourse أولاً بإنشاء مستخدم بالاسم “Mailman” بعنوان بريد إلكتروني مطابق لعنوان إرسال القائمة.
بعد التحقيق، فإن تحليل البريد الخاص بنا غير صحيح في بعض الأحيان. السبب هو أنه للامتثال لـ DMARC، سيقوم Mailman في بعض الأحيان بتغيير رأس “From” إلى نفسه ووضع المرسل الأصلي في “reply-to”:
To: Ryan Davis via ruby-talk
X-MailFrom: tom@tomsdomain.com
X-Mailman-Version: 3.3.3
Reply-To: Ruby users <ruby-talk@ml.ruby-lang.org>
From: Tom Reilly via ruby-talk <ruby-talk@ml.ruby-lang.org>
Cc: Tom Reilly <tom@tomsdomain.com>
To: Jared Mauch <jared@jaredsdomain.com>
X-BeenThere: nanog@nanog.org
X-Mailman-Version: 2.1.39
From: Owen DeLong via NANOG <nanog@nanog.org>
Reply-To: Owen DeLong <owen@owensdomain.com>
Cc: nanog <nanog@nanog.org>
ولكنه يتركه عندما لا يحتاج إلى التغيير:
To: Jon Lewis <jlwis@jonsdomain.org>
X-BeenThere: nanog@nanog.org
X-Mailman-Version: 2.1.39
From: William Herrin <bill@billsdomain.us>
Cc: nanog@nanog.org
يبدو أن هناك العديد من الخيارات المختلفة للسلوك هنا، لذلك نود التوصل إلى خوارزمية لتحليل ما يرسله Mailman بشكل صحيح في كل حالة.
هناك خيارات أخرى محتملة، على سبيل المثال، يمكن لـ Mailman نشر الرسالة غير المعدلة مباشرة إلى مثيل Discourse، ولكن هذه أكثر تعقيدًا في الإعداد وقد لا تكون متاحة للجميع.
إليك بداية واحدة:
- إذا كان إصدار mailman < 3
- إذا كان أي من:
- عنوان From يطابق List-Id
- عنوان From يطابق List-Post
- عنوان From يطابق X-BeenThere
- فاستخدم Reply-To كـ From
- إذا كان أي من:
- إذا كان إصدار mailman >= 3
- إذا كان X-MailFrom موجودًا
- استخدم الاسم من رأس From، مع تجريد
/via .*/ - استخدم البريد الإلكتروني من X-MailFrom
- استخدم الاسم من رأس From، مع تجريد
- إذا كان X-MailFrom موجودًا
أيضًا، عندما ينتهي كل هذا، هل من الممكن وجود مهمة rake لإعادة معالجة المشاركات الحالية (ربما فقط تلك التي تطابق المستخدم الخاطئ) بهذا المنطق الجديد؟

