@mail invokes the built-in MUSH mailer, which allows players to send and receive mail. Pronoun/function substitution is performed on any messages you may try to send.

Basic commands:
@mail[/<switches>] <player-list> = <subject>
@mail[/<switches>] [<msg-list> [= <target>]]

See 'help mail-players' for an explanation of what constitutes a valid player list.

See 'help mail-messages' for an explanation of what constitutes a valid message list.
See the following topics for more details:

mail-sending mail-reading mail-folders
mail-other mail-admin @malias
mail-reviewing mail-examples mail-players

Sending Mail

  • @mail/quick <player-list>/<subject> = <message>
    • Sends <message> to the list of players.
  • @mail[/switch] <player-list> = <subject>
    • This begins a message to all players in <player-list>. -<text> adds text to the message in progress, for example: -This is a test would add the text 'This is a test' to the end of your @mail message, likewise, ~<text> prepends the text.
  • @mail/send
    • This sends the message that is currently in progress. — is the equivalent of @mail/send. @mail/urgent sends the message as urgent, and should not be used often.
  • @mail/abort
    • This aborts the message currently in progress, allowing you to start a new one.
  • @mail/to <player-list>
  • @mail/cc [<player-list>]
  • @mail/bcc [<player-list>]
    • @mail now supports three separate address lists for a mail, the standard To list for recipients, a Cc list for carbon-copying, and a Bcc list for blind carbon-copying. These commands set each of the three address lists; they operate by replacing the list, and do _not_ add onto the existing lists. @mail/cc and @mail/bcc with no argument will empty the corresponding list.
  • @mail/proof
    • This shows you the message that is currently in progress, as it would be read by whomever received it.
  • @mail/edit <old text> = <new text>
    • Like @edit, but edits the message in process.
  • @mail/fwd <msg> = <player-list>
    • This sends a copy of <msg> to all the players in <player-list>. The copy will appear to have been sent by you (not the original sender), and its status will be "Forwarded". Note that this places the message to be forwarded into your mail buffer, where you can edit it with @mail/edit, add text with '-', or prepend text with '~'. You have to use '—' or @mail/send to send the message.
  • @mail/reply[/quote] <msg>
    • This sends a reply to the person who sent you <msg>. The subject line will be 'Re: <original subject line>'. If you specify the /quote switch, the original message will be quoted back at the beginning of your mail message.
  • @mail/replyall[/quote] <msg>
    • This sends a reply to the person who sent you <msg>, as well as all other recipients of <msg>. The subject line will be 'Re: <original subject line>'. If you specify the /quote switch, the original message will be quoted back at the beginning of your mail message.


Reading Mail

  • @mail <msg #>
  • @mail/read <msg-list>
    • This displays messages which match the msg# or msg-list from your current folder.
  • @mail
  • @mail <msg-list, but not a single msg #>
  • This gives a brief list of all mail in the current folder, with sender name, a list of receiving players, subject, and message status.
  • @mail/list [<msg-list>]
    • This gives the same list, but with time sent instead of subject. The status field is a set of characters (ex: NC-UF+) which mean:
      • N = New (unread) message
      • C = Cleared message
      • U = Urgent message
      • F = Forwarded message
      • + = Tagged message
    • The opposites of these (read messages, etc.) are indicated with a '-' in the status field in that position.


Mail Folders

The MUSH mail system allows each player 16 folders, numbered from 0 to 15. Mail can only be in 1 folder at a time. Folder 0 is the "inbox" where new mail is received. Most @mail commands operate on only the current folder.

  • @mail/folder
    • This commands lists all folders which contain mail, telling how many messages are in each, and what the current folder is.
  • @mail/folder <folder#|foldername>
    • This command sets your current folder to <folder#>.
  • @mail/folder <folder#> = <foldername>
    • This command gives <folder#> a name.
  • @mail/file <msg-list>=<folder#>
    • This command moves all messages in msg-list from the current folder to a new folder, <folder#>.


