Skip to content

Mail System

Mail is how players communicate in Courier. Send a message, attach some items, and the recipient gets it — even if they’re offline. Works across your entire network.


Here’s how to send a quick text message:

/mail send Steve "Hello!" "Want to trade later? I have a spare Eevee."

That’s it. Steve gets a notification, opens his inbox, reads it. No attachments, no fuss.

Need to attach items, Pokemon, or currency? Use the compose GUI instead:

/mail compose Steve

This opens a full compose screen where you’ll write a subject and body, then drag in items from your inventory, pick Pokemon from your party, or add currency from your balance.


GUI mode: Run /mail to open your inbox. Click any message to read it, claim attachments, and manage it.

Text mode: Run /mail read <id> to read a specific message in chat. Quick checks without opening the GUI.


The inbox GUI is a full mail client:

Pagination : Navigate through pages when you’ve got more mail than fits on one screen.

Search and Filter : Find mail by sender, subject, or status.

Sort : Order by date, sender, or read status.

Bulk Select : Select multiple messages to archive, delete, or mark as read at once.

Folder Tabs : Switch between Inbox, Read, Sent, Important, Archive, and Trash.


Mail is organized into six folders.

Inbox : Where all incoming unread messages land.

Read : Messages you’ve opened. Keeps your inbox clean by separating unread from read.

Sent : Mail you’ve sent. Kept for your records.

Important : Starred or flagged messages. Move mail here to make sure it doesn’t get lost.

Archive : Long-term storage. Move mail here to keep things tidy without deleting anything.

Trash : Deleted mail. Automatically purged after trashRetentionDays (default: 7 days).


Every message has a status that changes as it moves through its lifecycle:

StatusWhat It Means
DRAFTPartially composed, not yet sent
SENTDelivered to the system — recipient hasn’t opened it
DELIVEREDRecipient was online and got notified
READRecipient opened the mail
ARCHIVEDMoved to archive
DELETEDMoved to trash
EXPIREDPast its expiration date, no longer claimable

Mail expires after a configurable number of days. Once expired, the mail and any unclaimed packages are gone.

  • Default: 30 days (defaultExpirationDays = 30)
  • Never expire: Set defaultExpirationDays = 0
  • Expired mail is cleaned up during the periodic maintenance cycle

Subjects and bodies support MiniMessage for rich text — colors, gradients, bold, italic, the works.

<gold><bold>Important Announcement
<gray>This is a <green>formatted</green> message with <gradient:red:blue>gradient text</gradient>!

Now that you know how mail works, check out Packages to learn about attaching items, Pokemon, and currency. Or jump to Presets if you want to create reusable mail templates for rewards and events.