BM User Manual Dave Trulli, NN2Z 1. _W_h_a_t__i_s__B_M__? BBMM is designed to serve as the mail user-interface for the KA9Q TCP/IP inter-networking package. It provides a full set of mail services to the user which allows the sending and receipt of electronic mail. 2. _B_M__I_n_s_t_a_l_l_a_t_i_o_n To install BBMM requires the modification of the supplied configuration files and the creation of the proper directory structure. The following sections describe the file and directory structure used by BBMM and SMTP. 2.1 _D_i_r_e_c_t_o_r_y__S_t_r_u_c_t_u_r_e \spool\mqueue This directory holds the outbound mail jobs for SMTP. Each job consists of 2 files a xxxx.txt and xxxx.wrk file where xxxx is a unique numerical prefix. The format of the files are described in a later section. \spool\rqueue This directory is used by SMTP for jobs that have been received and will be processed by a user defined mail routing program. This directory is not used directly by BBMM. \spool\mail This directory holds the individual mailboxes for each user name on your system. The extension .txt is add to the user name to form the mailbox name. Mail received by the SMTP server is appended to the mailbox file. 2.2 _C_o_n_f_i_g_u_r_a_t_i_o_n__F_i_l_e_s - 2 - 2.2.1 _T_h_e__\_b_m_._r_c__f_i_l_e The \bm.rc file provides BBMM with the configuration needed for the operation of the mailer. The format for the \bm.rc file is: variable value The following variables are valid in the bm.rc file: _s_m_t_p___<_m_a_i_l__p_a_t_h_> defines the path to the directory containing the mailbox files. The default directory is \spool\mail on the current drive. _h_o_s_t__<_y_o_u_r__h_o_s_t__n_a_m_e_> Is used to set the local hostname for use in the RFC822 mail headers. This is a required field. _u_s_e_r__<_u_s_e_r__n_a_m_e_> Defines the user name of the person who is sending mail. This is also used as the default mailbox for reading mail. On the AMPRNET this is usually set to your call. There is a DOS limit of 8 characters for the user name. _e_d_i_t___<_p_a_t_h__o_f__y_o_u_r__e_d_i_t_o_r_> Defines the name of your favorite editor which can be used to construct and edit the text of outgoing messages. The use of edit is optional. _f_u_l_l_n_a_m_e__<_y_o_u_r__f_u_l_l__n_a_m_e_> Is used to provide your full name to the mailer for use in the comment portion of "From:" header line. The use of fullname is optional. - 3 - _r_e_p_l_y___<_r_e_t_u_r_n__a_d_d_r_e_s_s_> Defines the address where you wish to receive replies to messages sent. This option is useful if you are operating your pc on a local area network and would like your mail replies sent to a more "well known host". The address specified by reply is used to generate a "Reply-To:" header in outbound mail. The "Reply-To:" header overrides the "From:" header which is the address normally used to reply to mail. This field is optional. _m_a_x_l_e_t___<_n_u_m_b_e_r__o_f__m_e_s_s_a_g_e_s_> defines the maximum number of messages that can be processed by BBMM in one mailbox file. The default value of maxlet is 100. _m_b_o_x__<_f_i_l_e_n_a_m_e_> Specifies the default file to be used for the "save" command. This file is in the same format as a mailbox and may later be viewed using the -f option of BBMM. If this option is not used then the default is set to mbox. _r_e_c_o_r_d__<_f_i_l_e_n_a_m_e_> If defined a copy of each message sent will be saved in . _f_o_l_d_e_r__<_d_i_r_e_c_t_o_r_y__n_a_m_e_> If defined folder contains the path used by the save command. _s_c_r_e_e_n__[_b_i_o_s__|__d_i_r_e_c_t_] In the Turboc compiled version of BBMM, screen sets the display output mode to use either direct writes to screen memory or the ROM BIOS. The default is direct which provides the fastest output mode. If you are using a windowing system such as Desqview you should set the mode to bios. Here is a sample bm.rc file. - 4 - host nn2z.ampr user nn2z fullname Dave Trulli # send my replies to the Sun reply nn2z@ka9q.bellcore.com screen direct edit /bin/vi mbox c:/folder/mbox record c:/folder/outmail folder c:/folder maxlet 200 2.13.1 _T_h_e__\_a_l_i_a_s__f_i_l_e The alias file provides an easy way to maintain mailing lists. An alias can be any string of characters not containing the "@" symbol. The format for the alias file is: alias recip1 recip2 recip3 recip4 Note that a long list of aliases can be continued on an additional line by placing a tab or space on the continuation line. Some examples aliases are: dave nn2z@nn2z.ampr phil karn@ka9q.bellcore.com # mail to local nnj users nnj wb2cop@wb2cop.ampr karn@ka9q.bellcore.com wb0mpq@home.wb0mpq.ampr w2kb@w2kb.ampr ka2tsm@ka2tsm.ampr In the above example, when specifying nnj as the recipient, BBMM will expand the alias into the list of recipients from the alias file. At this time an alias may not contain any other aliases. 2.13.2 _\_s_p_o_o_l_\_m_q_u_e_u_e_\_s_e_q_u_e_n_c_e_._s_e_q The sequence file maintains a message counter which is used by BBMM and SSMMTTPP to generate message ids and unique filenames. This file is created by BBMM. - 5 - 2.14 _E_n_v_i_r_o_n_m_e_n_t The timezone used in mail headers is obtained from the DOS environment variable TZ. An example TZ setting is: set TZ=EDT4 It is set in your AUTOEXEC.BAT file. The first 3 characters are the timezone and the fourth character is the number of hours from GMT time. If TZ is not set, GMT is assumed. 3. _C_o_m_m_a_n_d_s All BBMM commands are single letters followed by optional arguments. The command list has been designed to make those familiar with Berkeley mailers comfortable with BBMM. 3.1 _M_a_i_n__m_e_n_u__c_o_m_m_a_n_d_s _m__[__u_s_e_r_l_i_s_t__] The mail command is used to send a message to one or more recipients. All local recipient names ( those which don't contain an '@' ) are checked for possible aliases. If no arguments are supplied you will be prompted for a recipient list. While entering a message into the text buffer several commands are available such as: invoking an editor, and reading in text from other messages or files. See the section below for a description of these commands. To end a message enter a line containing a single period. It is important to remember that the input line buffer has a 128 character limit. You should format your text by entering a carriage return at the end of each line. Typing excessively long lines may cause data loss due to truncation when passing the message through other hosts. Keeping lines less than 80 characters is always a good idea. _d__[__m_s_g_l_i_s_t__] Mark messages for deletion. Messages marked for deletion are removed when exiting BBMM via the qq command or when changing to an alternate mailbox with the nn command. - 6 - _h Display message headers. The message headers contain the message number, the status indicating whether it has been read or deleted, the sender, size, date, and subject. _u__[__m_s_g_l_i_s_t__] Undelete a message that is marked for deletion. The status of a message can be determined by looking at the status field of the message using the hh command. _n__[__m_a_i_l_b_o_x__] Display or change mailbox. The nn command with no arguments will display a list of mailboxes containing mail. If an argument is supplied, then the current mailbox is closed and a new mailbox is opened. _!__c_m_d Run a DOS command from inside BBMM. An error message will result if there is not enough memory available to load the command. _? Print a help menu for BBMM commands. _s__[__m_s_g_l_i_s_t__]__[__f_i_l_e__] The ss command is used to save messages in a file. If no filename is given the default from the mbox variable in \bm.rc is used. If no message number is supplied then the current message is saved. The message is stored in the same format as a mailbox file with all mail headers left intact. _p__[__m_s_g_l_i_s_t__] The pp command is used to send messages to the printer. This command uses the DOS device PPRRNN for output. This command is equivalent to: - 7 - s [ msglist ] PRN _w__[__m_s_g_l_i_s_t__]__f_i_l_e The ww command is used to save messages in a file. Only the message body is saved. All mail headers are removed. If no message number is supplied then the current message is saved. _f__[__m_s_g__] The ff command is used to forward a mail message to another recipient. If no message number is supplied the current message is used. The user is prompted for the recipients and a subject. The RFC822 header is added to the message text while retaining the complete original message in the body. Also see the ~m command. _b__[__m_s_g__] Bounce a message. Bounce is similar to forwarding but instead of your user information, the original sender information is maintained. If no message number is supplied the current message is used. _r__[__m_s_g__] Reply to a message. Reply reads the header information in order to construct a reply to the sender. The destination information is taken from the "From:" or the "Reply- To:"header, if included. If no message number is supplied the current message is used. _m_s_g_# Entering a message number from the header listing will cause the message text to be displayed. _l List outbound messages. The job number, the sender, and the destination for each message is displayed. A status of "L" will appear if the SMTP sender has the file locked. - 8 - _k__[__m_s_g_l_i_s_t__] Remove an outbound message from the mqueue. A message can be removed from the send queue by specifying the job number obtained by the l command. If the message is locked you will be warned that you may be removing a file that is currently being sent by SMTP. You will asked if this job should still be killed. _$ Update the mailbox. This command updates the mailbox, deleting messages marked for deletion and reading in any new mail that may have arrived since entering BBMM. _x Exit to DOS without changing the data in the mailbox. _q Quit to DOS updating the mailbox. 3.21 _T_e_x_t__i_n_p_u_t__c_o_m_m_a_n_d_s The following commands are available while entering message text into the message buffer. ~r read into the message buffer. ~m read into the message buffer. ~p display the text in the message buffer. ~e invoke the editor defined in \bm.rc with a temporary file containing the text in the message buffer. ~q Abort the current message. No data is sent. ~~ Insert a single tilda character into the message. ~? Display help menu of tilda escape commands. - 9 - 4. _M_a_i_l_e_r__O_p_e_r_a_t_i_o_n 4.1 _C_o_m_m_a_n_d__L_i_n_e__O_p_t_i_o_n_s BBMM may be invoked as follows: To send mail: bm [ -s subject ] recip1 .. .. recipN To read mail: bm [ -u mailbox | -f file ] -s subject This option sets the subject to the text on the command line. -u mailbox Specify which mailbox to read. This overides the default from the bm.rc. -f file Read message from "file" instead of a mailbox. 4.2 _S_e_n_d_i_n_g__M_a_i_l 4.3 _R_e_a_d_i_n_g__M_a_i_l 5. _B_M_/_S_M_T_P__I_n_t_e_r_f_a_c_e 5.1 _F_i_l_e__F_o_r_m_a_t_s 6. _B_u_g__R_e_p_o_r_t_s Please send any comments, suggestions or bug reports to: Dave Trulli Usenet: nn2z@ka9q.bellcore.com packet: nn2z@nn2z AMPRNET: nn2z@nn2z.ampr [44.64.0.10]