我有一个发送电子邮件通知的应用程序 . 一些用户提到他们没有收到通知 .
NotificationMailer.rb:
def send_daily_digest(user_id)
@user = User.find(user_id)
mail(to: @user.email, subject: "#{@jobs.count} new jobs yesterday")
mail(to: "myadminemail@gmail.com", subject: "TEST #{@jobs.count} new jobs yesterday for #{@user.email}")
end
我的电子邮件是myadminemail@gmail.com,我收到了电子邮件 . 我检查了Mailgun日志,并且没有发送其他(非管理员)电子邮件 .
可能是什么导致了这个?
编辑:我刚刚做了以下更改:
def send_daily_digest(user_id)
@user = User.find(user_id)
@recipients = []
@recipients << @user.email
@recipients << myadminemail@gmail.com
mail(to: @recipients, subject: "#{@jobs.count} new jobs yesterday")
end
正确地进行更改会将电子邮件发送给两个收件人 . 所以也许它与不被允许有两个单独的mail_to动作有关?
我现在的问题是这两个收件人都是电子邮件的CC . 我希望电子邮件是独立的,并指向每个用户 . 我怎样才能做到这一点?
2 回答
/config/environments/development.rb
根据Rails Docs about ActionMailer,mail方法是创建消息并呈现电子邮件模板的主要方法 .
这意味着等同于ActionController#render,所以它可能只是将邮件发送到mail方法调用的最后一个收件人 .
所以也许你应该做的是将交付逻辑移动到控制邮件程序的对象 .
例如,我称这些对象为调度程序 .