Class: Fog::AWS::SES::Real
- Inherits:
-
Object
- Object
- Fog::AWS::SES::Real
- Defined in:
- lib/fog/aws/ses.rb,
lib/fog/aws/requests/ses/send_email.rb,
lib/fog/aws/requests/ses/get_send_quota.rb,
lib/fog/aws/requests/ses/send_raw_email.rb,
lib/fog/aws/requests/ses/get_send_statistics.rb,
lib/fog/aws/requests/ses/verify_email_address.rb,
lib/fog/aws/requests/ses/delete_verified_email_address.rb,
lib/fog/aws/requests/ses/list_verified_email_addresses.rb
Instance Method Summary collapse
-
#delete_verified_email_address(email_address) ⇒ Object
Delete an existing verified email address.
-
#get_send_quota ⇒ Object
Returns the user’s current activity limits.
-
#get_send_statistics ⇒ Object
Returns the user’s current activity limits.
-
#initialize(options = {}) ⇒ Real
constructor
Initialize connection to SES.
-
#list_verified_email_addresses ⇒ Object
Returns a list containing all of the email addresses that have been verified.
- #reload ⇒ Object
-
#send_email(source, destination, message, options = {}) ⇒ Object
Send an email.
-
#send_raw_email(raw_message, options = {}) ⇒ Object
Send a raw email.
-
#verify_email_address(email_address) ⇒ Object
Verifies an email address.
Constructor Details
#initialize(options = {}) ⇒ Real
Initialize connection to SES
Notes
options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection
Examples
ses = SES.new(
:aws_access_key_id => your_aws_access_key_id,
:aws_secret_access_key => your_aws_secret_access_key
)
Parameters
-
options<~Hash> - config arguments for connection. Defaults to {}.
-
region<~String> - optional region to use, in [‘eu-west-1’, ‘us-east-1’, ‘us-west-1’i, ‘ap-southeast-1’]
-
Returns
-
SES object with connection to AWS.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/fog/aws/ses.rb', line 44 def initialize(={}) require 'fog/core/parser' @aws_access_key_id = [:aws_access_key_id] @aws_secret_access_key = [:aws_secret_access_key] @hmac = Fog::HMAC.new('sha256', @aws_secret_access_key) [:region] ||= 'us-east-1' @host = [:host] || case [:region] when 'us-east-1' 'email.us-east-1.amazonaws.com' else raise ArgumentError, "Unknown region: #{[:region].inspect}" end @path = [:path] || '/' @port = [:port] || 443 @scheme = [:scheme] || 'https' @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", [:persistent]) end |
Instance Method Details
#delete_verified_email_address(email_address) ⇒ Object
Delete an existing verified email address
Parameters
-
email_address<~String> - Email Address to be removed
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/ses/delete_verified_email_address.rb', line 17 def delete_verified_email_address(email_address) request({ 'Action' => 'DeleteVerifiedEmailAddress', 'EmailAddress' => email_address, :parser => Fog::Parsers::AWS::SES::DeleteVerifiedEmailAddress.new }) end |
#get_send_quota ⇒ Object
Returns the user’s current activity limits.
Parameters
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘GetSendQuotaResult’<~Hash>
-
‘Max24HourSend’ <~String>
-
‘MaxSendRate’ <~String>
-
‘SentLast24Hours’ <~String>
-
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
21 22 23 24 25 26 |
# File 'lib/fog/aws/requests/ses/get_send_quota.rb', line 21 def get_send_quota request({ 'Action' => 'GetSendQuota', :parser => Fog::Parsers::AWS::SES::GetSendQuota.new }) end |
#get_send_statistics ⇒ Object
Returns the user’s current activity limits.
Parameters
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘GetSendStatisticsResult’<~Hash>
-
‘SendDataPoints’ <~Array>
-
‘Bounces’ <~String>
-
‘Complaints’ <~String>
-
‘DeliveryAttempts’ <~String>
-
‘Rejects’ <~String>
-
‘Timestamp’ <~String>
-
-
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
24 25 26 27 28 29 |
# File 'lib/fog/aws/requests/ses/get_send_statistics.rb', line 24 def get_send_statistics request({ 'Action' => 'GetSendStatistics', :parser => Fog::Parsers::AWS::SES::GetSendStatistics.new }) end |
#list_verified_email_addresses ⇒ Object
Returns a list containing all of the email addresses that have been verified
Parameters
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘VerifiedEmailAddresses’ <~Array>
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/ses/list_verified_email_addresses.rb', line 18 def list_verified_email_addresses request({ 'Action' => 'ListVerifiedEmailAddresses', :parser => Fog::Parsers::AWS::SES::ListVerifiedEmailAddresses.new }) end |
#reload ⇒ Object
63 64 65 |
# File 'lib/fog/aws/ses.rb', line 63 def reload @connection.reset end |
#send_email(source, destination, message, options = {}) ⇒ Object
Send an email
Parameters
-
Source <~String> - The sender’s email address
-
Destination <~Hash> - The destination for this email, composed of To:, From:, and CC: fields.
-
BccAddresses <~Array> - The BCC: field(s) of the message.
-
CcAddresses <~Array> - The CC: field(s) of the message.
-
ToAddresses <~Array> - The To: field(s) of the message.
-
-
Message <~Hash> - The message to be sent.
-
Body <~Hash>
-
Html <~Hash>
-
Charset <~String>
-
Data <~String>
-
-
Text <~Hash>
-
Charset <~String>
-
Data <~String>
-
-
-
Subject <~Hash>
-
Charset <~String>
-
Data <~String>
-
-
-
options <~Hash>:
-
ReplyToAddresses <~Array> - The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.
-
ReturnPath <~String> - The email address to which bounce notifications are to be forwarded. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient’s ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘MessageId’<~String> - Id of message
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/fog/aws/requests/ses/send_email.rb', line 37 def send_email(source, destination, , = {}) params = { 'Source' => source } for key, values in destination params.merge!(AWS.indexed_param("Destination.#{key}.member", [*values])) end for key, value in ['Subject'] params["Message.Subject.#{key}"] = value end for type, data in ['Body'] for key, value in data params["Message.Body.#{type}.#{key}"] = value end end if .has_key?('ReplyToAddresses') params.merge!(AWS.indexed_param("ReplyToAddresses.member", [*['ReplyToAddresses']])) end if .has_key?('ReturnPath') params['ReturnPath'] = ['ReturnPath'] end request({ 'Action' => 'SendEmail', :parser => Fog::Parsers::AWS::SES::SendEmail.new }.merge(params)) end |
#send_raw_email(raw_message, options = {}) ⇒ Object
Send a raw email
Parameters
-
RawMessage <~String> - The message to be sent.
-
Options <~Hash>
-
Source <~String> - The sender’s email address. Takes precenence over Return-Path if specified in RawMessage
-
Destinations <~Array> - All destinations for this email.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘MessageId’<~String> - Id of message
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/fog/aws/requests/ses/send_raw_email.rb', line 22 def send_raw_email(, = {}) params = {} if .has_key?('Destinations') params.merge!(AWS.indexed_param('Destinations.member', [*['Destinations']])) end if .has_key?('Source') params['Source'] = ['Source'] end request({ 'Action' => 'SendRawEmail', 'RawMessage.Data' => Base64.encode64().chomp!, :parser => Fog::Parsers::AWS::SES::SendRawEmail.new }.merge(params)) end |
#verify_email_address(email_address) ⇒ Object
Verifies an email address. This action causes a confirmation email message to be sent to the specified address.
Parameters
-
email_address<~String> - The email address to be verified
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/ses/verify_email_address.rb', line 17 def verify_email_address(email_address) request({ 'Action' => 'VerifyEmailAddress', 'EmailAddress' => email_address, :parser => Fog::Parsers::AWS::SES::VerifyEmailAddress.new }) end |