From Masq

+mail is a global mail system. It allows you to send and receive messages, and provides various useful utilities for writing, reading, and managing those messages.



+read [<range>]
+skim [<range>]
+mailstatus <character1> [<character2> ...]
+dumpmail <range>

These commands should be fairly intuitive.

The +read command with no argument reports the number of read and unread messages in your mailbox, and is a useful command to put in your @aconnect.

+mailstatus reports any unread mail for a space-separated list of characters, such as your alts.

+dumpmail dumps your mailbox in a basic text format to screen for logging.

+help ranges for more information about specifying <range>


+reply[all] [<range>]
+forward to <list of recipients>
+bounce to <list of recipients>

If no <range> is specified, the current message is replied to. If +replyall is used instead of +reply, then all recipients of the original +mail will receive the reply.

+forward will include the original message and allow you to add text subsequently.

+bounce acts as +forward with no comments added. Please use this if you do not need to make changes in the message; it saves db space. These two commands act only on the current message.


+mail <list of characters or aliases>=<subject>

+cc <list of people to be carbon-copied>

+bcc <list of people to be blind-carbon-copied>

+edit <part>=<old text>/<new text>



+send (or '--')

+note [<subject>=]<text>

+mail/quick <list of characters or aliases>/<subject>=<body of text>

These commands should be fairly self-explanatory. <part> can be "To", "Cc", "Bcc", "Subject" or "Text". Text is added by prefixing the text with a dash.

For example,

> +mail Bubba=A nifty +mail

You start writing a +mail to Bubba.

> -Bubba, here's a test of the +mail.

You add text.

> --

You send your mail.

The +note command is used to send a short note to yourself in +mail format. If no <subject> is given, the Subject will be "Personal Note".


+[un]delete [<range>]

If your mail option is set to hard delete, +delete will delete the mail messages. If your mail option is set to soft delete, then messages are merely marked for deletion and +flush is required to remove them. If no <range> is specified, the current message is used.


+[un]mark [<range>]
+[un]tag [range]=<tag>
+list tags

If no <range> is specified, the current message is marked.

A <tag> is any text string. For example,

> +skim

  1. Code Wizard Nosferatu Obf bug? 15  Wed Jul 25 17:45
  2. Code Wizard Shifting breeds?   234 Thu Jul 26 12:01

> +tag 1=vampire
> +skim tag:vampire

  1. Code Wizard Nosferatu Obf bug? 15 Wed Jul 25 17:45

Mail Aliases

+add <personal|global> alias <alias>=<list>
+remove <personal|global> alias <alias>
+expand <personal|global> alias <alias>
+list <personal|global> aliases

These commands allow you to create, delete, and view <personal|global> mail aliases. When writing a mail message, you can substitute mail aliases for names.

For example, '+add personal alias mail-hacks=F'jon Brandy Amberyl' would allow you to later use 'mail-hacks' in the 'To', 'Cc', or 'Bcc' lines of mail messages, instead of having to type out all three names.

Aliases can reference other aliases.

Mail Options

+set mail option <option>=<choice>
+mail status
+mail status for <player>
+mail defaults

+set mail vacation on=<message>
+set mail vacation off

The available mail options are as follows:


This option has two choices, hard and soft. If it is set to hard, the '+delete' command will immediately delete a message from the mailbox. If it is set to soft, the '+delete' command will only mark the message for later deletion (via the '+flush' command).


This option has two choices, space and return. If it is set to space, a space will be inserted between each text addition via '-' into the mail editor. If it is set to return, a carriage return will be inserted instead.


This option has two choices, standard and compact. The compact format leaves out bordering whitespace on displays.


This option must be given a list of one or more player names. All mail sent to you will automatically be forwarded to that list of people. This is useful for builder characters who aren't logged on very often, and for robots; it's a good idea to autoforward the mail for such characters to their primary players. If you include yourself on the autoforward list, you will still get a copy of the messages.

