Repository URL to install this package:
|
Version:
1.0.2 ▾
|
# frozen_string_literal: true
require 'aws-sdk-ses'
require 'logger'
require 'mail'
module FacultyAWS
# Class to deal with outgoing mail
class Mail
def initialize(source_arn:, development: false, from: nil)
@development = development
@from = from
@source_arn = source_arn
end
def send(mail)
mail.from ||= @from if @from
if @development
logger.info(mail)
else
ses.send_raw_email(mail_to_ses(mail))
end
end
private
def mail_to_ses(mail)
{
from_arn: @source_arn,
raw_message: {
data: mail.to_s
}
}
end
def logger
@logger ||= Logger.new $stdout
end
def ses
@ses ||= Aws::SES::Client.new
end
end
end