View Source Swoosh.Adapters.AmazonSES (Swoosh v1.8.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"}
]
end
See 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
.