【问题标题】:Rails 5.2 Rake Task Not Sending Mailer (Despite inner mailer working perfectly)Rails 5.2 Rake 任务不发送邮件(尽管内部邮件工作完美)
【发布时间】:2019-02-14 08:42:10
【问题描述】:

我在lib/tasks/scheduler.rake 的 rake 任务中设置了以下邮件:

  desc "Send capsule reminder emails"
  task send_capsule_reminders: :environment do
    require 'time'
    t = Time.now.in_time_zone("Pacific Time (US & Canada)").next_day
    month = t.month
    day = t.day
    Capsule.all.each do |capsule|
      if month == capsule.capsule_date.month && day == capsule.capsule_date.day && capsule.active && capsule.reminder_email
        NewCapsuleReminderMailer.send_capsule_reminder_email(capsule).deliver
      end
    end
  end

我已经从控制台测试了NewCapsuleReminderMailer.send_capsule_reminder_email(capsule).deliver,它可以正确发送邮件。

我检查了month == capsule.capsule_date.monthday == capsule.capsule_datecapsule.active 也是 truecapsule.reminder_email

但是,当我运行 rake send_capsule_reminders 时,什么也没有发生。

谁能帮我弄清楚为什么这没有发送以及如何解决它?

【问题讨论】:

    标签: ruby-on-rails rake actionmailer rake-task


    【解决方案1】:

    我认为NewCapsuleReminderMailer.send_capsule_reminder_email(capsule).deliver 应该是NewCapsuleReminderMailer.send_capsule_reminder_email(capsule).deliver_now

    https://guides.rubyonrails.org/action_mailer_basics.html

    【讨论】:

    • 这么简单的改变!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多