Skip to main content

Email Logs

Email Logs provide a searchable record of every email sent through Relay. Each log entry tracks the full lifecycle from send through delivery, opens, clicks, bounces, and complaints.

Viewing Logs

Navigate to Email Logs in the left sidebar. The log displays in reverse chronological order with the most recent emails first.

Each row shows:

  • Status badge — Color-coded: green (delivered), blue (sent), red (bounced), orange (complained), gray (rejected/failed)
  • Recipient — Primary to address
  • Subject — Email subject line
  • Sent at — Timestamp of the send
  • From — Sender address

Click any row to expand and see full details.

Log Detail Fields

FieldDescription
Message IDRelay's internal message identifier
SES Message IDAmazon SES tracking identifier
FromSender address
ToAll recipient addresses
CC / BCCCarbon copy and blind copy addresses (if any)
SubjectEmail subject line
StatusCurrent lifecycle status
Sent atWhen the email was submitted to SES
Delivered atWhen the recipient's mail server accepted the email
Opened atFirst open timestamp (if tracking pixel loaded)
Open countNumber of times the email was opened
Clicked linksURLs clicked by the recipient
Bounce typeFor bounced emails: Permanent or Transient
Bounce sub-typeDetailed bounce reason (General, NoEmail, etc.)
ErrorError message for failed sends
TagsCustom metadata attached at send time
Template IDTemplate used (if sent via template)

Status Values

StatusMeaning
sentSubmitted to SES, awaiting delivery confirmation
deliveredRecipient's mail server accepted the email
bouncedDelivery failed (see bounce type for details)
complainedRecipient marked the email as spam
rejectedSES rejected the email before sending (policy violation)
failedSend failed due to an error (invalid request, SES error)

Filtering Logs

Use the filter controls above the log list:

FilterOptions
RecipientSearch by recipient email address (partial match)
SubjectSearch by subject line (partial match)
StatusFilter by one status: sent, delivered, bounced, complained, failed, rejected
Date rangeFrom date and to date pickers

Filters combine with AND logic — all active filters must match.

Pagination

Logs use cursor-based pagination, loading 50 entries at a time. Scroll down to load more entries automatically (infinite scroll).

CSV Export

To export logs:

  1. Apply any desired filters (status, date range, recipient, subject)
  2. Click Export CSV
  3. The download includes all matching logs with full detail fields

Exports respect your current filters. To export everything, clear all filters first.

💡Use date range filters when exporting to keep file sizes manageable. A high-volume tenant can generate thousands of log entries per day.

Engagement Tracking

Relay tracks email engagement through SES:

  • Opens — Tracked via a transparent pixel. The opened_at timestamp records the first open; open_count tracks total opens.
  • Clicks — Tracked via link rewriting. The clicked_links array shows which URLs the recipient clicked.
ℹ️Open tracking requires the recipient's email client to load images. Many clients block images by default, so open rates are typically undercounted. Click tracking is more reliable.

API Reference

Query logs via the API with a key that has the read-logs scope:

MethodEndpointDescription
GET/api/logsList logs with filters and cursor pagination
GET/api/logs/{id}Get a single log entry
GET/api/logs/exportExport filtered logs as CSV

Query Parameters for GET /api/logs

ParameterDescription
statusFilter by status
recipientFilter by recipient address
subjectFilter by subject line
from_dateStart date (ISO 8601)
to_dateEnd date (ISO 8601)
cursorPagination cursor from previous response
limitResults per page (default: 50)