2011-02-16 120 views

回答

12

沒有我知道的這個寶石。

實際上,由於處理問題,最好的方法是通過提供商的API使用外部批量電子郵件服務提供商。

但是,構建自己的通訊系統與構建常規MVC沒有什麼不同。只有添加是郵件程序和郵件程序視圖。 (1)因此,您創建了處理註冊數據(:名稱,電子郵件,等等)的模型以及處理新聞稿本身的模型。

(2)處理它的控制器(CRUD)+(:發送)。發送每個收件人,將數據發送到郵件程序創建電子郵件,然後發送它。 (3)郵件生成器建立一封電子郵件,如果你想要做這樣的事情並且將它返回給控制器動作發送以進行傳送,那麼在每封郵件中做一些改變。

class Newsletter < ActionMailer::Base 
    default :from => "[email protected]", :content_type => "multipart/mixed" 

    def newsletter_email(recipient, newsletter) 
    # these are instance variables for newsletter view 
    @newsletter = newsletter 
    @recipient = recipient 
    mail(:to => recipient.email, :subject => newsletter.subject) 
    end 
end 

(4)Ofc,你需要郵件程序的意見,就像常規意見。那麼在多有:

  • newsletter_email.html.erb(或HAML)
  • newsletter_email.txt.erb

    當你想發送HTML和純文本電子郵件。實例變量在c的郵件程序中定義。

而且就是這樣。那麼你可以使用延遲的工作來發送它們,因爲發送超過幾百封電子郵件可能需要一段時間。幾毫秒n可以是很多時間。

玩得開心。

+0

找到循環的替代方法: :to => Admin.all.map(&:email).join(「,」) – montrealmike 2011-02-16 18:56:56

0

沒有我知道的寶石,並基於@Krule的答案構建,這裏是在Rails中設置郵件的截屏視頻。

How to create, preview and send email from your rails app

我一直在尋找類似的東西,當我發現這一點。我想通過一些定製,它可以很容易地用來創建新聞郵件。

省錢!花別的地方。

相關問題