2014-11-24 91 views
1
使用Send电网

语境:群发电子邮件中轨

我需要使用一个Rails应用程序发送网发送大量的电子邮件。 我会发送电子邮件给约300名订户。 我已经读过,它可以使用

headers["X-SMTPAPI"] = { :to => array_of_recipients }.to_json 

我试过下面的。

以下是我的ActionMailer:

class NewJobMailer < ActionMailer::Base 
    default from: "[email protected]" 

    def new_job_post(subscribers) 
    @greeting = "Hi" 
    headers['X-SMTPAPI'] = { :to => subscribers.to_a }.to_json 
    mail(
    :to => "[email protected]", 
    :subject => "New Job Posted!" 
    ) 

    end 

end 

我把这个邮件方法从控制器

.. 
    @subscribers = Subscriber.where(activated: true) 
    NewJobMailer.new_job_post(@subscribers).deliver 
.. 

用于发送格的配置在config/production.rb文件中指定,并正确,因为我能够发送帐户激活电子邮件。

问题:

的应用程序工作正常,而不会有任何崩溃,但邮件没有被发送出去。 我猜测头配置没有被传递? 我该如何解决这个问题?

UPDATE:

我在发电网仪表板检查电子邮件活动。 这里是下降的电子邮件的一个快照: enter image description here

回答

4

你抓住的ActiveRecord对象的数组与

@subscribers = Subscriber.where(activated: true) 

,并传递一个进入smtpapi头。您需要提取这些ActiveRecord对象的电子邮件地址。

根据你叫email场,这可以用

headers['X-SMTPAPI'] = { :to => subscribers.map(&:email) }.to_json 
完成