Other Mail Commands

  • @mail/clear [<msg-list | all>]
  • @mail/unclear [<msg-list> | all>]
    • These commands mark mail in the current folder as cleared or uncleared. Mail marked for clearing is deleted when you disconnect, or if you use @mail/purge. If no msg-list is specified, all mail in your current folder is cleared. If "all" is given instead of a msg-list, all mail in *all* folders is cleared/uncleared.
  • @mail/purge
    • Actually deletes all messages marked for clearing with @mail/clear. This is done automatically when you log out.
  • @mail/tag [<msg-list | all>]
  • @mail/untag [<msg-list> | all>]
    • These commands tag or untag mail in the current folder. Tagged mail can be later acted on en masse by using "tagged" as the msg-list for other commands (which does *not* untag them afterward). If no msg-list is specified, all messages in the current folder are tagged/untagged. If "all" is given as the msg-list, all mail in *all* folders is tagged/untagged. (Ex: To clear all mail from Lauren and Crusade, @mail/tag *lauren, @mail/tag *crusade, @mail/clear tagged, @mail/untag all).
  • @mail/safe [<msg-list> | all>]
    • This command marks a message as being safe from mail expiration. It should be used sparingly and only for very important messages.


Admin Mail Commands

The @mail command can also take the following switches:

@mail/stats [<player>] Basic mail statistics.
@mail/dstats [<player>] Also provides read/unread count.
@mail/fstats [<player>] Does all that, plus gives space usage.
@mail/debug <action>[=<player>]

Only wizards may stats players other than themselves. The mail statistics commands are computationally expensive, and thus are subject to "daytime" restrictions. They also cost the same as a @find (100 credits).

The /debug switch does sanity checking on the mail database, and may only be used by a wizard. "@mail/debug sanity" just does the check; the command "@mail/debug clear=<player name or dbref number>" wipes mail for an object. "@mail/debug fix" attempts to repair problems noted in the sanity check.

The /nuke switch destroys the post office, erasing all @mail everywhere. It may only be used by a wizard.

Also, admin may set the @amail attrib on their char. When somebody sends you mail, it will trigger that attrib if it exists.



This allows you to generate and maintain mailing lists with the mail system. All mail aliases start with '*', and are case-sensitive. (*dir is different than *Dir). There are two kinds of mail aliases, Personal and Global. Global mailing lists are owned and maintained by the god (#1) char and are available for anyone to use. Generally there will be *Wizards, *Admin, *Roleplay, and things of that nature. Personal mailing aliases are mailing lists that you have defined with the @malias command. Currently there is no limit to the number of people you can have on a mailing alias.

To begin sending mail to a mailing list, use @mail *<alias>=subject.


@malias Displays a list of all mail aliases.
@malias *<alias> Displays a list of people on that alias.
@malias *<alias>=<list> Creates that mailing list, using <list>.

You can add, remove, rename, chown, redescribe, and delete mailing lists with a switch.

@malias/remove *<alias>=<player> Removes <player> from *<alias>.
@malias/desc *<alias>=<description> Changes the description for *<alias>.
@malias/add *<alias>=<player> Adds <player> to *<alias>.
@malias/rename *<alias>=<name> Renames that alias. Names must always begin with '*'.
@malias/delete *<alias> Deletes <alias>.
@malias/chown *<alias>=<player> Changes the owner of <alias> to <player>.

Wizards can use all of the malias commands on any mail alias. Instead of trying to figure out different mailing lists with the same name, wizards may use #<MALIAS NUMBER> instead of *alias in regards to the command. Remember that the alias commands will only recognize aliases owned by #1, owned by you, or by number.

@malias/list When invoked by a wizard, it will list all mailing aliases currently defined by their number.


Reviewing Mail

  • @mail/review [<player> | all]
    • Reviews the messages you have sent to <player>. With no argument, or "all", lists all messages you have sent.
  • @mail/review [<player> | all]=<msglist>
    • Reads the messages you have sent to <player>. With no player name, or "all", reads selected messages from among all you have sent.
  • @mail/retract <player>=<msglist>
    • Retracts (deletes) unread messages you have sent to <player>.



Here is an example of mailing a player, where is the player will be "bob", and sending the mail.

> @mail bob = The MUSH - This is the Subject line.

Sending mail to player 'Bob'

> -Hi bob. - This is where you will enter the body of the message.

Text Added.

> @send - Basically, sends the @mail.

MAIL: You sent your message to 'Bob'.


Player Lists

A <player-list> is a space-separated list of recipients, which may be:

  • Player names (names with spaces in them should be put in double quotes, ex: "Foo Bar")
  • Player dbref #'s
  • Message numbers to be replied to.
  • A mix of the above, and mail aliases (see @malias)


Message List

A <msg-list> is one of the following:

  • A single msg # (ex: 3)
  • A message range (ex: 2-5, -7, 3-)
  • A sender (ex: *lauren)
  • An age of mail in days (ex: ~3 (exactly 3), <2, >1) "days" here means 24-hour * periods from the current time.
  • One of the following: "read", "unread", "cleared", "tagged", "urgent"
  • For certain commands, "all".


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License