The command '+mail status' will display the status of your mailbox, mail quota, and mail options. Wizards can also display the status of other players' mailboxes, via +mail status for <player>.

The command '+mail defaults' will display the global mail defaults.

If you set a 'MAIL_SIG' attribute on yourself, such as,


it will automatically be evaluated and appended to the end of every message you send.

+set mail vacation on=<message>
+set mail vacation off

If you are going to be gone, you may set your mail vacation flag to on, to tell people who mail you that you are away, and not to expect a quick reply. The <message> is optional.


+review letters [<list>]
+review letter [<list>]
+retract letter <number>
+resend letter <number>=<list of recipients> ***DISABLED***

The first form of the +review command summarizes all your letters sent according to <list>, where <list> can contain:

  • A list or range of numbers
  • The keyword all (all letters)
  • The keyword last (last letter)
  • The keyword last:<number> (last <number> letters)
  • The keyword to:<name> (searches To, Cc, Bcc fields for that recipient or alias)
  • The keyword subject:<pattern> (looks for <pattern> in subjects)
  • The keyword text:<pattern> (looks for <pattern> in letter text)

+mail may be +retracted if it has not yet been read by any of its recipients, or if it is older than its Expiration time.


<range> can be one of the following:

<number>             Just that number, i.e., "5" for message #5.
<list of numbers>    Several numbers, i.e., "3 8" for messages #3 and #8.
<range of numbers>   A range of numbers, i.e., "2-5" for messages #2 to #5.
all                  All messages.
current              The current message.
deleted              Messages marked for deletion.
last:<num>           The last (or last <num>) message(s).
marked               Marked messages.
next                 The message after the current message.
previous             The message before the current message.
unread               Messages that are unread.
author:<name>        Messages from <name>.
subject:<string>     Messages with <string> somewhere in the subject line.
tag:<string>         Messages tagged with <string>.
text:<string>        Messages with <string> somewhere in the message body.

For keywords, only the first letter needs to be specified.


+mail defaults
+mail status

+set mail quota <player>=<unread>/<read>

One option provided by this +mail system is the ability to turn quotas on. If a player has more saved messages in his mailbox than the quotas permit, he will not be able to send new +mail until he is below the +mail quota. He will also be given a large annoying message when he connects, warning him that he is over the +mail quota.

In general, the MUSH database should not be used to store large amount of +mail; the +dumpmail command is provided for the archival of messages that one needs to keep. This method of enforcement prevents players from sending mail, rather than receiving it, because having mail messages fail because of a quota tends to be more of an annoyance to the sender than to the recipient; it is intended to provide a strong prod to clean up one's +mail, rather than absolutely prevent large mailboxes.

The command '+set mail quota <player>=<unread>/<read>' permits a wizard to change the amount of +mail quota that a player has available.

The defaults for quotas are given by '+mail defaults'; personal quotas are given by '+mail status'.

Mail Credits

 This mail system, written by Fluff of TooMUSH, is based upon the "common" global +mail interface design originally pioneered by F'jon in his mailpouches (and later global +mail) for PernMUSH. The code is completely original, containing nothing from previous mailers; the design, however, owes much to others.

 The layout and look of the mailer, the syntax of many of the commands, and the concepts of message range keywords, address aliasing, and mail options come from the +mail written by Brandy of CrystalMUSH. I have made a conscious effort to be as compatible as possible, at the user-interface level, with her excellent design.

 The concepts of mail signatures and message marks, as well as some command syntax and look-and-feel, come from the +mail extensions written by Tanaquil of PernMUSH. The specific organization of customized mail messages comes from Jasra of AmberMUSH's extensions.

 This code was written with efficiency in computation and storage in mind. Its primary difference from prior mailers is that it stores but a single copy of any message, regardless of the number of recipients. This mailer is currently in beta-testing; it will be made publicly available in the future.

Bug reports should be sent to lwl@netcom.com.