إضافة جماعية لنطاقات البريد الإلكتروني للموافقة التلقائية

إذا كان لديك وصول إلى وحدة تحكم Rails، فيمكنك تعيين allowed email domains إلى سلسلة مفصولة بعلامة الأنبوب تحتوي على أي عدد تعسفي من أسماء المضيفين، لذا يبدو أن هذا قابل للتطبيق.

لست متأكدًا من سبب حاجتك إلى معالجة رقمية؛ يمكن القيام بذلك باستخدام أدوات UNIX القياسية.

هذا يعطيك قائمة النطاقات من قائمة Hipo:

curl -L 'https://github.com/Hipo/university-domains-list/blob/master/world_universities_and_domains.json?raw=true' |\
  jq '.[].domains' |\
  jq -r add |\
  sort -u

إذا قمت بحفظ ذلك باسم domains.txt، وبافتراض أن لديك ملفًا بعناوين البريد الإلكتروني باسم emails.txt، فيمكنك الحصول على مجموعة فرعية من النطاقات للسماح بها باستخدام هذا:

grep -if domains.txt emails.txt |\
  cut -d @ -f 2 |\
  sort -u

هذا، حتى لو كانت قائمة النطاقات تحتوي فقط على tusculum.edu، فإن بريدًا إلكترونيًا مثل some.student@mail.tusculum.edu سينتج mail.tusculum.edu وهو اسم المضيف الذي تريد فعليًا السماح به، بدلاً من القمة.

ثم الأمر مجرد مسألة تعيين سلسلة مفصولة بعلامة الأنبوب تحتوي على هذه النطاقات. هل هذا يعمل معك؟