如果您可以访问 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,这是您实际想要列入白名单的主机名,而不是根域名。
然后,只需设置一个包含这些域名的管道分隔字符串即可。这对您有用吗?