Class: Fog::AWS::SES::Real
- Inherits:
-
Object
- Object
- Fog::AWS::SES::Real
- Includes:
- CredentialFetcher::ConnectionMethods
- 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/verify_domain_identity.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_domain_identity(domain) ⇒ Object
Verifies a domain.
-
#verify_email_address(email_address) ⇒ Object
Verifies an email address.
Methods included from CredentialFetcher::ConnectionMethods
#refresh_credentials_if_expired
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. For instance, ‘us-east-1’ and etc.
-
Returns
-
SES object with connection to AWS.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/fog/aws/ses.rb', line 48 def initialize(={}) @use_iam_profile = [:use_iam_profile] setup_credentials() @instrumentor = [:instrumentor] @instrumentor_name = [:instrumentor_name] || 'fog.aws.ses' @connection_options = [:connection_options] || {} [:region] ||= 'us-east-1' @host = [:host] || "email.#{[:region]}.amazonaws.com" @path = [:path] || '/' @persistent = [:persistent] || false @port = [:port] || 443 @scheme = [:scheme] || 'https' @connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", @persistent, @connection_options) 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
-
-
-
16 17 18 19 20 21 22 |
# File 'lib/fog/aws/requests/ses/delete_verified_email_address.rb', line 16 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
-
-
-
20 21 22 23 24 25 |
# File 'lib/fog/aws/requests/ses/get_send_quota.rb', line 20 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
-
-
-
23 24 25 26 27 28 |
# File 'lib/fog/aws/requests/ses/get_send_statistics.rb', line 23 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
-
-
-
17 18 19 20 21 22 |
# File 'lib/fog/aws/requests/ses/list_verified_email_addresses.rb', line 17 def list_verified_email_addresses request({ 'Action' => 'ListVerifiedEmailAddresses', :parser => Fog::Parsers::AWS::SES::ListVerifiedEmailAddresses.new }) end |
#reload ⇒ Object
65 66 67 |
# File 'lib/fog/aws/ses.rb', line 65 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
-
-
-
36 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 |
# File 'lib/fog/aws/requests/ses/send_email.rb', line 36 def send_email(source, destination, , = {}) params = { 'Source' => source } for key, values in destination params.merge!(Fog::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 .key?('ReplyToAddresses') params.merge!(Fog::AWS.indexed_param("ReplyToAddresses.member", [*['ReplyToAddresses']])) end if .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
-
-
-
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/fog/aws/requests/ses/send_raw_email.rb', line 21 def send_raw_email(, = {}) params = {} if .key?('Destinations') params.merge!(Fog::AWS.indexed_param('Destinations.member', [*['Destinations']])) end if .key?('Source') params['Source'] = ['Source'] end request({ 'Action' => 'SendRawEmail', 'RawMessage.Data' => Base64.encode64(.to_s).chomp!, :parser => Fog::Parsers::AWS::SES::SendRawEmail.new }.merge(params)) end |
#verify_domain_identity(domain) ⇒ Object
Verifies a domain. This action returns a verification authorization token which must be added as a DNS TXT record to the domain.
Parameters
-
domain<~String> - The domain to be verified
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘VerificationToken’<~String> - Verification token
-
‘RequestId’<~String> - Id of request
-
-
-
18 19 20 21 22 23 24 |
# File 'lib/fog/aws/requests/ses/verify_domain_identity.rb', line 18 def verify_domain_identity(domain) request({ 'Action' => 'VerifyDomainIdentity', 'Domain' => domain, :parser => Fog::Parsers::AWS::SES::VerifyDomainIdentity.new }) 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
-
-
-
16 17 18 19 20 21 22 |
# File 'lib/fog/aws/requests/ses/verify_email_address.rb', line 16 def verify_email_address(email_address) request({ 'Action' => 'VerifyEmailAddress', 'EmailAddress' => email_address, :parser => Fog::Parsers::AWS::SES::VerifyEmailAddress.new }) end |