Web page hosting and cheap domain registration & search engine ranking services
  

 

msg: `While You Were Out' Messages with comp

[previous] [next] [table of contents] [index]

The messages you send with comp don't need to have fields like cc: and Subject: in the headers. As long as you have To:, your message should get there. (The other header fields should follow rules in RFC 822.)

For instance, here's a program that receptionists might want. It uses prompter to take phone and other messages, then sends them via email. This version of comp is called msg.

The date, time, and person who took the message are added automatically by MH. The draft template file uses Fcc: to automatically keep a copy of all messages sent. msg is nice for messages to busy people who aren't at their desks but are close to terminals -- or who can't check their mailboxes for slips of paper -- or who want to track their messages electronically.

The messages look something like this:

% show
    ...
Date: Mon, 09 Jan 1995 12:34:56 PST
From: receptionist's username
To: loisl
Subject: While You Were Out...
X-Person: Betty Smith
X-Of: Kumquat Associates
X-Phone: (619)234-5678
X-Called: x
X-Please_call: x
--------
About your new cheese straightener.

To make msg, follow these steps:

  1. Make a file named msgcomps in your MH directory, like this:
    To:
    Fcc: msgs
    Subject: While You Were Out...
    X-URGENT:
    X-Person:
    X-Of:
    X-Phone:
    X-Called:
    X-Came_to_see_you:
    X-Wants_to_see_you:
    X-Please_call:
    X-Will_call:
    X-Returned_your_call:
    --------
    

    As prompter shows each empty field from that file, the receptionist can either fill it in with a name or number, type x after it (to just include the field in the message), or leave it blank (and prompter will delete the field). This is a handy way to use prompter.

  2. To make msg as a version of comp, see the Section Making a New Command Version. Or, to make an alias or function, see the Section Writing Command Versions as Aliases or Functions.

    Add this entry to your MH profile, or add the arguments to your alias or function:

    msg: -form msgcomps -editor prompter
    
  3. If you want to use the Fcc: msgs field to keep copies of messages, as shown above, you might also want to add an at(1) or cron(8) job to clean up old messages. The Section Cleaning Up Old Messages shows the setup.
  4. Some users don't want their phone messages mixed in with their other email. If that's true, try one of these ideas:
    • Write a short shell script called getmsgs that uses pick to find messages with the subject "While You Were Out...", puts them in a sequence, shows them, and then either refiles or removes them. For example:
      #! /bin/sh
      msgs=`pick -list -subject "While You Were Out"` || exit
      for msg in $msgs
      do
          show $msg
          echo "q quits, r removes, anything else continues: \c"
          read ans
          case "$ans" in
          q) break ;;
          r) rmm $msg ;;
          esac
      done
      

      See the Chapter Introduction to UNIX Programming with MH for help with shell programming.

    • Ask the system administrator to add the user to the system transfer agent's alias file with a different address. For instance, make an alias named joeb_msgs for the user joeb. When people send him messages to joeb_msgs, they'll be delivered to his usual address (joeb), but the message header will say:
      To: joeb_msgs
      

      Other users can send Joe's phone messages to his special address, even if they don't use the msg program. Then it will be easy for Joe to find his messages with MH tools like pick:

      % pick -to joeb_msgs ...
      

      You could make a little shell alias or shell program named something like showmsgs that does this:

      show `pick -to ${USER}_msgs -list`
      

      The Section Passing Message Numbers with Backquotes and the Chapter Introduction to UNIX Programming with MH have hints.

    • Your system administrator might make separate small accounts for users who get messages this way. Use a simple .login or .profile file that automatically shows the messages, if any, then asks the user what to do with each message. A shell script with a loop would do it.

 

 

 

Disclaimers: This document is provided as free service for the benefits of Active-Venture.com's web hosting customers only.

 
Quotes: The greatest dangers to liberty lurk in insidious encroachment by men of zeal, well-meaning but without understanding.