![](/img/trans.png)
[英]rails 3 + devise: how to modify the mailer method for confirmation emails to add user's second email address
[英]Rails: How to add a newly created user's email address to MailChimp?
對於上下文,我正在使用Ruby on Rails開發一個Web應用程序,我使用MailChimp來處理電子郵件活動。
給定名為User的ActiveRecord模型,其屬性名為email,在成功創建新用戶后,如何將用戶的電子郵件發送到MailChimp列表?
將官方mailchimp-api
gem添加到您的Gemfile:
gem 'mailchimp-api', require: 'mailchimp'
然后運行:
bundle install
在User模型中使用after_create
掛鈎將訂閱者發送到MailChimp:
class User < ActiveRecord::Base
after_create :add_mailchimp_subscriber
def add_mailchimp_subscriber
client = Mailchimp::API.new('<your mailchimp api key>')
client.lists.subscribe('<your mailchimp list id>', {email: email}, {'FNAME' => first_name, 'LNAME' => last_name})
end
end
這是將訂戶添加到MailChimp所需的最小值。 您可能希望將add_mailchimp_subscriber邏輯移動到它自己的類或將作業排隊以異步運行它。 您還應該添加一些錯誤處理。 client.lists.subscribe
方法將引發特定於問題的錯誤。 例如,如果您指定的MailChimp列表ID無效,您將獲得Mailchimp::ListDoesNotExistError
。
你可以在這里找到官方的寶石和文檔:
您可以使用Mailchimp API來管理列表訂閱者: http ://apidocs.mailchimp.com/api/2.0/lists/subscribe.php
有幾種紅寶石包裝易於在鐵軌中使用: http : //apidocs.mailchimp.com/api/downloads/#ruby-rails
因此,在模型更改上添加一些操作的常用方法是使用Active Records回調。 所以你的代碼可能看起來像這樣
class User < ActiveRecord::Base
after_create :add_subscriber_to_list
private
def add_subscriber_to_list
# Logic to add subscriber to list via Mailchimp API ruby wrapper
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.