Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mail(1)

aliasmail(8)

filter(1)

marshal(1)

mlmgr(1)

nedmail(1)

upasfs(4)

smtp(8)

faces(1)

rewrite(6)

NEDMAIL(1)

NAME

nedmail −  reading mail

SYNOPSIS

­upas/nedmail [ ­-nr ] [ ­-f ­mailfile ] [ ­-s ­mailfile ]

­upas/nedmail ­-c ­dir

DESCRIPTION

­Nedmail edits a mailbox.  The default mailbox is /mail/box/username/mbox.  The ­-f command line option specifies an alternate mailbox.  Unrooted path names are interpreted relative to /mail/box/username.  If the ­mailfile argument is omitted, the name defaults to stored. 

The options are:

-c dir Create a mailbox.  If ­dir is specified, the new mailbox is created in /mail/box/username/dir/mbox.  Otherwise, the default mailbox is created. 

­-r Reverse: show messages in first-in, first-out order; the default is last-in, first-out. 

­-n Make the message numbers the same as the file names in the mail box directory.  This implies the ­-r option. 

-f mailfile Read messages from the specified file (see above) instead of the default mailbox. 

-s mailfile Read a single message file mailfile, as produced by fs, and treat it as an entire mailbox. This is provided for use in plumbing rules; see faces(1).

­Nedmail starts by reading the mail box, printing out the number of messages, and then prompting for commands from standard input.  Commands, as in ed(1), are of the form ‘[range] ­command [arguments]’. The command is applied to each message in the (optional) range.

The address range can be:

­address to indicate a single message header

address,address to indicate a range of contiguous message headers

g/expression/ to indicate all messages whose headers match the regular expression.

g%expression% to indicate all messages whose contents match the regular expression.

The addresses can be:

­number to indicate a particular message

address.number to indicate a subpart of a particular message

/expression/ to indicate the next message whose header matches ­expression

%expression% to indicate the next message whose contents match expression

­empty or .  to indicate the current message

-address to indicate backwards search or movement

Since messages in MIME are hierarchical structures, in ­nedmail all the subparts are individually addressable.  For example if message 2 contains 3 attachments, the attachments are numbered 2.1, 2.2, and 2.3. 

The commands are:

a args Reply to all addresses in the To:, From:, and Cc: header lines.  ­Marshal is used to format the reply and any arguments the user specifies are added to the command line to ­marshal before the recipient.  The possibility of making a fool of yourself is very high with this command. 

A args Like ­a but with the message appended to the reply. 

­b Print the headers for the next ten messages. 

­d Mark message to be deleted upon exiting nedmail.

­f Append the message to the file /mail/box/username/sendername where ­sendername is the account name of the sender. 

­h Print the disposition, size in characters, reception time, sender, and subject of the message. 

­H Print the MIME structure of the message. 

­help Print a summary of the commands. 

m person ...  Forward the message as a mime attachment to the named persons.

M person ...  Like ­m but allow the user to type in text to be included with the forwarded message. 

­p Print message.An interrupt stops the printing. 

r args Reply to the sender of the message.  ­Marshal is used to format the reply.  If and optional ­Args are specified, they are added to the command line to ­marshal before the recipient’s address. 

­R  args Like ­r but with the original message included as an attachment. 

­rf Like ­r but append the message and the reply to the file /mail/box/username/sendername where ­sendername is the account name of the sender. 

­Rf Like ­R but append the message and the reply to the file /mail/box/username/sendername where ­sendername is the account name of the sender. 

s mfile Append the message to the specified mailbox.  If ­mfile doesn’t start with a ‘/’, it is interpreted relative to the directory in which the mailbox resides.  If ­mfile is a directory then the destination is a file in that directry.  If the MIME header specifies a file name, that one is used.  Otherwise, one is generated using mktemp(2) and the string att.XXXXXXXXXXX. 

­q Put undeleted mail back in the mailbox and stop. 

EOT (control-D)
Same as q. 

w file Same as ­s with the mail header line(s) stripped.  This can be used to save binary mail bodies. 

­u Remove mark for deletion. 

­x Exit, without changing the mailbox file. 

­y Synchronize with the mail box.  Any deleted messages are purged and any new messages read.  This is equivalent to quiting nedmail and restarting. 

|command Run the ­command with the message body as standard input. 

||command Run the ­command with the whole message as standard input. 

!command Escape to the shell to do command.

­= Print the number of the current message. 

Here’s an example of a mail session that looks at a summary of the mail messages, saves away an html file added as an attachment to a message and then deletes the message:

% mail
7 messages
: ,h
1   H  212907/22 12:30  noone@madeup.net  "Add Up To 2000 free miles"
2       50407/22 11:43  jmk
3   H   78407/20 09:05  presotto
4       82207/11 09:23  xxx@yyy.net  "You don’t call, you don’t write..."
5       19307/06 16:55  presotto
6       52906/01 19:42  jmk
7       79809/02  2000  howard
: 1H
1       multipart/mixed             2129   from=noone@madeup.net
 1.1      text/plain                115
 1.2      text/html                 1705   filename=northwest.htm
: 1.2w /tmp/northwest.html
!saved in /tmp/northwest.html
1.2: d
1: q
!1 message deleted
%

Notice that the delete of message 1.2 deleted the entire message and not just the attachment. 

FILES

­/mail/box/∗ mail directories

­/mail/box/∗/mbox mailbox files

­/mail/box/∗/forward forwarding address(es)

­/mail/box/∗/pipeto mail filter

­/mail/box/∗/L.reading
mutual exclusion lock for multiple mbox readers

­/mail/box/∗/L.mbox mutual exclusion lock for altering mbox

SOURCE

­/sys/src/cmd/upas/ned

SEE ALSO

mail(1), aliasmail(8), filter(1), marshal(1), mlmgr(1), nedmail(1), upasfs(4), smtp(8), faces(1), rewrite(6)

Plan 9  —  April 28, 2005

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026