2012-11-28 154 views
0

我想通过mailchimp发送电子邮件通知。通过mailchimp api发送通知邮件

我读的doc和我写了一些代码,所以我用api.lists获取列表:

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) 
$LOAD_PATH.unshift(File.dirname(__FILE__)) 
require 'mailchimp' 
@options = ["list_id" => "$list_id", "subject" => "test subject", "from_name" => "test name", "from_email" => "[email protected]"] 
@content = ["html" => "<p> test content </p>"] 
@type = 'regular' 
@title = 'Test Newsletter Title'   
api = Mailchimp::API.new("key") 
puts "Your lists:" 
api.lists['data'].each do |list| 
    puts "\t #{list['name']}" 
end 

campaignCreate: 我创建了一个活动是这样的:

api.campaignCreate(@type, @title, @content) 

当我通过使用上面创建一个广告系列,然后我得到以下错误:wrong number of arguments (4 for 2)

我想发送通知邮件。我怎样才能做到这一点?

回答

0

我做到了,用这个

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) 
$LOAD_PATH.unshift(File.dirname(__FILE__)) 
require 'mailchimp' 
api = Mailchimp::API.new("api-key") 
@content = {"html"=>"<p> test content </p>","text"=> "test"} 
api.lists['data'].each do |list| 
    @options = {"list_id"=> list['id'], "subject"=>"test subject", "from_name"=>"test name", "from_email"=>"[email protected]", "template_id" => "xxxx"} 
    campaign = api.campaignCreate({"type"=>"regular", "options" => @options, "content"=> @content}) 
    api.campaignSendNow({"cid" => campaign}) 
end