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라고 가정하면, 다음 명령어로 허용 목록(allowlist)에 추가할 도메인의 부분 집합을 얻을 수 있습니다:
grep -if domains.txt emails.txt |
cut -d @ -f 2 |
sort -u
즉, 도메인 목록에 tusculum.edu만 포함되어 있더라도, some.student@mail.tusculum.edu와 같은 이메일은 실제로 허용 목록에 추가하려는 호스트명인 mail.tusculum.edu를 생성하게 되며, 이는 어펙스 도메인(apex domain)과는 다릅니다.
그あとは 단순히 이 도메인을 포함하는 파이프 구분 문자열을 설정하는 일만 남습니다. 이 방법으로 괜찮으신가요?