Si vous avez accès à la console Rails, vous pouvez définir allowed email domains sur une chaîne délimitée par des barres verticales avec un nombre arbitraire de noms d’hôte, donc cela semble réalisable.
Je ne suis pas sûr de pourquoi vous auriez besoin de traitement numérique ; cela peut être fait avec des outils UNIX standard.
Ceci vous donne la liste des domaines de la liste 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
Si vous enregistrez cela sous domains.txt, et en supposant que vous ayez un fichier avec des adresses e-mail nommé emails.txt, vous pourriez obtenir le sous-ensemble de domaines à autoriser avec ceci :
grep -if domains.txt emails.txt |\
cut -d @ -f 2 |\
sort -u
C’est-à-dire que même si la liste de domaines ne contient que tusculum.edu, un e-mail comme some.student@mail.tusculum.edu donnerait mail.tusculum.edu, qui est le nom d’hôte que vous voulez réellement autoriser, par opposition à l’apex.
Ensuite, il suffit de définir une chaîne délimitée par des barres verticales contenant ces domaines. Est-ce que cela vous convient ?