DragonFly On-Line Manual Pages
msend(1) DragonFly General Commands Manual msend(1)
Name
msend - send a message
Syntax
msend [-t] [-g] [-b] [-v] [-rN] [-pN] [-d] recipient [message]
msend [-sN] -l[N]
msend -c
msend [-sN] -u
msend -e[N]
msend -s[N]
Introduction
The msend project was flaring until 1993. In 1993 the next version of
msend just didn't get released. I don't quite know why, but it's my
duty to the UNIX community to continue this project and make sure it
becomes the number one message daemon around (if not the only?!).
This new version of msend marks many little cleanups, and fixes, mostly
to the actual user interface of the program. However, in sense it marks
more than that. It marks a continuation of a great project! The next
version will include support for encrypted message transmission, file
transmission via TCP and a new message forwarding daemon which will e-
mail you any new messages while you are away. You will also have the
option to spawn another editor (like pico/vi/emacs) to edit the
message, rather than do it on a line by line basis. I'm considering
adding a simple user interface, to let learning users use the msend
program (without spoiling it for others).
The easiest way to get to know msend is to try chatting with other
people with it, either locally or remotely, to get a feel for the
program. I'm sure you'll be impressed. If you have any suggestions for
the future release of msend, please e-mail me. My address is at the
bottom of this manual page. I also hope to keep this manual page up to
date. I'll leave it virtually as is (with a few minor modifications)
below, until the next release. If you want a more up to date resource,
read the README file. Hopefully the administrator has read the
instructions and installed it into /usr/doc/msend.
Description
This program can be used to send messages to people on either the local
machine or on remote machines where the RFC1312 Message Send Protocol
is supported.
To send a message to someone you would commonly use the form:
msend recipient
Msend will then go into an message input mode where you enter a message
line-by-line. You can complete the message by entering a blank line or
sending the end-of-file character.
If the person you have sent the message to is not logged on or has used
mesg n to turn their messages off, the message to them may be saved for
them to read when they next log in. In fact all messages that are
received are saved so that you can review them at leisure. The msend
-c, msend -l and msend -u options select these features and are
described in greater detail later.
In the example shown above, recipient is usually one of the following
forms:
fred Sends to user "fred" on the same machine.
fred@bitty.box Sends to fred on the machine "bitty.box".
fred:tty00 Sends to fred on terminal tty00.
:all@bitty.box Sends to all terminals on bitty.box.
@bitty.box Sends to the console at bitty.box.
Strictly speaking, the form of the recipient string is:
[user][:tty][@host]
If either the user or the tty is omitted the program will attempt to
match on the other. If both are omitted the message will be sent to the
console or some other default destination. If the tty is given as "all"
the message will be sent to all of user's logins. If user isn't
specified it will be sent to all users on the machine.
If the host is not specified, the message will be delivered to the
local host. Otherwise it will be sent to the specified machine. This
field is ignored if the -b flag is given.
Usage
msend [-t] [-g] [-b] [-v] [-rN] [-pN] [-d] recipient [message]
This form is used to send messages. A message may either be given on
the command line or if omitted there will be taken from standard input.
msend -l[N]
Display the last N messages. This is particularly useful if a message
was lost from your screen before you had a chance to read it. Usually
only a maximum of twenty messages are kept between logins. Regular
cleanups will delete old messages as well.
msend -c
Check unread messages. If a message is sent to a user who is not logged
on it will be stored in their save file and marked as unread. Placing
an msend -c command in your .login file will inform you of any unread
messages when you log in next. The program will return 0 if there are
messages or 1 if there are none.
msend -u
Display unread messages. This will display all messages received while
you were incommunicado.
msend -s[N]
Shorten your buffer of old messages. The number of messages left in
your buffer is reduced to at most N. You may want to put this in your
.logout file to prevent keeping ancient messages. If neither this
function nor msend -e is ever executed the message buffer will grow
forever, which is considered a Bad Thing.
msend -e[N]
Expire old messages. This goes through all the users on the system and
reduces the maximum number of saved messages to N. The default is
twenty. Only the system administrator can run this function. Often this
is run as a daily cron(8) job.
Options
-t This enables the use of TCP (stream) connections rather than
datagrams. Using streams connections means that messages will
have no size limit and will be reliable over bad network
connections. On the other hand transmission is a little more
inefficient and takes longer.
-g Enables UDP (datagram) transmission. This is the default.
Datagram connections are slightly faster but are less reliable
on unreliable network links. They are also limited to 64k in
size.
-b Switches to broadcast transmission. This will cause the message
to be seen by all machines on the local network. If none of the
machines is able to deliver it directly to the destination the
attempt will timeout and you will receive a "Message
unacknowledged - may not have been received" error. Broadcast
messages are also limited to 1k.
-v Turns on verbose mode. This tells you various details of the
progress of transmission.
-rN Selects a number of retransmission attempts. The default is
four. The first retransmission occurs after three seconds. This
period between retransmissions increases by two seconds each
time.
-pN Sets the internet port number to use. Normally the default port
1/8 will be used.
-d Turns on debugging mode. This will display a lot of boring
information.
Environment Variables
MSENDOPTS used to set default switches
Files
~/.message store of old or unread messages
/var/message/$USER alternative location for messages
~/.msgsig signature to add to messages
See Also
write(1), talk(1)
Authors
Geoff Arnold <geoff@tyger.East.Sun.COM> wrote the core.
Andrew Herbert <andrew@werple.apana.org.au> cleaned it up a bit.
Zik Saleeba <zik@zikzak.apana.org.au> did many extensions and rewrites.
Michael Strates <mstrates@minkirri.apana.org.au> has taken over the
project to hopefully keep continuing it.
msend(1)