1) Sign into AWS account
2) Get your Account Security key, and secret key
3) add to bundle : gem ‘aws-ses’, :require => ‘aws/ses’
4) you are going to need to know that you are sandboxed - this means you can only send to - and send from emails that you verify.
here is a quick bit of code that you can drop in your rails ./script dir to verify emails and test the basics of the gem
- Begin file -
#!/usr/bin/env ruby
require File.expand_path('../../config/boot', __FILE__)
require 'aws/ses'
class SesTool
attr_reader :ses
def initialize
@ses = AWS::SES::Base.new(
:access_key_id => 'KEY_HERE',
:secret_access_key => 'SECRET_HERE')
end
def addresses_act(name,email)
self.ses.addresses.send(name,email) unless email.blank?
end
def send_to(email,message)
self.ses.send_email( :to => [email],
:source => addresses_list.first,
:subject => 'Subject Line',
:text_body => %%
Stuff from ses_email\n
#{message.inspect}
%)
end
def addresses_list
self.ses.addresses.list.result
end
def run(opts)
opts = opts.dup
case opts.shift
when 'send' then
puts 'send'
send_to(opts.shift,opts)
when 'list' then
puts 'list'
p addresses_list
when 'verify' then
addresses_act('verify',opts.shift)
when 'delete' then
addresses_act('delete',opts.shift)
else
puts 'nope'
end
end
end
SesTool.new.run(ARGV)
- End File -
Examples
ruby ses_email verify my_email@my_host.com ruby ses_email verify my_email_2@my_host.com # check your email and click the verify for both ruby ses_email send my_email_2@my_host.com this is a message ! # done