amazon-ses 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -1,8 +1,55 @@
1
- How to use:
1
+ =amazon-ses
2
+ A gem for interfacing with Amazon's Simple Email Service
2
3
 
3
- options = {:from => 'email@gmail.com', :to => 'email@gmail.com', :subject => 'Testing', :body => 'THis is a test', :aws_access_key => 'your acess key', :aws_secret_key => 'your secret key'}
4
+ ==Features:
5
+ Currently you can:
6
+ * Send a basic raw text email.
7
+ * Send email with a .erb template
4
8
 
5
- e = AmazonEmail.new(options)
6
9
 
7
- e.send
10
+ ==Prerequisite
8
11
 
12
+ 1. First, make sure you validate the email that you are going to use in the "from" section of the email.
13
+
14
+ http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/
15
+
16
+ ==How does it work:
17
+
18
+ 1. Build email:
19
+
20
+ * Raw email without a .erb template:
21
+ You can achieve this by NOT specifying a :template in your options:
22
+
23
+ options = {
24
+ :from => 'email@gmail.com',
25
+ :to => 'email@gmail.com',
26
+ :subject => 'Testing',
27
+ :body => 'THis is a test',
28
+ :aws_access_key => 'your acess key',
29
+ :aws_secret_key => 'your secret key'
30
+ }
31
+
32
+ e = AmazonEmail.new(options)
33
+
34
+ * Email that will use a .erb template:
35
+ You can achieve this by specifying the location of you .erb file in the :template option:
36
+
37
+ options_2 = {
38
+ :from => 'from@email.com',
39
+ :to => 'to@email.com',
40
+ :subject => 'This is the subject of the email',
41
+ :aws_access_key => "access_key_id",
42
+ :aws_secret_key => "secret_access_key",
43
+ :template => File.new("sample_email.erb").read
44
+ }
45
+
46
+ e = AmazonEmail.new(options_2)
47
+
48
+ 2. Send it
49
+
50
+ e.send
51
+
52
+
53
+ == Install:
54
+
55
+ * sudo gem install amazon-ses
@@ -1,10 +1,10 @@
1
1
  require 'rubygems'
2
2
  require 'net/https'
3
3
  require 'uri'
4
- require 'rest-client'
5
4
  require 'openssl'
6
5
  require 'base64'
6
+ require 'erb'
7
7
  require 'amazon_url_generator'
8
8
  require 'amazon_authentication'
9
9
  require 'amazon_deliver'
10
- require 'amazon_email'
10
+ require 'amazon_email'
@@ -1,7 +1,3 @@
1
- require 'rubygems'
2
- require 'openssl'
3
- require 'base64'
4
-
5
1
  module AmazonAuthentication
6
2
  DIGEST = OpenSSL::Digest::Digest.new('sha1')
7
3
 
@@ -1,8 +1,3 @@
1
- require 'rubygems'
2
- require 'net/https'
3
- require 'amazon_authentication'
4
- require 'amazon_url_generator'
5
-
6
1
  module AmazonDeliver
7
2
 
8
3
  def self.get(amazon_email)
@@ -1,23 +1,26 @@
1
- require 'rubygems'
2
- require 'amazon_url_generator'
3
- require 'amazon_authentication'
4
- require 'amazon_deliver'
5
-
6
1
  class AmazonEmail
7
2
  include AmazonDeliver
8
3
 
9
- attr_accessor :from, :to, :subject, :body, :aws_access_key, :aws_secret_key
4
+ attr_accessor :from, :to, :subject, :body, :template, :aws_access_key, :aws_secret_key
10
5
 
11
6
  def initialize(options)
12
7
  @from = options[:from]
13
8
  @to = options[:to]
14
- @subject = options[:subject] || "Hello"
15
- @body = options[:body] || "I don't know why someone would send you a empty email but they did"
9
+ @subject = options[:subject]
10
+ @body = options[:body]
11
+ @template = options[:template]
16
12
  @aws_access_key = options[:aws_access_key] || ENV['AWS_ACCESS_KEY']
17
- @aws_secret_key = options[:aws_secret_key] || ENV['AWS_SECRET_KEY']
13
+ @aws_secret_key = options[:aws_secret_key] || ENV['AWS_SECRET_KEY']
18
14
  end
15
+
16
+ def get_binding
17
+ binding
18
+ end
19
19
 
20
20
  def send
21
+ if self.template
22
+ self.body = ERB.new(self.template).result(self.get_binding)
23
+ end
21
24
  AmazonDeliver.get(self)
22
25
  end
23
26
 
@@ -1,6 +1,3 @@
1
- require 'rubygems'
2
- require 'uri'
3
-
4
1
  module AmazonUrlGenerator
5
2
  def self.create_query(from, to, subject, body)
6
3
  "/?Action=SendEmail&Source=#{URI.escape(from, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))}&Destination.ToAddresses.member.1=#{URI.escape(to, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))}&Message.Subject.Data=#{URI.escape(subject, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))}&Message.Body.Text.Data=#{URI.escape(body, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))}"
metadata CHANGED
@@ -1,21 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amazon-ses
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
- - Guille Carloss
13
+ - Guille Carlos
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-26 00:00:00 -05:00
18
+ date: 2011-02-05 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies: []
21
21