[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. The MOO Mail System

The MOO email system allows you to send and receive messages to and from other players. Whilst not approaching the complexity of a fully fledged email system, it does allow players to send short messages between themselves, normally on game related topics. The Mail Room class defines a set of verbs that can be used by other MOO programs to send mail. This is used, for example, by the @gripe command, which uses the MOO Mail system to deliver gripes to the game administrators. The following commands are used to activate portions of the MOO mail system:
 
@mail
- seeing a table of contents for your collection of email messages
@read
- reading individual messages in your collection
@next
- reading the 'next' message in your collection
@prev
- reading the 'previous' message in your collection
@send
- composing and sending a message to other players
@answer
- replying to one of the messages in your collection
@rmmail
- discarding one or more messages from your collection
@renumber
- renumbering the messages in your collection
Command: @mail
Command: @mail new
Shows a table of contents for your MOO email message collection. You are notified when you connect to the MOO if there are any such messages. A little arrow indicates the mail system's notion of your current message. The first form lists all of your messages; the second form lists all messages after your current message. If you have a large number of mail messages, you can give arguments so that @mail only lists the messages you're interested in. The general format is
 
@mail message-sequence
where message-sequence is some combination of the following
 
cur
- the current message
new
- all messages after the current message
#
- (where # is a number) the message numbered # if there is one.
#-#
- all messages in the given range, if any.
last:#
- the last # messages
-#
- the last # messages
You may use as many of these at once as sanity permits, e.g.,
 
@mail 1 4 7 last:10 2-3 15 cur
Command: @read message-number message-number ...
Command: @read
Prints the contents of the indicated messages from your MOO email collection. You get the message numbers for use here by typing the `@mail' command, which prints a table of contents for your entire MOO email collection. If no arguments are given to `@read', then the current message in your collection is printed. In any case, the current message after `@read' finishes is the last one printed.
Command: @next
Print the `next' message in your MOO email collection. The mail system's notion of your current message is incremented. Thus, one can read all of one's new messages one-by-one simply by typing `@next' repeatedly.
Command: @prev
Print the `previous' message in your MOO email collection. The mail system's notion of your current message is decremented. Thus, one can review all of one's previous messages one-by-one simply by typing `@prev' repeatedly.
Command: @send recipient [recipient ...]
Prepares for you to compose a MOO email message to the recipients named on the command line. A recipient can be specified by giving a player name or object-id, or a `*' followed by the name or object-id of some non-player mail recipient (e.g., a mailing list or a mail folder). A list of such non-player recipients is available from within the mailroom with the `showlists' command. When the `@send' command is typed, the usual line editor is invoked. The `subject' command is used to set a Subject: line. Use `say' (`"') to insert lines in the body of your message. Giving this command without arguments resumes editing the previous unsent draft message if one exists.
Command: @reply [message-number] [sender] [all] [incl] [noincl]
Command: @answer [message-number] [sender] [all] [incl] [noincl]
Prepares for you to compose a MOO email message to the players who either received or composed the indicated message from your collection. The usual editor is invoked. The subject line for the new message will be initialized from that of the indicated message. If you leave off the message number, the reply will be to your current message, if that exists. If there is a Reply-to: field in the message you are answering, its contents will be used to initialize the To: line of your reply. Otherwise, a To: line is determined depending on whether you specified `sender' or `all' in the command line (or your .mail_options). `incl' includes the text of the original message in your reply, `noincl' does not. Defaults are `sender' and `noincl', but you can change this by setting your .mail-options property.
Command: @rmmail message-number message-number ...
Deletes the indicated messages from your MOO email collection. There is no confirmation for this action, so be careful; deleted messages are really gone, irrecoverable. You get the message numbers for use here by typing the `@mail' command, which prints a table of contents for your entire MOO email collection. You may specify cur in place of a number to specify your current message. `@rmm' with no arguments deletes your current message.
Command: @renumber
Renumbers the messages in your collection to go from 1 to however many you have at the moment.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 Mail Options

There are 3 personal properties that you can use to customize how your mail is composed and forwarded
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1.1 .mail_forward

This property is a list of people (object reference numbers) who will receive any mail that gets sent to you. This list may include non-person recipients (i.e.,descendants of $mail_recipient). If this list is nonempty, you will not receive any mail yourself unless you are on it. E.g., if blip is #42 and ur-blip is #43
 
#43.mail_forward={}         -- usual case; ur-blip gets his own mail.
#43.mail_forward={#42}      -- blip gets ur-blip's mail instead.
#43.mail_forward={#43,#42}  -- ur-blip gets mail and blip gets a copy.
#43.mail_forward={#-1}      -- ur-blip's mail disappears without a trace.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1.2 .mail_notify

This property is a list of people (object reference numbers) to be notified whenever mail is sent to you. This list may include anything that has a :tell() verb. Notification will take place regardless of whether or how your mail is forwarded. Thus, in the previous example
 
#42.mail_notify={#43}
means that ur-blip will be told whenever blip is sent new mail.
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1.3 .mail_options

This property is a list of options that is consulted by @send and @answer to determine how messages should initially be composed The following options are available for @answer:
 
sender
- replies go only to the message's author (From: line).
all
- replies go to everyone who got the original (From: + To: lines)
incl
- include original message in the body of your reply.
noincl
- don't include original message in the body of your reply.
The following option affects the behaviour of @send and @answer:
 
replyto
="list of people". A Reply-to: field will be added containing these people.
So, for example, if ur-blip usually wants his replies to go to everyone and always start out with the text of the original included, he should do
 
;#43.mail_options = {"all", "incl"};

[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Joey Hess on June, 17 2001 using texi2html