1
48時間以内にアクティベーションメールをアクティブにしないと、アクティベーションメールをユーザーに再送信したいと思います。私はいつでも宝石を使用しましたが、電子メールを送信していません。アクションメーラーは正常に動作してたときに、ユーザーがサインアップ schedule.rb宝石がメールを送信していないときはいつでも
set :environment, :development
every 1.minutes do
runner "user.resend_account_activation"
end
user_mailer.rb
def resend_account_activation
@user = User.where('activated = ?',false && 'activated_at < ?',48.hours.ago)
mail to: @user.email, subject: "You forgot to activate"
end
user.rb
def resend_account_activation
# @outdated_users = User.where('activated_at < ?',30.seconds.ago)
UserMailer.resend_account_activation.deliver_now!
end
メールを送信しても、
I私は48時間のクエリを変更した:nは私のCMD
# Begin Whenever generated tasks for: store
* * * * * /bin/bash -l -c 'cd /mnt/c/Sites/testApp && bin/rails runner -e production '\''user.resend_account_activation'\'''
# End Whenever generated tasks for: store
前に確認してください。 'User.where( 'activated =?'、false && 'activated_at <?'、48.hours.ago)' –