Created
January 21, 2014 09:01
-
-
Save huemorgan/8536656 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace :email do | |
namespace :al do | |
desc "send emails to leads" | |
task :send => :environment do |t, args| | |
require 'mandrill' | |
leads = AlLead.where("email1_try_ok is null and | |
email2_try_ok is null and | |
email3_try_ok is null and | |
email4_try_ok is null | |
") | |
puts("sending to #{leads.count} Leads") | |
leads.each_with_index do |lead,index| | |
res = contact_lead_sus(lead) if index < 200 | |
break if res == "queued" | |
end | |
# lead = AlLead.new() | |
# lead.name = "roy man" | |
# lead.user_id = 123456 | |
# lead.id = 666 | |
# lead.email1_try = "[email protected]" | |
# contact_lead(lead) | |
end | |
end | |
end | |
def contact_lead_sus(lead) | |
fields = ["email1","email3","email4"] | |
fields.each do |field| | |
if lead["#{field}_try"] != "" && lead["#{field}_try"] != nil && bump_email(lead["#{field}_try"]) == false | |
ret = send_email_sus(lead,lead["#{field}_try"]) | |
puts(ret.inspect) | |
return "queued" if ret[0]["status"] == "queued" | |
if (ret[0]["status"] == "sent") | |
lead["#{field}_sent"] = 1 | |
lead["#{field}_try_ok"] = 1 | |
puts("YEY") | |
else | |
lead["#{field}_try_ok"] = 0 | |
puts("NAY") | |
end | |
lead.save | |
send_email_sus(lead,"#{lead.first_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.last_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.first_name}.#{lead.last_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.last_name}.#{lead.first_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.first_name}.#{lead.first_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.last_name}.#{lead.last_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.first_name}[email protected]") | |
send_email_sus(lead,"#{lead.last_name}[email protected]") | |
send_email_sus(lead,"#{lead.first_name}4.#{lead.last_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.last_name}5.#{lead.first_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.first_name}6.#{lead.first_name}@dapulse.com") | |
send_email_sus(lead,"#{lead.last_name}7.#{lead.last_name}@dapulse.com") | |
end | |
end | |
return "" | |
end | |
def bump_email(email) | |
return true if email.nil? || !email.index("angel").nil? | |
return false | |
end | |
def send_email_sus(lead,email) | |
begin | |
puts("EMAILING SUS") | |
# mandrill = Mandrill::API.new '5nj2fNgoRB0bXuFp4qRUgw' #old reduced credibility | |
mandrill = Mandrill::API.new 'Jgl0TgFU5ProQxbkgtL_1Q' #[email protected] | |
message = {"metadata"=>{"website"=>"www.sus.io"}, | |
"global_merge_vars"=>[{"name"=>"merge1", "content"=>"merge1 content"}], | |
"merge"=>true, | |
"signing_domain"=>nil, | |
"inline_css"=>nil, | |
"from_name"=>"[email protected]", | |
"url_strip_qs"=>nil, | |
"html"=>" | |
Hi.<br/> | |
<br/> | |
I created a project called Startups-Using-Startups, <a href=\"http://sus.io\">http://sus.io</a><br/> | |
Our mission is to list all the cool WEB-APPS used in startups so new startups will know what to use. <br/> | |
<br/> | |
As a cool startup founder,<br/> | |
I'd appriciate it if you could add the list of webapps you use (takes 2 min for the whole stack).<br/> | |
You'll get a page for your company's list shown to other startups + SEO & good karma :) <br/> | |
<br/> | |
Would love to get your feedback<br/> | |
<br/> | |
Rozy<br/> | |
<a href=\"http://sus.io\">http://sus.io</a><br/> | |
", | |
"merge_vars"=> | |
[{"vars"=>[{"name"=>"merge2", "content"=>"merge2 content"}], | |
"rcpt"=>"#{email}"}], | |
"return_path_domain"=>nil, | |
"tags"=>["password-resets"], | |
"tracking_domain"=>nil, | |
"track_opens"=>nil, | |
"to"=> | |
[{"type"=>"to", | |
"name"=>"#{lead.name}", | |
"email"=>"#{email}"}], | |
"recipient_metadata"=> | |
[{"values"=>{"user_id"=>lead.id}, "rcpt"=>"#{email}"}], | |
"google_analytics_campaign"=>"[email protected]", | |
"google_analytics_domains"=>["sus.io"], | |
"preserve_recipients"=>nil, | |
"from_email"=>"[email protected]", | |
"view_content_link"=>nil, | |
"auto_text"=>nil, | |
"subject"=>"Hi #{lead.first_name},I just saw your impressive Angle List profile.", | |
"auto_html"=>nil, | |
"headers"=>{"Reply-To"=>"[email protected]"}, | |
"important"=>false, | |
"text"=>" | |
Hi. | |
I created a project called Startups-Using-Startups, http://sus.io | |
Our mission is to list all the cool WEB-APPS used in startups so new startups will know what to use. | |
As a cool startup founder, | |
I'd appriciate it if you could add the list of webapps you use (takes 2 min for the whole stack). | |
You'll get a page for your company's list shown to other startups + SEO & good karma :) | |
Would love to get your feedback | |
Rozy | |
http://sus.io | |
", | |
"track_clicks"=>true} | |
async = false | |
ip_pool = "Main Pool" | |
result = mandrill.messages.send message, async, ip_pool | |
# [{"status"=>"sent", | |
# "reject_reason"=>"hard-bounce", | |
# "_id"=>"abc123abc123abc123abc123abc123", | |
# "email"=>"[email protected]"}] | |
return result | |
rescue Mandrill::Error => e | |
# Mandrill errors are thrown as exceptions | |
puts "A mandrill error occurred: #{e.class} - #{e.message}" | |
return false | |
# A mandrill error occurred: Mandrill::UnknownSubaccountError - No subaccount exists with the id 'customer-123' | |
raise | |
end | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment