// EVE ONLINE WEBMAIL

EVERY ALT.
ONE INBOX.

EVEMAIL is a full EVE Online mail client in your browser. Read, compose, label, bulk-delete, and send mail from every connected character without leaving your MelTuc dashboard. Persistent drafts, contacts, keyboard shortcuts, CSV export — and a one-click AI rewrite pass that polishes corp comms before they ever hit the wire. Interactive only, no schedulers, no background jobs — you open it, you act, you close it.

Open Mail See How It Works Learn More Preferences
∞
Characters Supported
4
Rewrite Tones
10K
Char Body Limit
4
ESI Scopes Used
// WALKTHROUGH

Every Alt's Mail, One Browser Tab

EVEMAIL is a fully interactive EVE Online mail client — no schedulers, no background jobs. You connect your characters once, then read, compose, polish, and send right inside your MelTuc dashboard. Here is the whole flow.

01
Connect Your Characters
Link any number of EVE characters once through the shared EVE SSO grant in your account settings. EVEMAIL reuses the same token, so there is no separate login — just pick the active character from the header.
02
Read in a Three-Column Inbox
Labels, header list, and body render side by side. Sender and recipient IDs resolve to real names in one batched ESI call, and opening a mail auto-marks it read when you enable that preference.
03
Compose With Auto-Save
The compose modal saves every keystroke into a per-character persistent draft, so a closed tab never loses your mail. Recipients autocomplete against exact-name character search; other recipient types can still be sent to if you already know the ID.
04
Polish With AI Rewrite
Hit Rewrite to send your draft to the AI helper and get it back in one of four tones — neutral, professional, friendly, or brief — shown side by side so you can accept, re-run, or discard.
05
Send, Manage, and Audit
Fire the mail through ESI, bulk-delete or re-label with multi-select, and export any view to CSV or JSON. Every send, delete, and rewrite is logged to an append-only audit trail.
// HOW IT WORKS

Interactive Only. Every Action Logged.

No background jobs, no scheduler — everything happens the moment you click it. EVEMAIL proxies CCP's ESI in real time and writes an audit entry for every action.

01
Connect Character
Link EVE characters via the shared eve_sso module with four mail scopes. EVEMAIL reads active_char_id from evemail_prefs on every request, falling back to the platform's main character.
02
Fetch Mail
Labels and headers arrive from GET /characters/{id}/mail/. Sender and recipient IDs are batch-resolved to names via a single POST /universe/names/ call — no numeric IDs ever shown in the UI.
03
Read & Compose
Reading a mail auto-marks it via PUT /characters/{id}/mail/{mid}/ if evemail_prefs.auto_mark_read is on. Compose modal auto-saves keystrokes into evemail_drafts keyed by (user_id, character_id).
04
AI Rewrite (Optional)
Hit Rewrite to send the draft body to the platform LLM helper. Choose from neutral / professional / friendly / brief tones. Result shown side-by-side. Every call logged to evemail_rewrite_log.
05
Send & Audit
Every send, delete, and bulk-delete appends a row to evemail_events with user_id, character_id, kind, detail JSON, and created_at — a fully auditable trail. Label changes and preference saves are not separately logged.
// INBOX

Three-Column Mail Client

A clean three-column layout: labels down the left, header list in the middle, selected body on the right. Sender and recipient IDs are resolved to names in a single batch through the public /universe/names/ endpoint, so you never see numeric IDs. Opening a mail auto-marks it read when you have that preference enabled. Switch characters from the header and the whole view re-queries against that alt's mailbox — no reloads, no duplicate tabs.

meltuc.tech/evemail/app
Mel Tuc
Active Character
1,247
Inbox
12
Unread
3
Drafts
Labels
▪ Inbox 12
▪ Sent
▪ Corp 2
▪ Alliance
▪ Fleet Ops
▪ Drafts 3
CCP Bartender
Ship replacement approved
Director Zulu · 3h
Fleet op Friday 19:00
Market Bot · 6h
Your contract expired
Alliance HQ · 12h
Monthly sovereignty report
Corp Recruitment · 1d
New member application
Ship replacement approved
From CCP Bartender · 3 hours ago
Pilot,
Your SRP request for the Megathron lost in the Amarr-Caldari border skirmish has been approved. The insurance payout plus reimbursement has been credited to your wallet. Fly safe out there, and thanks for flying the flag.
Reply Label Delete
Showing 1–25 of 1,247 C to compose
// COMPOSE

Compose With AI

The compose modal auto-saves every keystroke into evemail_drafts, keyed by character, so you never lose a mail to a closed tab. Recipients autocomplete against an exact-name character lookup. When your first pass feels rough, hit Rewrite — the draft goes to the platform LLM helper, returns polished in one of four tones, and renders side-by-side so you can accept, re-run, or discard before firing. Every call is logged to evemail_rewrite_log for a full audit trail.

meltuc.tech/evemail/app — compose
To: Director Zulu, Fleet Commander Rax
Subject: Re: Friday 19:00 op — asset check
Rewrite Tone
Neutral Professional Friendly Brief
Original
hey, i can make the op friday. got the megathron repaired already and drones loaded. wallet is fine. ping if anything changes, otherwise see you on comms 18:45.
Rewritten · Friendly
Hey team, I'll be good for the Friday op. Megathron is repaired, drones are loaded, and the wallet is in order. I'll be on comms by 18:45 — ping me if anything shifts between now and then. See you out there.
Auto-saved 2s ago Accept Rewrite Re-run Send
// CONTACTS

Standings-Aware Address Book

EVEMAIL pulls your full contacts list via esi-characters.read_contacts.v1, resolves every ID to a name in a single batched call, and displays them with their current standing. Use the contacts page to find recipients fast, filter by standing, or export your book for off-site backup. Corps, alliances, and mailing lists all resolve the same way — one unified directory.

