Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
msend(1)		    General Commands Manual		      msend(1)

       msend - send a message

       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]

       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  mes-
       sage, 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 peo-
       ple 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 fu-
       ture 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.

       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 re-
       ceived 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

	    fred		Sends to user "fred" on	the same machine.	Sends to fred on the machine "".

	    fred:tty00		Sends to fred on terminal tty00.	Sends to all terminals on		Sends to the console at

       Strictly	speaking, the form of the recipient string is:


       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	speci-
       fied it will be sent to all users on the	machine.

       If  the host is not specified, the message will be delivered to the lo-
       cal host.  Otherwise it will be sent to	the  specified	machine.  This
       field is	ignored	if the -b flag is given.

       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 func-
       tion  nor  msend	 -e is ever executed the message buffer	will grow for-
       ever, 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.

       -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 connec-
	      tions. On	the other hand transmission is a little	 more  ineffi-
	      cient and	takes longer.

       -g     Enables UDP (datagram) transmission. This	is the default.	 Data-
	      gram 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  unacknowl-
	      edged  -	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

       -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 in-

Environment Variables
       MSENDOPTS		used to	set default switches

       ~/.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)

       Geoff Arnold <geoff@tyger.East.Sun.COM> wrote the core.
       Andrew Herbert <> cleaned it up a bit.
       Zik Saleeba <> did many extensions and rewrites.
       Michael Strates <>	 has  taken  over  the
       project to hopefully keep continuing it.


Name | Syntax | Introduction | Description | Usage | Options | Environment Variables | Files | See Also | Authors

Want to link to this manual page? Use this URL:

home | help