Вам нужен какой-то драгоценный камень для выполнения заданий cron, например всякий раз, когда .Или просто используйте обычный linux cron для непосредственного запуска вашего скрипта, а затем запрограммируйте его на запуск каждый день.
А затем скрипт, чтобы проверить, когда пользователи зарегистрировались:
User.where(sent_email: false).each do |user|
if user.registered_date + 3.months < Time.now
#send email
user.update(sent_email:true)
end
end