Repository navigation
Releases
Releases · dartondox/dox-mailer
3.1.0
Read before you update
- In a Markdown mail, a text value now keeps its Markdown characters as plain text. So
[Verify](https://evil.example)from a user is no longer a link. To put Markdown from a value, pass aSafeString. - In
@ifof a Markdown mail, a value with one of these characters (like*or[) is no longer equal to the same text written in the template. Attachment.fromFilenow reads the file when the mail is sent or queued, not whenfromFileruns. A missing file now fails atsend().
New
- Mailables: one class per kind of email. Send it with
send(), or queue it withqueue()andlater(). - Markdown mail: a mailable can name a Markdown template.
MailMessage: an email made of lines and a button, with no template.- Notifications:
Notification,MailChannel,Notifiableanduser.notify(...). Mail.queue(message)andMail.later(delay, message). They needdox_queue.Mail.fake()catches queued mail too, and has checks likeassertSentandassertQueued.Mail.onSending()andMail.onSent()hooks.Mail.clearHooks()removes them.Mail.alwaysTo(address)sends every email to one address, for example on staging.Mail.raw(text, to: ..., subject: ...)sends a plain text email.- Chained recipients:
Mail.to('ann@example.com').cc(...).bcc(...).send(mailable).
await user.notify(InvoicePaid(1));
await Mail.to('ann@example.com').queue(WelcomeMail(user));Fixes
{{ tag }}inside backticks in a Markdown mail is no longer escaped twice.FailoverTransportkeeps going when anonErrorcallback throws, also anasyncone.Attachment.fromFileno longer blocks the server while it reads the file.assertSentCountsays "1 sent email".
Needs dox_core and dox_view 3.1.0.
Docs: Mail, Notifications
Full list: the CHANGELOG.
3.0.0
The first stable release of dox_mailer.
Send email from Dox: SMTP, Amazon SES, Azure, Resend, Mailgun, Postmark, sendmail, and a failover mailer.