Se hai accesso alla console Rails, puoi impostare allowed email domains su una stringa delimitata da barre verticali con un numero arbitrario di nomi host, quindi sembra fattibile.
Non sono sicuro del perché avresti bisogno di elaborazione numerica; questo può essere fatto con strumenti UNIX standard.
Questo ti dà l’elenco dei domini dall’elenco 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
Se lo salvassi come domains.txt, e supponendo che tu abbia un file con indirizzi email chiamato emails.txt, potresti ottenere il sottoinsieme di domini da consentire con questo:
grep -if domains.txt emails.txt |\
cut -d @ -f 2 |\
sort -u
Cioè, anche se l’elenco dei domini contiene solo tusculum.edu, un’email come some.student@mail.tusculum.edu restituirebbe mail.tusculum.edu che è il nome host che in realtà vuoi consentire, al contrario dell’apice.
Quindi si tratta solo di impostare una stringa delimitata da barre verticali contenente questi domini. Funziona per te?