ruby-on-rails - Rails 5.2 Rake 任务不发送邮件(尽管内部邮件工作完美)
问题描述
我在 rake 任务中设置了以下邮件程序lib/tasks/scheduler.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
。
推荐阅读
- python - 如何检查输入字符串是否同时包含数字和字母?,*仅使用“if”或“while”作为其他函数的主要功能
- javascript - Google 的事件片段在富结果测试中仅显示一个事件
- c# - 无法弄清楚如何将此 JSON 反序列化为 C#
- algorithm - 如何找到二次函数的最优解
- c++ - 错误 - 在复制构造函数中在 0x7C0708F0 处引发异常并且无法运行程序
- android - Fragment 没有接收到 ViewModel 发送的通道事件
- php - 从 html 到 mySQL:提交按钮不起作用
- google-chrome - 如何在没有版本信息的情况下启动 Headless Chrome?
- reactjs - TypeError:null 不是对象(评估'_NativeStripeSdk.default.initialise'),同时在反应本机应用程序中集成条带
- spring - 防止页面重定向导致数据丢失,并且需要重新加载页面并使用表单中保留的旧数据以及在表单中输入新输入的选项