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 javax.mail work to boundary.external.shell.adapters.smtp.
Responsibility split: libs/email — Email domain model, validation, preparation, job queuing libs/external — Raw SMTP transport (javax.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 javax.mail work to boundary.external.shell.adapters.smtp.
Responsibility split:
libs/email — Email domain model, validation, preparation, job queuing
libs/external — Raw SMTP transport (javax.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?]
:or {tls? true ssl? false}})Create an SMTP email sender.
Delegates raw SMTP transport to boundary.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)
Returns: SmtpEmailSender implementing EmailSenderProtocol
Create an SMTP email sender. Delegates raw SMTP transport to boundary.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) Returns: SmtpEmailSender implementing EmailSenderProtocol
cljdoc 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 |