SMTP email adapter — delegates raw transport to libs/external SmtpProviderAdapter.
This adapter sits at the boundary between the email library's domain model (Email with :id, :created-at, :attachments, :metadata) and the external library's transport layer (OutboundEmail). It translates between the two and delegates all Jakarta Mail work to wagoe.external.shell.adapters.smtp.
Responsibility split: libs/email — Email domain model, validation, preparation, job queuing libs/external — Raw SMTP transport (Jakarta Mail, TLS/SSL, HTML multipart)
Usage: (def sender (create-smtp-sender {:host "smtp.gmail.com" :port 587 :username "user@gmail.com" :password "app-password" :tls? true})) (send-email! sender prepared-email)
SMTP email adapter — delegates raw transport to libs/external SmtpProviderAdapter.
This adapter sits at the boundary between the email library's domain model
(Email with :id, :created-at, :attachments, :metadata) and the external
library's transport layer (OutboundEmail). It translates between the two and
delegates all Jakarta Mail work to wagoe.external.shell.adapters.smtp.
Responsibility split:
libs/email — Email domain model, validation, preparation, job queuing
libs/external — Raw SMTP transport (Jakarta Mail, TLS/SSL, HTML multipart)
Usage:
(def sender (create-smtp-sender
{:host "smtp.gmail.com"
:port 587
:username "user@gmail.com"
:password "app-password"
:tls? true}))
(send-email! sender prepared-email)(create-smtp-sender {:keys [host port username password tls? ssl? ssl-trust
check-server-identity?]
:or {tls? true ssl? false}
:as config})Create an SMTP email sender.
Delegates raw SMTP transport to wagoe.external.shell.adapters.smtp.
Config keys: :host - SMTP server hostname (required) :port - SMTP server port (required) :username - SMTP auth username (optional) :password - SMTP auth password (optional) :tls? - Enable STARTTLS (default: true) :ssl? - Enable SSL (default: false) :ssl-trust, :check-server-identity? - TLS trust; see wagoe.external.schema/MailTls
Returns: SmtpEmailSender implementing EmailSenderProtocol
Create an SMTP email sender.
Delegates raw SMTP transport to wagoe.external.shell.adapters.smtp.
Config keys:
:host - SMTP server hostname (required)
:port - SMTP server port (required)
:username - SMTP auth username (optional)
:password - SMTP auth password (optional)
:tls? - Enable STARTTLS (default: true)
:ssl? - Enable SSL (default: false)
:ssl-trust, :check-server-identity?
- TLS trust; see wagoe.external.schema/MailTls
Returns:
SmtpEmailSender implementing EmailSenderProtocolcljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |