View Source Swoosh.Adapters.AmazonSES (Swoosh v1.7.1)
An adapter that sends email using the Amazon Simple Email Service (SES) Query API.
This email adapter makes use of the Amazon SES SendRawEmail action and generates
a SMTP style message containing the information to be emailed. This allows for
greater more customizable email message and ensures the capability to add
attachments. As a result, however, the :gen_smtp dependency is required in order
to correctly generate the SMTP message that will be sent.
Ensure sure you have the dependency added in your mix.exs file:
def deps do
[
{:swoosh, "~> 1.0"},
{:gen_smtp, "~> 1.0"}
]
endSee also:
Amazon SES SendRawEmail Documentation
examples
Examples
# config/config.exs
config :sample, Sample.Mailer,
adapter: Swoosh.Adapters.AmazonSES,
region: "region-endpoint",
access_key: "aws-access-key",
secret: "aws-secret-key"
# lib/sample/mailer.ex
defmodule Sample.Mailer do
use Swoosh.Mailer, otp_app: :sample
end
using-with-tags-and-configuration-set
Using with tags and configuration set
import Swoosh.Email
new()
|> from("guybrush.threepwood@pirates.grog")
|> to("elaine.marley@triisland.gov")
|> subject("Mighty Pirate Newsletter")
|> text_body("Hello")
|> put_provider_option(:tags, [%{name: "name1", value: "test1"}])
|> put_provider_option(:configuration_set_name, "configuration_set_name1")
provider-options
Provider Options
:tags(list[map]) - a list of key/value pairs of a tag:configuration_set_name(string) - the name of the configuration set:security_token(string) - temporary security token obtained through AWS Security Token Service (AWS STS)
iam-role
IAM role
In case you use IAM role for authenticating AWS requests, you can fetch
temporary :access_key and :secret_key from that role, but you also need to
include additional X-Amz-Security-Token header to that request.
You can do that by adding :security_token to :provider_options.
If you don't have a static :access_key and :secret_key for your
application, you can use the Swoosh.Adapters.ExAwsAmazonSES adapter to fetch credentials
on-demand as specified in your application's :ex_aws configuration.
Link to this section Summary
Functions
Callback implementation for Swoosh.Adapter.validate_config/1.
Callback implementation for Swoosh.Adapter.validate_dependency/0.
Link to this section Functions
Callback implementation for Swoosh.Adapter.validate_config/1.
Callback implementation for Swoosh.Adapter.validate_dependency/0.