BFMAIL Help

BFMAIL is used to manage the distribution of meeting information to a large number of B-Factory collaborators. Mail received by BFMAIL will be re-distributed to people associated with one or more meeting codes (or list). The meeting code list is housed in an Oracle database and primarily maintained by the B-Factory staff.

All communications to BFMAIL are done via e-mail, or, if you are on the SLAC VM computer then some commands may be accomplished via the Tell command.

Mail should be sent to BFMAIL@SLAC.Stanford.EDU.

There are basically two types of commands.

  1. A "Distribution:" command which request BFMAIL to re-distribute the following mail item to anyone registered to one or more of the list.
  2. A variety of other commands which request information from BFMAIL or allow the user to perform some database functions with the subscribe and unsubscribe commands.

When BFMAIL receives it will first look for a line which begins with the word "Distribution:" followed by one or more meeting codes. If a distribution list is found then all of the text following that line will be re-distributed and a conformation notice sent to the requestor.

If a distribution list can not be found then BFMAIL will attempt to parse the first line of text following the mail header. If a command word is found, then it will attempt to process the command and return the results to the requestor. Multiple commands may be issued on subsequent lines. Processing will stop when it finds a null line, end of file, or the "end" command.

The commands that BFMAIL understands are:

                                                                           
    Distribution:  [code]..                                               
          The text following this command will be re-distributed                
          to everyone subscribed to the code(s) listed.  Note that              
          the command must begin in column 1 and within the first               
          5 lines of body of the mail.                                          
                                                                                
    List  [code [code]..]                                                       
          Will return a list of the current codes and code titles               
          available.  Some codes have restricted access.                        
                                                                                
          Examples:                                                             
                                                                                
               list                                                             
               list test db                                                     
               list comp-*                                                      
                                                                                
    Who    [code]..                                                       
          Will return a list of everyone who is currently subscribed            
          to the code(s) listed.                                                
                                                                                
          Examples:                                                             
                                                                                
               who test                                                         
               who test, db                                                     
               who comp-*                                                       
                                                                                
    Which [address] | [name]                                                    
          Will return a list of the codes which the person who owns             
          the given address is associated with.  If the address is              
          not given then it will default to the requestor address.              
          The "address" may use standard SQL wildcards.  The * has              
          the same meaning as the %.                                            
                                                                                
          Examples:                                                             
                                                                                
               which                                                            
               which achan@slacvm                                               
               which achan@*                                                    
               which george crane                                               
                                                                                
          If 'name' is used then it can be of the form 'last, first'            
          or 'first last'.  Note that 'name' is assumed if the                  
          string does NOT have an @ within it, otherwise it is                  
          considered a network address.  The wildcard character                 
          will automatically be added to the first name if given.               
                                                                                
    Locate [, first] |                                    
          Will return a list of the people which match the given                
          last name.   The current home institution name and e-mail             
          address(s) will be returned. The name given may use standard          
          SQL wildcards.  The * has the same meaning as % in this               
          case.   See note above about names.                                   
                                                                                
          Examples:                                                             
                                                                                
               locate crane                                                     
               locate zism*                                                     
                                                                                
    Phonelist  [code]..                                                   
          Will return a list of everyone who is currently subscribed            
          to the code(s) listed in a phone book form.  The                      
          home institution, phone number, and e-mail address(s)                 
          will be included for each person in the codes given.                  
          The output is the same as the LOCATE command.                         
                                                                                
          Examples:                                                             
                                                                                
               phonelist test                                                   
               phonelist test, db                                               
               phonelist comp-*                                                 
                                                                                
    Mailstop  [code]..                                                    
          Will return a mailstop distribution list for all people               
          subscribed on the code(s) given.                                      
                                                                                
          Examples:                                                             
                                                                                
               mailstop  test                                                   
               mailstop  test, db                                               
               mailstop  comp-*                                                 
                                                                                
    Help                                                                        
          Retrieve help message, explaining these commands. This file.          
                                                                                
                                                                                
    Subscribe  [address | name]                                           
          Used to subscribe yourself (or address, if specified) to code.        
          Note that you must be a code leader to add someone else.              
          See note above (under which) about 'name' option.                     
                                                                                
          Examples:                                                             
                                                                                
               subscribe test                                                   
               subscribe test achan@slacvm                                      
               subscribe test george crane                                      
                                                                                
    Unsubscribe  [address | name]                                         
          Used to unsubscribe yourself (or address, if specified) to            
          a code.  Note that you must be a code leader to remove                
          someone else.                                                         
          See note above (under which) about 'name' option.                     
                                                                                
          Examples:                                                             
                                                                                
               unsubscribe test                                                 
               unsubscribe test achan@slacvm                                    
               unsubscribe test crane, g                                        
                                                                                
    End                                                                         
          Used to indicate the end of a command or series of                    
          commands.  Helps to protect against automatic signature               
          lines being processed as commands.  Processing will also              
          stop when it finds a null line or end of file.                        
                                                                                
    ---- Possible FUTURE improvements ------------------------------            
                                                                                
    Distribution[:]  [,code] | WHERE sql_where_statement                  
          Remove the colon requirement on the "distribution" command.           
          Adds the WHERE clause option.                                         
                                                                                
    Who  [code] | WHERE sql_where_statement                               
          Adds the WHERE clause option.                                         
                                                                                
                                                                                
    Multiple line commands may be terminated with a semi-colon (;),             
    blank line or end of file.                                                  
                                                                                
Examples:                                                                       
                                                                                
                                                                                
    ==============================================================              
    To: ....                                                                    
    From:  ....                                                                 
    Subject: ...                                                                
                                                                                
    Distribution: CAL                                                           
                                                                                
    This is a message for the CAL code meeting group.                           
    All lines following the "distribution:" line will be re-distributed         
    to everone subscribed to the CAL code.   A list of subscribers              
    names will be appended to the mail item when sent unless it is              
    a very large group.                                                         
                                                                                
                                                                                
    ==============================================================              
    To: ....                                                                    
    From:  ....                                                                 
    Subject: ...                                                                
                                                                                
    list                                                                        
                                                                                
                                                                                
    ==============================================================              
    To: ....                                                                    
    From:  ....                                                                 
    Subject: ...                                                                
                                                                                
    who test                                                                    
    which                                                                       
    end