簡體   English   中英

向所有用戶發送電子郵件

[英]Send email to all users in rails

我正在嘗試創建一種方法,該方法在被調用時向所有用戶發送電子郵件。

我的最終目標是通過調度程序調用此方法(我已經使調度程序工作了),如果滿足某些先決條件,該方法將考慮所有用戶並向其中的一些人發送電子郵件。

現在,我只想學習如何制作最簡單的東西,即向表中的每個用戶發送自定義電子郵件。

我的第一個問題是:

  def send_digest
    @users = User.all
    @users.each do |user|
      @time  = Time.now
      mail(to: user.email, subject: user.name)
    end
  end

此方法(位於app / mailer / user_mailer.rb中)僅向表中ID最大的人發送一封電子郵件。 為什么?

另外,我需要做什么來訪問電子郵件中的變量“ user.name”?

編輯:比做@user = user更好的方法來訪問郵件正文中的用戶變量?

  def send_digest(user)
    @time  = Time.now
    @user = user
    mail(to: user.email, subject: 'mail message')
  end

每次致電mailer方法,都會發送一封電子郵件

在計划的工人中

def calling_method
   @users.each do |user|
     send_digest(user.email, user.name)
   end
end

在用戶郵件中

def send_digest(user_email, user_name)
   mail(to: user_email, subject: user_name)
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM