Имя файла, которому вы пишете, не обязательно должно быть в вашем исходном дереве. Если у вас есть путь к файлу и правильные разрешения, вы сможете писать в любое место.
После проверки электронной почты вы можете сделать что-то простое:
File.open("/home/path/or/something/emails.txt", 'a') {|f| f.write("#{email}\n") }
С точки зрения того, стоит ли хранить его в текстовом файле, если он работает для вас, почему бы и нет? Вы можете использовать базу данных, но это требует больше усилий, чем нужно для хранения списка электронных писем.