NAME

nedmail – reading mail

SYNOPSIS

upas/nedmail [ –nrt ] [ –f box ] [ –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.
The options are:
c dir         Create a mail box. If dir is specified, the new mail box is created in /mail/box/username/dir/mbox. Otherwise, the default mail box 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 box        Read messages from box instead of the default.
s mailfile      Read a single message file mailfile, as produced by fs, and treat it as an entire mail box. This is provided for use in plumbing rules; see faces(1).
t           modify the h command to include the recipient rather than the sender. This is useful for mail boxes containing sent messages.
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.
g#file#expression#   to indicate all messages with upas/fs message directory file matching expression. If no file is specified, from is the default.
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.
mb mailbox     switch mailboxes. Deleted messages are not flushed.
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 any 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 an mdir(6) name.
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.
"           quote message for reply.
|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    2129      07/22 12:30    noone@madeup.net Add Up To 2000 free miles
2         504      07/22 11:43    jmk
3     H     784      07/20 09:05    presotto
4         822      07/11 09:23    xxx@yyy.net You don't call, you don't write...
5         193      07/06 16:55    presotto
6         529      06/01 19:42    jmk
7         798      09/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.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)