Посылать электронную почту в зависимости от даты

Я делаю маленькую повестку дня в Руби on Rails, в настоящее время использую UserMailer, чтобы посылать почту, но не нахожу способ посылать почту согласно дате моего созданного события.

Например, если я верю сегодня в событие в моей повестке дня в течение 3 дней, я хотел бы, чтобы он послал мне почту в день, которая начинает событие.

Кто-то будет знать, как условные заставлять функционировать в дате?

2
задан 11.10.2016, 20:16
3 ответа

Ты мог использовать cronjob с драгоценным камнем whenever Он мог бы проверять в каждый день, если у тебя есть почта, которую нужно посылать, guardardando, когда должна быть посланной почта в таблице, и job проверил бы, если существует какая-то почта, которую нужно посылать каждый день.

0
ответ дан 24.11.2019, 13:21

Ты можешь использовать метод deliver_later класса ActionMailer:: MessageDelivery

Например ты имеешь в/mailers/user_mailer.rb

class UserMailer < ApplicationMailer
  def welcome(user)
   ...
  end
end

Когда ты позвонишь в метод welcome, ты можешь показывать задержку, например в этом случае 3 дней

UserMailer.welcome(User.first).deliver_later(wait: 3.day)

Больше информации в api

0
ответ дан 24.11.2019, 13:21
  • 1
    podr и # 237; чтобы быть, но мои события не каждые 3 d и # 237; схвати, я думаю agendar события, за которыми нужно последовать, и # 237; an в течение 1 месяца, и я хочу q я сообщил сам себе d и # 237; в q событие я имею –  Angel Ac 29.09.2016, 17:34

Я рекомендую тебе использовать sidekiq, чтобы манипулировать твоими процессами в способе background, так ты избегаешь того, чтобы в твоем процессе отправления электронных почт терялся какой-либо (между другой функциональностью). Это может использовать это с sidetiq, который позволяет тебе agendar твою работу. Для больше informaciГіn.

типов Привета.

0
ответ дан 24.11.2019, 13:21

Теги

Похожие вопросы