How the daily digest works
Once a day, at a time you choose, you receive a single email summarising what arrived at your @inboxy.net addresses. This page explains what's in it and how it's built.
What goes in the digest
- Mail classified as
receipt,notice,marketing,otherthat hasn't been read yet. - Grouped by sender domain — "Nike sent 3 emails today" becomes one row in the digest with a count.
- Most-recent-activity senders first.
- Capped at 100 items per digest (configurable); anything beyond shows as "(+N more in your inbox)".
What does NOT go in the digest
- OTPs, login links, verification emails — these are forwarded to your real email the moment they arrive. By the time the digest runs they're already in your hands.
- Mail you've already read. The digest is for unread mail.
- Spam — quarantined into a separate tray in your inbox; never sent to you.
When it arrives
Your schedule is one (or more, on paid plans) row in digest_schedules:
local_time—HH:MMin your timezone.timezone— IANA name (e.g.Europe/London,America/New_York).enabled— toggleable.
At v0.2 these default to 06:00 UTC. The schedule UI (change time, change timezone, enable/disable, add multiple per day on paid plans) lands in v0.3.
A cron tick every 5 minutes finds schedules whose next_run_utc <= now, holds a per-user lock for the duration of the build, gathers eligible messages since the previous run, builds your digest, and enqueues it for delivery. Per-user idempotency means duplicate cron firings don't double-send.
What if there's nothing new?
The schedule still fires — we record a digest_runs row with status='no_messages' and skip the send. You'll see "skipped today, nothing new" in the future account UI.
DST and timezone changes
Schedules track the next UTC instant matching your local time. Daylight-saving transitions are handled automatically — if your local_time is 06:00 and the clocks spring forward, the next run is at 06:00 of the new local time (not "an hour earlier").
If you change your timezone in /account/settings (lands v0.3), the next run is recomputed for the new tz.
Opting out / pausing
- Set
enabled = 0on yourdigest_schedulesrow. - Or delete the schedule entirely.
There's no unsubscribe link in the digest itself — instead the email carries a List-Unsubscribe header (RFC 8058) so your mail client can offer one-click pause. The link target hits the same per-user pause endpoint.
Forwarded mail vs digest
| Class | What happens |
|---|---|
otp / login_link / verify |
Forwarded immediately to your personal email, with [via inboxy] in the From line. |
receipt, notice with urgency≥2 |
Forwarded immediately. |
| Everything else non-spam | Waits for the next digest. |
spam |
Quarantined. Visible in your inbox; never forwarded or digested. |
Stuck?
Still need help? support@inboxy.net