View Source Swoosh.Adapters.Postmark (Swoosh v1.11.2)
An adapter that sends email using the Postmark API.
For reference: Postmark API docs
example
Example
# config/config.exs
config :sample, Sample.Mailer,
adapter: Swoosh.Adapters.Postmark,
api_key: "my-api-key"
# lib/sample/mailer.ex
defmodule Sample.Mailer do
use Swoosh.Mailer, otp_app: :sample
end
example-of-sending-emails-using-templates
Example of sending emails using templates
This will use Postmark's withTemplate endpoint.
import Swoosh.Email
new()
|> from({"T Stark", "tony.stark@example.com"})
|> to({"Steve Rogers", "steve.rogers@example.com"})
|> put_provider_option(:template_id, "123456")
|> put_provider_option(:template_model, %{name: "Steve", email: "steve@avengers.com"})You can also use template_alias instead of template_id, if you use Postmark's
TemplateAlias feature.
When sending batch emails using :deliver_many do not mix emails using
templates with non-template emails. The use of templates impacts the API
endpoint used and so the batch email collection should be of the same format.
example-of-sending-emails-with-a-tag
Example of sending emails with a tag
This will add a tag to the sent Postmark's email.
import Swoosh.Email
new()
|> from({"T Stark", "tony.stark@example.com"})
|> to({"Steve Rogers", "steve.rogers@example.com"})
|> subject("Hello, Avengers!")
|> put_provider_option(:tag, "some tag")
provider-options
Provider Options
:message_stream(string) –MessageStream, configure the message stream for the email:metadata(map) -Metadata, add metadata to an email:tag(string) -Tag, to categorize outgoing email:template_id(string) -TemplateId, the template used when sending email and only required if:template_aliasis not specified:template_alias(string),TemplateAlias, the alias of a template used when sending email and only required if:template_idis not specified:template_model(map),TemplateModel, a map of key/value field to be used in theHtmlBody,TextBody, andSubjectfield in the template:track_opens(boolean) -TrackOpens, specify if open tracking needs to be enabled for this email.:track_links(string) -TrackOpens, specify if link tracking needs to be enabled for this email. Valid values are:None,HtmlAndText,HtmlOnly,TextOnly:inline_css(boolean) -InlineCss, specify if Postmark should apply the style blocks as inline attributes to the rendered HTML content. Default is true.
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.