meltuc.tech/evemail/app/contacts
Search contacts...
All Standings
All Types
Name Type Standing
Director ZuluCharacter+10.0
Fleet Commander RaxCharacter+8.5
Goonswarm FederationAlliance+5.0
Pandemic HordeAlliance0.0
Market BotMailing List—
Red Fleet IntelCorporation−5.0
// PREFERENCES

Per-User Preferences

A single settings page controls how EVEMAIL behaves for you. Set a default signature that gets appended to every outgoing body, pick the tone the AI should default to when you hit Rewrite, and flip auto-mark-read on or off. Everything lives in evemail_prefs, one row per user, upserted on save. No server-side mutation happens anywhere else — this page is the whole control surface.

meltuc.tech/evemail/settings
Default Signature
o7
Mel Tuc
Director, Cosmic Encounters
— sent from MelTuc EVEMAIL
Default Rewrite Tone
Neutral Professional Friendly Brief
Behavior
ON Auto-mark mail as read on open
OFF Scheduler / cron tasks (never — interactive only)
4
Connected Chars
Mel Tuc
Active Default
2h ago
Last Updated
Save Preferences
// CAPABILITIES

Built For Power Users

Every EVE mail operation you actually do, in one place, with the rough edges smoothed over. No scheduler, no background workers — everything happens the moment you click it, logged the moment it finishes.

📥
Multi-Character Inbox
Switch between every connected alt from the header. Each switch saves to evemail_prefs.active_char_id so you land in the same mailbox next session. No re-auth, no reload.
🛰
ESI Integration
Direct calls to CCP's official esi.evetech.net API through the shared eve_sso token module. Zero scraping, zero third-party mirrors — it's the same endpoint the in-game client uses.
🤖
AI Draft Rewrite
Four tones: neutral, professional, friendly, brief. Side-by-side review. Logged to evemail_rewrite_log for usage auditing. Rate-limited to 20 rewrites per minute.
🏷
Label Management
EVE's native labels surfaced in the sidebar. Multi-select header rows, bulk delete, bulk label — each operation loops through individually so partial failures don't strand you.
✍
Signatures & Tone
Store a default signature in evemail_prefs that gets appended to outgoing bodies, and a default tone for AI rewrite. Change either from /evemail/settings at any time.
📝
Persistent Drafts
Drafts live in Postgres, keyed by (user_id, character_id). Close the tab, reboot, come back later — the compose body is exactly where you left it, per alt.
🔍
Auto-Mark-Read
Flips a mail to read the instant you open the body pane. On by default, and skipped automatically if the active character lacks the organize-mail scope; turn it off in Settings if you want to triage without clearing unread markers.
📬
Compose & Send
Recipient autocomplete against exact-name character search. Up to 10,000 characters per body, same hard cap CCP enforces. One click sends through ESI.
📚
Audit Trail
Every send, delete, and bulk-delete appends a row to evemail_events with user, character, action, and timestamp. AI rewrite calls are logged separately to evemail_rewrite_log.
⌨
Keyboard Shortcuts
Press C anywhere outside a text field to jump straight into compose. Press ? for the shortcuts cheat sheet. Reply and delete are one click from the reader pane.
📤
CSV / JSON Export
Dump the current label view to CSV or JSON via /evemail/api/export.csv or export.json. Useful for diplomatic archives, corp compliance, or off-site backups.
👥
Recipient Search
Exact-name lookup against /universe/ids/ for the To field. Three-character minimum. Resolves EVE characters only — corp, alliance, and mailing-list mail is still deliverable, just not autocompleted here.
// ESI SCOPES

Minimum Permissions

EVEMAIL borrows tokens from the shared eve_sso module — connect your character once in your MelTuc account settings and every EVE app on the platform reuses the same grant. Four scopes cover the whole feature set; the app redirects you to re-authorise if any are missing.

esi-mail.read_mail.v1
List labels, fetch mail headers, read body text. Required for the inbox to render at all.
esi-mail.send_mail.v1
Send composed mail to characters, corps, alliances, or mailing lists via POST /characters/{id}/mail/.
esi-mail.organize_mail.v1
Mark read, apply labels, delete. Bulk ops use PUT/DELETE in a loop; this scope covers both.
esi-characters.read_contacts.v1
Contacts page and the /api/contacts endpoint. Optional — the rest of the app works without it.
// DATA MODEL

Four Tables, Fully Audited

EVEMAIL's persistence layer is deliberately thin. Mail itself lives on CCP's servers — we never cache bodies, we just proxy ESI calls and render results. Locally, only preferences, drafts, and the audit log are stored, all in Postgres through the shared db helper.

evemail_prefs
One row per user. Active character, default signature, AI rewrite tone, auto-mark-read flag. Upserted via ON CONFLICT on every settings save.
evemail_drafts
Per-character draft cache keyed by (user_id, character_id). Auto-saved on every keystroke, persistent across sessions.
evemail_rewrite_log
One row per AI rewrite call (success or failure). User, character, success flag, error text. Token counts logged when available.
evemail_events
Append-only audit log. Every send, delete, and bulk-delete writes a row with user_id, character_id, kind, detail JSON, and created_at.
// GET STARTED

Your Corp Comms Deserve Better.

One inbox for every alt, AI polish for every draft, keyboard shortcuts for every power-user reflex. All running on your MelTuc account, all sharing one EVE SSO grant, all fully audited.

Launch EVE Mail Connect Characters

Requires a MelTuc account. Create one free.

WEBTOOL EVE ESI AI Rewrite Multi-Character Persistent Drafts No Cron Jobs