Thirty-two login-risk alerts went to a company mailbox over ten days while the developer who needed them saw nothing. The mail had been sent correctly. Nothing recorded that it had. This release gives system mail a record.
Sending
- One mailer A single mailer and message builder with a sender per message, and an SMTP configuration per user group.
- Branded templates HTML mail rendered from templates stored in the database, localised and wrapped in company branding.
- Exchange Online A token minted with Azure credentials for SMTP OAuth2, where basic authentication is gone.
The record
- The body kept The log keeps the message body and its attachments as a list of name, size and type, with sizes counted by streaming.
- Errors as sentences A failure is stored as a causal sentence rather than a stack trace cut at 4,096 characters.
- Mail that never left A transport of none records a mail that reached no mailer, so the question "was it ever sent" has an answer in the same table.
The user console lists these rows under three outcomes. The alert that nobody saw is now the first row a user would check.