Rails 5.2 Rake 任务不发送邮件(尽管内部邮件运行良好)
Rails 5.2 Rake Task Not Sending Mailer (Despite inner mailer working perfectly)
我在 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.month
和 day == capsule.capsule_date
。另外 capsule.active
是 true
和 capsule.reminder_email
.
然而,当我运行rake send_capsule_reminders
什么都没有发生。
谁能帮我弄清楚为什么没有发送以及如何解决它?
我认为 NewCapsuleReminderMailer.send_capsule_reminder_email(capsule).deliver
应该是 NewCapsuleReminderMailer.send_capsule_reminder_email(capsule).deliver_now
。
我在 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.month
和 day == capsule.capsule_date
。另外 capsule.active
是 true
和 capsule.reminder_email
.
然而,当我运行rake send_capsule_reminders
什么都没有发生。
谁能帮我弄清楚为什么没有发送以及如何解决它?
我认为 NewCapsuleReminderMailer.send_capsule_reminder_email(capsule).deliver
应该是 NewCapsuleReminderMailer.send_capsule_reminder_email(capsule).deliver_now
。