DASHBOARD · Published 2026-10-06 · Updated 2026-10-06 · SecureSMTP
Email log
Find any email and see what happened to it.
Email log (/app/forms/email-log) lists the emails your sites sent through SecureSMTP, newest first: email from POST /mail/send, SMTP, the WordPress plugin, sequences and the MCP server. Emails that SecureSMTP refused or held are listed too, with the reason.
Form submissions have their own page: Submissions (/app/forms/submissions). See Hosted forms.
Columns
| Column | What it shows |
|---|---|
| When | Date and time the email was processed. |
| Site | The site’s name and domain. |
| Source | The source_plugin value of the request, for example smtp, mcp, automation (sequences) or a WordPress plugin such as Contact Form 7 or WooCommerce. Empty when none was given. |
| Subject | The subject, or “(no subject)”. |
| To | The first recipient. If there were more, “+N more” is shown under it. |
| Status | The current status, and under it the error or reason text when there is one. |
Statuses
| Status | Meaning |
|---|---|
sent | Accepted and handed over for delivery. |
delivered | The receiving mail server accepted it. |
bounced | Delivery failed for good. The reason from the receiving server is shown. |
complained | The recipient marked it as spam. The address is now suppressed. |
failed | The send failed. The error is shown, for example all_recipients_suppressed. |
flagged | Refused or held by a spam check. Not sent. |
over_quota | Not sent because the account’s monthly email count was used up. |
A temporary delivery problem does not change the status: the email stays sent while the receiving server is retried, and you can get an email.delayed webhook.
Reason text you may see
| Text | Meaning |
|---|---|
content_spam_score:72 | Status flagged: refused by the content check (content_flagged). |
warn:content_spam_score:41 | Status sent: sent, but the content scored between 30 and 59. |
held_as_spam (93%): … | Status flagged: a contact-form notification held as spam. |
ai_classified_spam: … | Status flagged: refused by the AI check (ai_flagged). |
monthly relay email quota reached | Status over_quota. |
See Spam protection for what each check does.
Filters
- Site — one site or all.
- Status — Sent, Failed, Over quota or Rate limited. Choose All to see every status.
- Source plugin — the sources that appear in your log.
There is no text search. The page shows 50 emails at a time with Previous and Next links. Filters are kept in the URL (?site=…&status=…&source=…&page=…), so you can bookmark a filtered view.
What is not in the log
- Requests refused before processing: bad JSON, failed validation, unknown template, missing body, bad attachments, and the per-site rate limit (
rate_limited). Your code gets the error in the response. - Opens and clicks. They are counted per email and shown in Email analytics (
/app/forms/email-analytics). See Opens and clicks. - The
message_id. Keep it from the API response if you need to ask support about one email.