Mercurial > hg > Applications > mh
diff FAQ @ 0:bce86c4163a3
Initial revision
author | kono |
---|---|
date | Mon, 18 Apr 2005 23:46:02 +0900 |
parents | |
children | 441a2190cfae |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FAQ Mon Apr 18 23:46:02 2005 +0900 @@ -0,0 +1,1695 @@ +Archive-name: mh-faq +Last-modified: $Date$ +Version: $Revision$ + + This is a living list of frequently asked questions on the mailer + user interface, Mail Handler, or MH. The point of this is to + circulate existing information, and avoid rehashing old answers. + Better to build on top than start again. Please read this document + before ever posting to this newsgroup. + + This article is posted monthly. If it has already expired and + you're not reading this, you can hope that you saved the last bit of + question 3 so that you can get a copy yourself. + + Please do not post an answer when someone posts a frequently asked + question, as I will always e-mail a reply. This ensures that + everybody gets their question answered fully and eliminates + unnecessary traffic in this newsgroup. + + Your comments, additions and fixes to this list are welcome: please + send them to Bill Wohler <wohler@sap-ag.de>. + + +Subject: Table of Contents +From: Preface + +Legend: + new, - deleted, ! changed + +Introductory + + 1. Why should I use MH? + 2. What is the current version/status of MH? + 3. Where can I get MH? + 4. What references exist for MH? +!5. What other MH software is available? + 6. How can I print a MH manual? + 7. How should I report bugs? + 8. How can I convert from my mailer to MH? + +Building MH + + 10. What machines does MH run on? + 11. How do I build MH? + 12. What options should I use? + 13. Fixing "post: problem initializing server; [BHST] no servers available" + 14. Where can I get POP3? + 15. What do I do if scan shows the wrong date? + 16. Why slocal writes messages to system maildrop that from(1) can't read. + 17. Why does repl add a "Re:" to a message that already has one? + 18. Does MH support IMAP2 (RFC 1064)? + 19. Why does "mailgroup mail" only affect inc and not slocal? + +Using MH + + 30. Where can I read about slocal and the format of the .maildelivery file? + 31. How do I include messages in repl with or without ">"? + 32. How can I eliminate duplicate copies of letters to myself? + 33. How would one go about reading usenet with MH? + 34. Can I append MH messages (ie. +inbox/1) to a UNIX mailbox format file? + 35. How can I include my signature? + 36. What to do with "Problems with edit - draft removed". + 37. How do I call my editor with arguments? +!38. How do I debug my .maildelivery file? + 39. How can I digestify the messages in a folder for mail to another user? + 40. Can I run my message through a program (ie. ispell) before sending? + 41. Can I append MH messages to a GNU Emacs rmail BABYL-format file? + 42. Is there documentation for mh-e? + 43. How can I change my return address? + 44. How can I change my From header? + 45. What to do with "bad address 'xxx' - no at-sign after local-part". ++46. How can I search through multiple folders? ++47. Why isn't slocal working? ++48. Fixing "post: problem initializing server; [RPLY] 503 Sender + already specified" + +Xmh + + 50. How can I get xmh to use Emacs as the editor? + 51. Does xmh support subfolders? + 52. How do I precede included messages with ">" when replying in xmh? + +Appendix + + Glossary, Acknowledgements, Warranty + Switching xmh's editor + babyl2mh.pl + inco + + +Subject: Viewing This Article +From: Preface + + To skip to a particular question numbered xx, use "/^F.*xx" with most + pagers. In GNU Emacs type "M-C-s ^F.*xx", (or C-r to search backwards), + followed by ESC to end the search. "-xx" is often sufficient. + + To skip to new or changed questions, use "/^S.*[!+]" with most pagers and + "M-C-s ^S.*[!+]" in GNU Emacs. + + This article is in digest format. Nn may have already broken this + message into separate articles; if not, then type "G %". In rn, use + ^G to skip sections. + + This article is treated as an outline when edited by GNU Emacs. + Run "M-x describe-mode" to see available outline-mode commands. + Useful commands are "C-c C-s" (show-subtree) and "M-x show-all" + + Numbers in square brackets denote the month and year of the last + update. + + +Subject: Why should I use MH? +From: Intro-1 + + The MH message handling system is a set of electronic mail programs + in the public domain. If your computer runs UNIX, it can probably + run MH. + + The big difference between MH and most other "mail user agents" is + that you can use MH from a UNIX shell prompt. In MH, each command + is a separate program, and the shell is used as an interpreter. So, + all the power of UNIX shells (pipes, redirection, history, aliases, + and so on) works with MH--you don't have to learn a new interface. + Other mail agents have their own command interpreter for their + individual mail commands (although the mush mail agent simulates a + UNIX shell). + + Because MH commands aren't part of a monolithic mail system, you can + use them at any time; you don't have to start or quit the mail + agent. Because you use them from a shell prompt, you can use all + the power of the shell. + + If your shell has time-saving aliases or functions (and most do), + you'll be able to use them with MH, of course. And because MH isn't + a monolithic mail agent, you can use MH commands in UNIX shell + scripts, or call them from programs in high-level languages like C. + + Unlike most mail agents, MH keeps each message in a separate file. + The filename is the message number. To rearrange the messages, MH + just changes the filenames. MH can use standard UNIX filesystem + operations such as removing, copying and linking messages. The + message files are grouped into one or more folders, which are + actually UNIX directories. + + MH is free, powerful, flexible--and the basics are easy to learn. + --Jerry Peek <jerry@ora.com> + + +Subject: What is the current version/status of MH. +From: Intro-2 + + The current version of MH is 6.8. + + This version includes MIME, a multi-media MH package that implements + the new IETF work on Multi-media 822 (MIME). This allows you to + include things like audio, graphics, and the like, in your mail + messages. --Marshall Rose <mrose@dbc.mtview.ca.us> + + MH now works with Kerberos as well. + + In addition, a new program called mhparam extracts arguments from + .mh_profile which is useful in shellscripts. + + Please see the file CHANGES in the distribution for more details. [1.93] + + +Subject: Where can I get MH? +From: Intro-3 + + MH comes standard with: + + Control Data Corp. CDC4680-MP . . . EMH Version 1.4.2 (modified MH) + DEC Ultrix 3.1 . . . . . . . . . . MH Version 6.5 + DEC Ultrix 4.2A . . . . . . . . . . MH Version 6.7.1 + Evans and Sutherland ES/OS 2.3 . . MH Version 6.6 + IBM PS/2 AIX 1.2.x . . . . . . . . MH Version 6.4 + IBM RISC System/6000 AIX 3.x . . . MH Version 6.6 + MIPS RISC/OS 4.52 . . . . . . . . . MH Version 6.6 + Tektronix UTek . . . . . . . . . . MH (version unknown) + Table maintained by James R. Hamilton <jrh@jrh.gts.org> [9.92]. + + via anonymous ftp: [1.93] + FTP Site: IP Address: Path/File Name: Size: + ----------------------------------------------------------------- + ftp.ics.uci.edu [128.195.1.1] mh/mh-6.8.tar.Z 1.8MB + louie.udel.edu [128.175.1.3] portal/mh-6.8.tar.Z 1.8MB + ftp.uu.net [192.48.96.9] mail/mh/tar/mh-6.8.tar.Z-split/ 256K*7 + README, part01, ..., part08 + + Or use archie to find a site near you. [12.92] + + via uucp: + The following shell script is one example of how to queue jobs for + downloading the files from UUNET via UUCP: + + #!/bin/sh + SRC=uunet!~/mail/mh/tar/mh-6.8.tar.Z-split + DST=/usr/spool/uucppublic/mh + uucp -d -r $SRC/README $DST/README + for f in 1 2 3 4 5 6 7 8 + do + uucp -d -r $SRC/part0$f $DST/part0$f + done + + UUNET subscribers would then call us normally using uucico. Others + can use UUNET's 900 number to access UUNET via anonymous uucp. The + number is 1-900-468-7727. The login name is "uucp" and there is no + password. The following is a sample Systems/L.sys entry: + + uunet Any ACU 19200 19004687727 "" \d\r ogin:-\r-ogin: uucp + + The modems on the 900 lines are Telebit WorldBlazers. These modems + negotiate V.32bis, V.32, 2400, 1200, and last with (Turbo)PEP tones. + The cost is 50 cents per minute (as of Jan 93) which will appear on + your next phone bill. For more information about the 900 service, + retrieve uunet!~/help or send e-mail to postmaster@uunet.uu.net + (uunet!postmaster). -- Eric Ziegast <ziegast@uunet.uu.net> + + via mail: + Send a note to either mail-server@nluug.nl or + archive-server@germany.eu.net with a body containing the following: + + send mail/mh/mh-6.8.tar.Z + + UK users may be able to use ftpmail@doc.ic.ac.uk. Send a note + whose body contains "help" to this address. [12.92] + + Send a note to ftpmail@decwrl.dec.com whose body contains "help" + on a line by itself get information on getting ftp sources by + mail. Also include the lines "connect" and "dir /pub/mail/ua/mh" + to see which files are available local to decwrl. Please do this + as a last resort only. [1.93] + + via U.S. mail: + You can send $75 US to the address below. This covers + the cost of a 6250 BPI 9-track magtape, handling, and ship- + ping. In addition, you'll get a laser-printed hard-copy of + the entire MH documentation set. Be sure to include your + USPS address with your check. Checks must be drawn on U.S. + funds and should be made payable to: + + Regents of the University of California + + The distribution address is: + + Univeristy of California at Irvine + Office of Academic Computing + 360 Computer Science + Irvine, CA 92717 USA + + +1 714 856 5153 + + Sadly, if you just want the hard-copies of the documenta- + tion, you still have to pay the $75. The tar image has the + documentation source (the manual is in roff format, but the + rest are in TeX format). Postscript formatted versions of + the TeX papers are available, as are crude tty-conversions + of those papers. [1.93] + + +Subject: What references exist for MH? +From: Intro-4 + + Book: + MH & xmh: E-mail for Users & Programmers. Second edition. Jerry Peek. + ISBN 1-56592-027-9. $29.95. 728 pages. + O'Reilly & Associates, Inc. + Book Orders: + US and Canada: 800-998-9938. Fax: 707-829-0104. + + References to "the MH book" in this document refer to the second + edition of this book (section numbers for the first edition appear + in parenthesis). + + To get a list of non-US distributors, send a note to + nuts@ora.com or call +1-707-829-0515. + + Examples from this book are in: + ftp.uu.net [137.39.1.9] + published/oreilly/nutshell/MHxmh/MHxmh2.tar.Z 54KB + + There is another book that contains a number of examples of + advanced mail handing using MH as the example message handler. + It's also quite a good reference on e-mail in general. [12.92] + + The Internet Message. Marshall T. Rose + ISBN 0-13-092941-7. 396 pages. + P T R Prentice Hall + + Usenet: + comp.mail.mh (gatewayed to MH-users) + + Mailing lists: + General questions/discussion: MH-users@ics.uci.edu + (gatewayed to comp.mail.mh). + MH developers and maintainers: MH-workers@ics.uci.edu. + Please use MH-users-request and MH-workers-request to request + an addition or deletion. + + MH-users archives: + ftp.ics.uci.edu [128.195.1.1] mh/mh-users/* + + The files are in packf(1) format, compressed with compress(1). To + get them, use anonymous ftp and set "binary" transfer mode. + + mh-users.86.Z 8549 mh-users.86.scan.Z 771 + mh-users.87.Z 55449 mh-users.87.scan.Z 3679 + mh-users.88.Z 182805 mh-users.88.scan.Z 11339 + mh-users.89.Z 89151 mh-users.89.scan.Z 5522 + mh-users.90.Z 402470 mh-users.90.scan.Z 21551 + mh-users.91.Z 878763 mh-users.91.scan.Z 36992 + mh-users.92.Z 1281585 mh-users.92.scan.Z 44975 + mh-users.mbox: current archive, uncompressed. + + There are directions in the README file. Basically, you can use + either "msh" or the individual commands "inc -file" to get the + messages into a folder, and then "scan", "pick", "show", and so on + (or your favorite commands in xmh, mh-e, etc.). --Jerry Peek + <jerry@ora.com> + + This document: + via anonymous ftp: + pit-manager.mit.edu [18.172.1.27] /pub/usenet/news.answers/mh-faq.Z + ftp.uu.net [137.39.1.9] /archive/usenet/news.answers/mh-faq.Z + ftp.cs.ruu.nl [131.211.80.17] /pub/NEWS.ANSWERS/mh-faq + + via mail: + Each of the following addresses is following by commands which + should be included as the body of the message. + + mail-server@pit-manager.mit.edu + send usenet/comp.mail.mh/mh-faq + + mail-server@cs.ruu.nl + send pub/NEWS.ANSWERS/mh-faq + + +Subject: ! What other MH software is available? +From: Intro-5 + + vmh + Vmh is designed for people using the bulletin-board features + of MH, where mail is stored in packed (single-file) folders. As + a result, use of this program cannot be mixed with the use of + normal MH commands. Vmh is a part of the official MH + distribution. --James Perkins <jamesp@sp-eug.com> [1.93] + + xmh + Xmh is a X11 mouse-based MH browsing tool. It is very powerful + and feature-filled and thus comes with a moderate learning + curve. Its dependence on the X11 environment makes it very + reconfigurable, but only by people well-versed in X applications + programming. Its message reply built-in-editor interface is not + always popular among those used to having MH bring up the editor + of their choice. --James Perkins <jamesp@sp-eug.com> + + xmh is part of the standard X Window System distribution from + MIT. Ultrix also ships dxmail which is similar. + + cs.utk.edu [128.169.201.1] pub/xmh.shar.Z 161KB + + Here's a version of xmh that includes MIME. --Harald Tveit + Alvestrand <hta@boheme.er.sintef.no> [1.93] + + aun.uninett.no pub/unix/mixmh-0.2.tar.Z + + olmh + Sun's Open Windows 3 comes with a demo for OLIT (Open Look + Interface Toolkit, the Open Look wrapper to Xt) named olmh that + does handle 3rd and subsequent levels of nesting of folders. + --Dale Carstensen <dlc@c3file.c3.lanl.gov> + + Obtain the Open Windows 3 distribution CD/ROM from Sun (SPARC + only). To do this, call 1-800-USA-4SUN and send tone "2" for + telemarketing after it answers. The 4.1.2 CD/ROM may also have + Open Windows 3. The list price for the 4.1.2 CD/ROM is $200. + + mh-e + Mh-e is the GNU Emacs front end for MH. It offers all the + functionality of MH, the visual orientation and simplicity of + use of xmh, and full integration with Emacs, including thorough + configurability. The command set is similar to that of rmail + (the Emacs front end for BSD mail) and BSD mail itself. On-line + help is available. + + Mh-e allows one to read and process mail very quickly: commands + are single characters and completion and defaults are available + for file and folder names. During a reply, the original message + is displayed simultaneously in another window for easy reference + where a mh-e command can quickly incorporate and format this + text into your reply. + + With mh-e you compose outgoing messages in Emacs. This is a big + plus for Emacs users, but it has been known for non-Emacs users + to be able use mh-e after only learning the most basic cursor + motion commands. Mh-e is easily configured via the Emacs + edit-options menu, and people familiar with Emacs Lisp will be + able to further reconfigure mh-e beyond recognition. --Stephen + Gildea <gildea@expo.lcs.mit.edu> + + Mh-e is part of the standard GNU Emacs distribution. Note + that mh-e got much faster in Emacs 18.56. + + primost.cs.wisc.edu [128.105.2.115] pub/mh-e.el.Z 36KB + + mime-compose.el allows one to easily include MIME components into + a mh-e message. --Marc Andreessen <marca@ncsa.uiuc.edu> [1.93] + + archive.cis.ohio-state.edu + pub/gnu/emacs/elisp-archive/misc/mime-compose.el.Z 19KB + + vmail + Vmail is a curses-based, vi-like message browser which calls on + MH programs to manipulate mail. It can be used on almost any + terminal. It organizes mail folders into index pages, from + which a message can be selected to be shown, replied-to, + forwarded, refiled, deleted, and so on. The vi-like interface + and command keystrokes are comfortable to less-experienced UNIX + users, and it is a small, compact program, unlike the mh-e Emacs + package. + + This version of vmail has been bugfixed and enhanced from the + original vmail published on the net in 1987 by J. Zobel. + --James Perkins <jamesp@sp-eug.com> [1.93] + + ftp.uu.net [137.39.1.9] + comp.sources.unix/volume12/vmail/part0*.Z 46KB + + ftp.ucs.ubc.ca [137.82.27.61] pub/mh/vmail[1-3]of3.Z 58KB + Or mail requests to James Perkins <jamesp@sp-eug.com>. [1.93] + + vmailtool + If you have a Sun workstation, vmailtool may be for you. It is a + button gadget panel for the above-mentioned vmail program. It + brings vmail into the windows era where people no longer need to + memorize specific command keystrokes. It also provides a mail + icon with the flag that pops up when new mail arrives. Again, + this is a compact, simple tool, unlike the powerful xmh program. + Still, it's a welcome alternative for many people who are running + SunView or OpenWindows. --James Perkins <jamesp@sp-eug.com> [1.93] + + ftp.ucs.ubc.ca [137.82.27.61] pub/mh/vmailtool.Z 18KB + or mail requests to James Perkins <jamesp@sp-eug.com>. [1.93] + + plum + Plum is a highly configurable and extensible screen-oriented front-end + for processing MH mail on ASCII terminals. Unlike mh-e, the extension + language used in plum is perl, not LISP. Plum offers many of the + advantages of xmh, but lacks several of xmh's disadvantages. The + look&feel derives more from vi than from emacs. Key bindings and + functions may be changed on the fly to suit the user's preference. It + offers filename and word completion on folder, variables, and command + names. + + Until it is included in the standard distribution (under miscellany), + you can find a copy on: + + convex.com [130.168.1.1] pub/plum/plum* 55KB + or mail requests to Tom Christiansen <tchrist@convex.com>. + + mmh + MMH, My Mail Handler, is a Motif interface for reading and sending mail. + It uses the MH commands to actually handle sending a receiving messages. + It does not support all the capabilities of MH, but offers a large + enough subset to handle the majority of users. Its intended user is + someone between "bumbling e-mail novice" and "sophisticated user". + Hooks are provided to allow the user to customize and add new commands. + + ftp.eos.ncsu.edu [152.1.9.25] /pub/bill.tar.Z + + metamail + Metamail is a package that can be used to convert virtually ANY + mail-reading program on UNIX into a multimedia mail-reading program. + It is an extremely generic implementation of MIME (Multipurpose + Internet Mail Extensions), the proposed standard for multimedia mail + formats on the Internet. The implementation is extremely flexible and + extensible, using a "mailcap" file mechanism for adding support for new + data formats when sent through the mail. At a heterogeneous site where + many mail readers are in use, the mailcap mechanism can be used to + extend them all to support new types of multimedia mail by a single + addition to a mailcap file. + + The metamail distribution comes complete with a small patch for + each of over a dozen popular mail reading programs, including + Berkeley mail, mh, Elm, Xmh, Xmail, Mailtool, Emacs Rmail, Emacs + VM, Andrew, and others. Note that the MH patches are now integrated + into MH 6.8 --Nathaniel Borenstein <nsb@thumper.bellcore.com> + + thumper.bellcore.com [128.96.41.1] /pub/nsb/mm.tar.Z + + X.500 lookups + If a name is enclosed in square brackets, when entering a destination + address, ie: + + To: [Greg Wickham,CSIRO] + + a search will be made in the X.500 Directory for the individual's entry. + If an address exists then it will be extracted and placed into the + headers. Mail requests for the software to the author. --Andrew + Waugh <ajw@mel.dit.csiro.au> + + QueueMH + QuemeMH is an e-mail based service request and tracking system + based on the Rand Mail Handler. --Barbara Dyker + <dyker@teal.csn.org> [1.93] + + ftp.cs.colorado.edu pub/cs/sysadmin/utilities/queuemh.tar.Z + + QMH: + + Qmh is an MH-based group mail management tool. Written entirely in + perl, Qmh combines the best aspects of MH with group mail + heuristics and delivers a sensible package for all levels of UNIX + users. A limitless number of individual queues and associated + groups of permitted users can be established. + + Specific functionality includes the following modes of operation; + checking header dates and sending reminder/deadline mail, editing + existing messages, help screens, creating new messages from + scratch or exiting messages, resolving messages, scanning queue + folders, and annotating with status both by editing and sending + mail. + + Qmh is a single generic program in and of itself from which all + modes of operation are invoked. Additionally, each separate queue + may be accessed via a link to the single program. All system + configuration is maintained in a single file that is read upon + each invocation of Qmh. Formatting and template files are + provided in the system library, although individual users can + override the defaults simply by creating equivalent files in their + own MH mail directory. + + Qmh provides a powerful database-like functionality by allowing + limitless per-queue X-Qmh-<$value> headers to be included in + messages. These "fields" then form the context of the queue + messages and provide a user-defined, but yet structured + environment for queries, reporting, and random information. + + Qmh is designed to provide a complete solution for SA groups, help + desks, support organizations, or wherever two or more individuals + are trying to manage multiple mail requests. + + Qmh is also compatible with versions of xmh that provide + user-level command buttons. Provided in the Qmh package is a + ~/.Xdefaults template file that's setup to harness the power of + Qmh. + + For more info, write to <info@rootgroup.com>. [3.93] + + MacMH and PC/MH: + These were available only for non-commercial degree-granting + institutions from: + + Networking & Communication Systems + 115 Pine Hall + Stanford University + Stanford, CA 94305-4122 + Phone: +1 415-723-3909 + + --Jerry Peek <jerry@ora.com> + + The authorized distributor for PC/MH is: + + NEI, Inc. + 210 Technology Drive, STE 210 + Irvine, Ca 92718 + Phone: +1 714-753-8588 + FAX: +1 714-753-8593 + Internet: info@netix.com + + --Shannon Yeh <yeh@orion.oac.uci.edu> + + In addition, you might try Wollongong, to see if they have something you + can get. + + +Subject: How can I print a MH manual? +From: Intro-6 + + To order a copy by mail, see the section on how to get MH by mail in + "Where can I get MH?" Also, check "What references exist for MH?" + + To print your own copy, first obtain the MH sources ("Where can I + get MH?") if you don't already have it. Go into the "doc" directory + and run "make guide" to create the administrators guide and "make + manual" to create a user's manual which includes tutorials and man + pages. If the doc directory is empty or is missing the Makefile, + you'll have to run "mhconfig MH" in the conf directory so that the + documentation with correct local information is created. + + For properly formatting the documentation (at least the manual + pages) you might even have to install MH, because a reference to a + tmac.h file in the MH lib directory is made in the manual pages. + + You can also ftp the ASCII or postscript versions: + + ftp.ics.uci.edu [128.195.1.1] mh/doc/tutorial.ps.Z 64KB + mh/doc/ADMIN.ps.Z 57KB + mh/doc/MH.ps.Z (man pages) 273KB + ftp.uu.net [137.39.1.9] same files, but in dir mail/mh/doc + + Or, you can send a note to mail-server@nluug.nl with a body containing the + following: + + send mail/mh/papers-ps/tutorial.ps.Z + + --Bill Wohler and Jos Vos <jos@bull.nl> [1.93] + + +Subject: How should I report bugs? +From: Intro-7 + + Mail them to Bug-MH@ics.uci.edu and be sure to include the output of + the -help option as well as what hardware and operating system you + are using. + + +Subject: How can I convert from my mailer to MH? +From: Intro-8 + + If you use one of a mail agent like 'mail', 'mailx', 'elm' or + 'mush', converting to MH is easy. When you run the 'inc' command, + it reads all new messages from the system mailbox into your 'inbox' + folder. Those mail agents also have separate files or "folders" + that hold messages in the same format as the system mailbox. You + can read them with the 'inc -file' command. For example, to read + the messages from your 'mbox' mail file into your MH 'inbox' folder, + you'd type: + + % cd + % cp mbox mbox.backup + % inc -file mbox + + If you see the usual "Incorporating new mail into inbox..." message + and a scan listing, the messages probably were converted. Read some + or all of them (with the 'show' command) and be sure. The 'inc' + won't remove your mbox unless you use '-truncate'. + + Section D.4 (C.4) of the MH book lists two scripts to convert mail + files to MH folders: babyl2mh to convert from rmail's babyl format; + vmsmail2mh to convert from VMS's mail (see "What references exist + for MH" to see where the book's examples can be ftped from). + --Jerry Peek <jerry@ora.com> + + Vivek Khera <khera@cs.duke.edu> rewrote this in Perl since the + original script doesn't work for some people. See appendix + "babyl2mh.pl." [1.93] + + Juergen Nickelsen <nickel@cs.tu-berlin.de> provides yet another + short script. He says, + + "You can remove the second to last second line ("> $input"), so + that the script doesn't zero out your RMAIL file. + + "Another alternative is to replace this line with "inc -file $tmpmbox + $folder && > $input", so that the RMAIL is only zeroed if inc + successfully incorporated the mail. Finally one could add a switch + -z, so that the RMAIL file is only zeroed if the switch is given. + See appendix "inco." [1.93] + + Use the following to convert a Babyl format file to UNIX mail format. + --Barry A. Warsaw <warsaw@nlm.nih.gov>. + durer.cme.nist.gov [129.6.32.4] pub/gnu/rmailtovm.el + + See also MH book appendix D (appendix C). + + +Subject: What machines does MH run on? +From: Building MH-10 + + If you have a computer running UNIX, you can probably run MH. + --Jerry Peek <jerry@ora.com> + + +Subject: How do I build MH? +From: Building MH-11 + + By carefully reading the READ-ME in the root of the source + hierarchy, one should not have any trouble building MH. + + +Subject: What options should I use? +From: Building MH-12 + + BERK: Do NOT include the BERK option (in versions 6.7 or later)! + BERK breaks the mh-format functions that take apart address lines, + for example mbox, from, and friendly. This would really put a crimp + on my replcomps file. + + LOCKF: if you have NFS, you need to lock your mailbox with lockf() + so the lock will be honored by all machines on the local network. + If you have the lockf() system call, include LOCKF. + + JQ Johnson <jqj@duff.uoregon.edu> makes the point that one should + use this option carefully since it requires a roboust lockf() call. + For example, this option caused serious problems on his SunOS 4.1.1. + He suggested using LOK_BELL instead, and adding "lockstyle: 1" to + mtstailor. + + ATZ: makes your timezones print like "EST" instead of "-0500". Much + prettier. + + --Stephen Gildea <gildea@expo.lcs.mit.edu> + + However, Tony Landells <ahl@technix.oz.au> replies: "Yes; very + pretty. How unfortunate that timezone names are so ambiguous, so + that EST can be interpreted, at a minimum, as (American) Eastern + Standard Time, (Australian) Eastern Standard Time, or (Australian) + Eastern Summer Time (and yes, I think it's dumb having the same + acronym for both normal and Summer time, but that's a different + problem). While the numeric timezones may not look as nice, they + are, at least, reasonably unambiguous. I would urge anyone who ever + intends/hopes/expects to use e-mail outside the U.S. to NOT use ATZ + (sorry Stephen)." + + At any rate, the conf/examples directory has been updated and + contains many examples show you which options are required on your + platform and which are optional (in the upcoming version MH 6.8). At + any rate, it is recommended that you examine the options in the + example configuration files, and read about them in READ-ME. + + RPATHS: a side-effect is that slocal writes messages to your system + maildrop without the MMDF C-A's that separate messages, so your BSD + tools like from work. [12.92] + + +Subject: Fixing "post: problem initializing server; [BHST] no servers available" +From: Building MH-13 + + The error message itself is essentially correct. However, what this + really means is: MH's post cannot connect to a running sendmail over + an SMTP port (MH configured with SMTP and SENDMTS). + + The potential problems: + + 1. Your local sendmail daemon is dying or not running for some + reason. + + 2. You use BIND and your local nameserver is not responding. + + 3. Your mtstailor has its "servers:" pointing to a non-existant + machine or a machine which is a) not reachable or b) not running the + sendmail daemon. --Peter Marvit <marvit@hplabs.hpl.hp.com> + + +Subject: Where can I get POP3? +From: Building MH-14 + + MH6.7 (and earlier versions too) include a server for version 3 of POP. + + +Subject: What do I do if scan shows the wrong date? +From: Building MH-15 + + Upgrade to MH 6.8. [1.93] + + +Subject: Why slocal writes messages to system maildrop that from(1) can't read. +From: Building MH-16 + + Upgrade to MH 6.8 and set the RPATHS option. Better yet, use a more + MH-like command instead: "scan -file $MAIL". [1.93] + + +Subject: Why does repl add a "Re:" to a message that already has one? +From: Building MH-17 + + I carefully reconfigured and rebuilt MH from scratch and the problem + went away. --Larry McVoy <lm@slovax.Eng.Sun.COM> + + +Subject: Does MH support IMAP2 (RFC 1064)? +From: Building MH-18 + + No. MH only supports retrieving mail using POP3. POP3 is on the + "standards track"--it is now an elective Internet Draft Standard + (see RFC1280 for more details). At this point, IMAP[23] are + "experimental, limited use" protocols; it is unlikely that MH will + support them. --John Romine <jromine@ics.uci.edu> + + +Subject: Why does "mailgroup mail" only affect inc but not slocal? +From: Building MH-19 + + If "mailgroup" is set, inc is made set-group-id to this group name. + Some SYS5 systems want this to be set to "mail". Set this if + /usr/spool/mail (or /usr/mail) is not world-writeable. These + changes were contributed by Peter Marvit, and "inc" is very careful + about its use of the set-gid privilege. + + Note that slocal doesn't know how to deal with this, and will not + work under these systems; just making it set-group-id will open a + security hole (since it doesn't know when to drop the set-gid + privileges). If you're using "mailgroup", you should remove slocal + (and its man page) from your system. --John Romine + <jromine@ics.uci.edu> [1.93] + + Alternatives to slocal include deliver, procmail, and mailagent. + Archie can help you find where they are kept. + + +Subject: Where can I read about slocal and the format of the .maildelivery file? +From: Using MH-30 + + See the slocal man page. + + Here is brief example of a .maildelivery file that stores messages + to babble in a folder and the system mailbox, stores mh-users in a + folder but not the system mailbox, and puts the rest in the system + mailbox. + + to mh-users | A "/usr/local/lib/mh/rcvstore -create +lists/mh-users" + cc mh-users | A "/usr/local/lib/mh/rcvstore -create +lists/mh-users" + to babble | R "/usr/local/lib/mh/rcvstore -create +lists/babble" + cc babble | R "/usr/local/lib/mh/rcvstore -create +lists/babble" + default - > ? /usr/spool/mail/wohler + + Your .forward file may look like (quotes necessary): + + "| /usr/local/lib/mh/slocal -user your_login" + + In some implentations, the "-user your_login" is not needed. If + not, manually running slocal with the flag will produce an error. + + See also chapter 11 in the MH book. + + Alternatives to slocal include deliver, procmail, and mailagent. + Archie can help you find where they are kept. + + +Subject: How do I include messages in repl with or without ">"? +From: Using MH-31 + + When making a reply, specify a filter file on the command line: + + repl -filter repl.format + + This filter file must be in your MH mail directory (usually "Mail", + in your home directory). Here are a couple of example repl.format + files: + + overflowtext="",overflowoffset=0 + message-id:nocomponent,formatfield=\ + "In message %{text}you write:" + body:component=">",overflowtext=">",overflowoffset=0 + + or + + overflowtext="",overflowoffset=0 + date:component="Your message dated",formatfield=\ + "%<(nodate{text})%{text}%|%(pretty{text})%>" + body:component=">",overflowtext=">",overflowoffset=0 + + Setting overflowoffset to 0 keeps MH from doing anything to + extra-long lines in the headers. In the body, however, this + behavior is overridden so that long lines are automatically broken + and a ">" is inserted before every line. You could put almost + whatever you want between those quotes, although the "standard" ">" + makes it easier to read notes that have been included several times. + The examples differ with the descriptive text that is inserted + before the included body. + + It is suggested not to use the "prompter" editor in this case, since + it is likely that you'll not want to use all of the included + message. Indeed, it is proper etiquette to edit out all unnecessary + include verbiage so readers don't have to wade through the morass to + read your pearls of wisdom. + + WARNING: the '>' appears on the first line ONLY in versions prior + to 6.7.2. Upgrade to MH 6.8. + + --Alan Thew <qq11@liv.ac.uk>, Mike Schwager <schwager@cs.uiuc.edu>, + James T Perkins <jamesp@sp-eug.com> [1.93] + + See also MH book sections 6.7.4, 6.7.5, 9.4.1 (9.3.1). + + +Subject: How can I eliminate duplicate copies of letters to myself? +From: Using MH-32 + + Add these two lines to your MH profile file: + + Alternate-Mailboxes: user@host1, user@host2, ... + repl: -nocc me + + To get one copy, you can either: + + - Take out the "-nocc me"... then you'll get exactly one copy of + your replies (assuming all your addresses are listed in + Alternate-Mailboxes), or + + - Add an "Fcc: foldername" to the headers of messages you send. + That will drop a copy of the message in the folder "foldername". + You can do this for *all* MH messages you send (not just with + repl) by putting an "Fcc:" entry in your personal copy of the + files "components", "replcomps", and "forwcomps" in your MH + directory. (If you make a "distcomps" file, it needs + "Resent-Fcc:".) For more info, see the man pages comp(1), + repl(1), forw(1), dist(1) and mh-mail(5). --Jerry Peek <jerry@ora.com> + + The Alternate-Mailboxes also tells scan which messages are really + from you so that it can place the recipient in the scan line instead + of the sender. --Bill Wohler + + See also MH book sections 6.7.2, 8.6. + + This is also a convenient way to AVOID automatically cc-ing a + mailing list when replying to a person who sent the message to the + mailing-list, by listing the name of that mailing list in your + alternate mailboxes. --Alec Wolman <wolman@crl.dec.com> + + +Subject: How would one go about reading Usenet with MH? +From: Using MH-33 + + Although news readers are better, if one really wants to use + MH, bbc will do the job. For example, "bbc comp.mail.mh" reads this + newsgroup. To enable bbc, you have to specify "bboards" when you + build MH. --Stephen Gildea <gildea@expo.lcs.mit.edu> + + You can save articles in the news readers for later perusal with MH. + + First, create a symbolic link from your mail directory (ie. usenet) to + your news directory (ie. "ln -s ~/News ~/Mail/usenet"). You can then + treat your news directory as a mail folder. Thus, to select a news + group, use "folder +usenet/comp/mail/mh". + + To set the default save location correctly in rn, use: + + rn -M -/ + + or in your nn presentation sequence: + + news.announce. +$F/$N + comp.mail.mh + + . + . + + See also MH book section 8.7. + + +Subject: Can I append MH messages (ie. +inbox/1) to a UNIX mailbox format file? +From: Using MH-34 + + Yes, see support/general/packmbox.sh in the distribution. [1.93] + + +Subject: How can I include my signature? +From: Using MH-35 + + There are several ways. + + 1) The MH way. + + 1a) In your Mail directory, create files that + include your signature into the format of the message. + + ~/Mail/components: + To: + cc: + Subject: + -------- + + -- + Eric Ziegast ziegast@uunet.uu.net + UUNET Technologies uunet!ziegast + + ~/Mail/replcomps + body:component="> ",compwidth=2 + :-- + :Eric Ziegast ziegast@uunet.uu.net + :UUNET Technologies uunet!ziegast + + To use the replcomps file, add the following to your ~/.mh_profile: + + repl: -filter replfmt + + When comp is used, your signature is already there along with my + headers. When repl is used, the mhl program takes the body of + the letter you're replying to, prepends '> ' to each line and + then adds your signature at the end (available after version 6.7). + + 1b) Create an "editor" which can be called from whatnow to add the + signature when desired or create a frontend to post (use the + .mh_profile line "postproc: postproc" to call it) that always + appends the .signature file before calling post to mail the + message. David J. Fiander <david@golem.uucp>, David A. + Truesdell <truesdel@sun418.nas.nasa.gov> and Tom Wilmore + <sastjw@unx.sas.com> have sample scripts to do these. + + 1c) Section 13.13 of the MH book lists mysend, a sendproc script to + process a message after "What now? send" (see "What references + exist for MH" to see where the book's examples can be ftped from). + --Jerry Peek <jerry@ora.com> [9.92] + + 2) Using your editor. If you use vi, you can use something like: + + map S :r ~/.signature + + to load your signature out of .signature every time you + hit 'S'. + + 3) Use your windowing system. xterm, for example, can provide key + and button mappings for the utterly lazy. + + 4) And if you use Emacs with mh-e, C-c C-s will append the signature. + + --Eric W. Ziegast <ziegast@uunet.uu.net> & Hardy Mayer + <hardy@golem.ps.uci.edu> except where noted. + + Tired of the same old signature? Want different signatures for + different newsgroups? Here's a program to help you out. + + The way it works is to have .signature be a named pipe, so if you + don't have named pipes, just say 'n'. + + The sigrand program then feeds stuff down the pipe everytime someone + wants to read it. That way it works for more than just news, but + for anything that wants to read your .signature, like a mailer. + + You have your choice of three kinds of signatures: + + 1) random (short) fortune from "fortune -s"; you get these if + you don't have a global sig file. + 2) random fortune from ~/News/SIGNATURES [global sig file] + 3) random fortune form ~/News/(newsgroup)/SIGNATURES [local sig files] + + Ask Tom Christiansen <tchrist@convex.com> for more details. + + +Subject: What to do with "Problems with edit - draft removed". +From: Using MH-36 + + If your users are using an AT&T version of "vi", it's exiting with + non-zero status (supposedly a count of the "errors" during the edit). + Move "vi" to "broken_vi" and put it its place: + + #! /bin/sh + /usr/ucb/broken_vi $* + exit 0 + + Alternatively, compile MH with the ATTVIBUG option. + + Then complain to your vendor that "vi" is broken, and they should + fix it. --John Romine <jromine@ics.uci.edu> + + +Subject: How do I call my editor with arguments? +From: Using MH-37 + + Set your editor (in .mh_profile) to the following shellscript: + + #/bin/sh + <youreditor> <yourargs> $* + exit 0 + + --John Romine <jromine@ics.uci.edu> + + You might find it useful to make <youreditor> $EDITOR, or to use + different arguments depending on your EDITOR environment variable. + --Ray Nickson <Ray.Nickson@comp.vuw.ac.nz> + + +Subject: ! How do I debug my .maildelivery file? +From: Using MH-38 + + Use as many of the following as necessary. + + Put a message into a file and call slocal directly on it. + + /usr/local/lib/mh/slocal -user $USER -verbose -debug < test-msg + + Modify your .forward to look like: + + "|/bin/sh -c 'exec >> /tmp/out 2>&1; /usr/local/lib/mh/slocal + -user $USER -verbose -debug'" + + Or modify a rule in .maildelivery to look like this: + + to foo | R "set -xv; exec >/tmp/out 2>&1; + /usr/local/lib/mh/rcvstore +foo" + + The previous examples are broken up for readability; the text must + appear on one line. + + See also MH book section 11.11. [3.93] + + +Subject: How can I digestify the messages in a folder for mail to another user? +From: Using MH-39 + + How about: + + forw [-digest tmp] [-form forwcomps] [-filter mhl.digest] + messages +folder + + These messages can be un-digestified :-) by the MH burst(1) program. + --Jerry Peek <jerry@ora.com> and Bill Wohler + + See also MH book sections 6.8, 7.9. + + +Subject: Can I run my message through a program (ie. ispell) before sending? +From: Using MH-40 + + It's pretty simple. If your speller is called myspell, use: + + What now? edit myspell + + MH will actually execute: + + myspell /your-mail-draft-directory/draftfile + + and give the entire draft message to your speller. The header will + probably be "misspelled," of course, though you might be able to + tell the speller to ignore it--or you could hack up a little shell + script to run the speller on just the message body, then tack the + corrected body back onto the header before sending. + + You can automate this some more. For example, if you want your + speller to run after your first edit with "prompter" and also after + you leave the "vi" editor, add these lines to your MH profile: + + prompter-next: myspell + vi-next: myspell + + Then, at the "What now?" prompt: + + What now? e + + your speller will run. For more info, see the mh-profile(5) man + page or section 6.2.1 of the MH book. --Jerry Peek <jerry@ora.com> + + +Subject: Can I append MH messages to a GNU Emacs rmail BABYL-format file? +From: Using MH-41 + + To convert your MH folders to BABYL folders, first run the following script + on your Mail directory. + + #!/bin/sh + + for f in Mail/*; do + if [ -d $f ]; then + touch msgbox + folder=`basename $f` + echo -n packing $folder ... + packf +$folder + echo done + mv msgbox Mail-rmail/$folder + fi + done + + This assumes you don't have nested folders. Your rmail folders will be + left in $HOME/Mail-rmail in MMDF format which rmail can read. Then run + rmail-input for each folder, which converts each folder into BABYL format. + + Be sure not to append any messages before they are converted from MMDF + to BABYL, since there may be really strange results. + + +Subject: Is there documentation for mh-e? +From: Using MH-42 + + Yes, sort of. Run "C-h m" (describe-mode) in both scan and + letter modes to see which commands and variables are available. + Browsing the code is also helpful. + + +Subject: How can I change my return address? +From: Using MH-43 + + If you find that your mailer creates a From header that others have + trouble replying to, you can add a Reply-To header to override the + From header in replies. + + Copy the components and replcomps files which are normally found in + /usr/local/lib/mh into your Mail directory and add a line like the + following after the Subject header replacing my address with your + address: + + Reply-To: wohler@sap-ag.de + + [12.92] + +Subject: How can I change my From header? +From: Using MH-44 + + If you're just interested in changing the hostname, add a line to + $LIB/mtstailor: + + localname: desired_host_name + + --Bill Wisner <wisner@netcom.com> [12.92] + + Just put a "From:" header in your "components", "replcomps" and + "forwcomps" files. MH will add a "Sender:" header with what it thinks + is your real address, but (almost) no one cares about the "Sender:" + header anyway. --Jerry Peek <jerry@ora.com> [12.92] + + +Subject: What to do with "bad address 'xxx' - no at-sign after local-part". +From: Using MH-45 + + You may find that post returns the following message: + + post: bad address 'Mr. Foo Bar <fb@somewhere.edu>' - no at-sign + after local-part (Bar), continuing... + + The unquoted dot causes "Mr. Foo" to be parsed as the local part of + the address. Either remove the dot, or rewrite the address as + follows: + + "Mr. Foo Bar" <fb@somewhere.edu> + (Mr. Foo Bar) <fb@somewhere.edu> + (Mr. Foo Bar) fb@somewhere.edu + + --Owen Rees <rtor@ansa.co.uk> [1.93] + + +Subject: + How can I search through multiple folders? +From: Using MH-46 + + Recurse through the folders (in csh and sh): + + % foreach f (`folders -f`) $ for f in `folders -f` + ? pick [switches] +$f > pick [switches] +$f + ? end > done + + Or create a folder that contains links to all messages (in csh and sh): + + % foreach f (`folders -f | grep -v -x ln`) + ? refile -src +$f -link all +ln + ? end + + $ for f in `folders -f | grep -v -x ln` + > do refile -src +$f -link all +ln + > done + + and in the future, refile messages with "refile +folder +ln". To + find something, use: + + % pick [switches] +ln + + See MH book sections 7.2.9, 7.8.3. [3.93] + + +Subject: + Why isn't slocal working? +From: Using MH-47 + + If slocal doesn't appear to be doing anything, run the following + + /usr/local/lib/mh/slocal -user your_login -verbose < file + + where "file" is some message in a mail folder. If you get something + like: + + .maildelivery: ownership/modes bad (0, 154,154,0100666) + + your .maildelivery is writable by too many people. Make it writable + only by you by running "chmod 644 .maildelivery". + + See also "How do I debug my .maildelivery file?" [3.93] + + +Subject: + Fixing "post: problem initializing server; [RPLY] 503 Sender already specified" +From: Using MH-48 + + The problem in sendmail is that the RSET after the ONEX does not + reset all the state information. Normally sendmail fork()s after + the Mail from: statement and a RSET causes that child to exit. This + automatically cleans up. If the fork() is suppressed by ONEX, then + the source must be modified to do the cleanup. See "srvrsmtp.c + patch" in the Appendix. If you don't have the sources, modify your + MH sources to not use the ONEX verb. --Paul Pomes + <paul@uxc.cso.uiuc.edu> [3.93] + + +Subject: How can I get xmh to use Emacs as the editor? +From: Xmh-50 + + The modifications to xmh to support an external editor, annotations, + and an append command can be found in the these places. --Bob + Ellison <ellison@sei.cmu.edu> + + export.lcs.mit.edu R5fixes/xmh.editor/* + ftp.sei.cmu.edu pub/xmh + + As of R5, xmh has a new action proc called XmhShellCommand. A + string parameter will be executed as a shell command with the + currently selected messages as parameters (or the current message if + there are no selected messages). + + Using this new action, a couple of shell scripts, a window version + of emacs (e.g. xemacs) and some elisp code, xmh can use emacs as its + editor instead of the built in Athena text widget editor. This + doesn't require any source code changes to xmh. These are included + in the appendix "Switching xmh's editor". --Andrew Wason + <aw@bae.bellcore.com> + + +Subject: Does xmh support subfolders? +From: Xmh-51 + + Yes. Create one by invoking "Create Folder" as usual, and enter + something like: existing-folder/new-sub-folder. You can then access + the subfolder by popping up a menu over the "existing-folder" button + item. --Steve Malowany <malowany@cenparmi.concordia.ca> + + But: + + The R5 version of xmh does *not* handle nested sub-folders. If you + create a folder as 'grab/some/bandwidth', xmh displays this + foldername for the remainder of the session where it was created, + BUT if you later re-run xmh, the folder is no longer visible to xmh. + --John Cooper <jsc@saxon.Eng.Sun.COM> + + See also MH book section 15.6.2 (14.6.2). + + +Subject: How do I precede included messages with ">" when replying in xmh? +From: Xmh-52 + + Include the following line in your ~/app-defaults/XMh file: + + Xmh*replyInsertFilter: "sed 's/^/> /'" + + --Len Makin <len@mel.dit.csiro.au> + + or, + + Xmh.ReplyInsertFilter: /usr/local/lib/mh/mhl -form repl.filter + + Using this means that you can chose to insert the original by use of + the "Insert" button in the Draft message pane. See "How do I + include messages in repl with or without ">"?" to find examples of + repl.filter. --Andy Linton <andy.linton@comp.vuw.ac.nz> + + See also MH book sections 15.1.4 (14.1.4), 16.3.3 (15.2.3). + + +Subject: Glossary +From: Appendix + + MH Mail Handler + POP3 Post Office Protocol, RFC 1225 + MMDF Multi-channel Memo Distribution Facility + MIME Multipurpose Internet Mail Extensions + + +Subject: Acknowledgements +From: Appendix + +I'd like to thank the following people for providing ideas on the +layout of this article: + +Joe Wells <jbw@bigbird.bu.edu> Richard M. Stallman <rms@gnu.ai.mit.edu> +David Elliott <dce@smsc.sony.com> Tom Christiansen <tchrist@convex.com> +Eugene N. Miya <eugene@nas.nasa.gov> + + +We are also grateful to the individuals mentioned below and in the +text of this document who have provided answers or other information +to make this a better document. I regret that it is possible that +some names have been accidently omitted. I would also like to thank +all the readers of comp.mail.mh. + +Kim F. Storm <storm@texas.dk> Edward Vielmetti <emv@ox.com> + + +Subject: Warranty +From: Appendix + +[The following statement epitomizes the ridiculous state of affairs in +our country (I'm an American) and can be ignored outside the US...] + +No Warranty: Because this article is provided free of charge as a +service to comp.mail.mh readers, we provide absolutely no warranty, to +the extent permitted by applicable state law. This article is +provided "as is" without warranty of any kind, either expressed or +implied, including, but not limited to, the implied warranties of +merchantability and fitness for a particular purpose. Should the +information prove defective, you assume the cost of all necessary +servicing, repair or correction. + + +Subject: Switching xmh's editor +From: Appendix + +#! /bin/sh +# This is a shell archive. Remove anything before this line, then unpack +# it by saving it into a file and typing "sh file". To overwrite existing +# files, type "sh file -c". You can also feed this as standard input via +# unshar, or by typing "sh <file", e.g.. If this archive is complete, you +# will see the following message at the end: +# "End of shell archive." +# Contents: README Xmh.ad xmh-command.el xmhcommand xmhemacs +# Wrapped by aw@jello on Fri Nov 15 17:10:34 1991 +PATH=/bin:/usr/bin:/usr/ucb ; export PATH +if test -f 'README' -a "${1}" != "-c" ; then + echo shar: Will not clobber existing file \"'README'\" +else +echo shar: Extracting \"'README'\" \(1269 characters\) +sed "s/^X//" >'README' <<'END_OF_FILE' +XThis is a short description of what to do with each of the enclosed files. +X +XXmh.ad +X Merge this in with your xmh resources. If you already have +X user defined buttons, then you may need to renumber the +X buttons in this resource file. +X +Xxmh-command.el +X Byte compile this file and put it in your GNU emacs load-path. +X +Xxmhcommand +Xxmhemacs +X Put these somewhere in your path. +X +X +XOnce you have installed these, restart the R5 xmh with the new +Xresources. When you press the repl, forw or comp buttons +Xan xemacs window will come up with your draft message. +X +XOnce you have written your mail, save it and exit GNU emacs (C-xC-c). +XYou will be prompted if you want to send the current message. +XIf you enter 'y', the message will be sent and the output will +Xbe displayed in an emacs window (in case you use -verbose or -snoop). +XThen you will be prompted to exit emacs. Enter 'y' when you are ready. +X +XIf you answered 'n' when prompted to send the message, +Xthen the draft message will be deleted and emacs will exit. +X +XYou can modify the Xmh.ad resources to add more buttons. +XAny MH command which accepts "+folder msg" can be used +X(e.g. a replx shell script which includes the body of the +Xmessage being replied to can be bound to a replx button) +X +X +XAndrew Wason +Xaw@bae.bellcore.com +END_OF_FILE +if test 1269 -ne `wc -c <'README'`; then + echo shar: \"'README'\" unpacked with wrong size! +fi +# end of 'README' +fi +if test -f 'Xmh.ad' -a "${1}" != "-c" ; then + echo shar: Will not clobber existing file \"'Xmh.ad'\" +else +echo shar: Extracting \"'Xmh.ad'\" \(457 characters\) +sed "s/^X//" >'Xmh.ad' <<'END_OF_FILE' +XXmh*CommandButtonCount: 3 +X +XXmh*commandBox.button1.label: repl +XXmh*commandBox.button1.translations:\ +X #override\n\ +X <Btn1Up>: XmhShellCommand(xmhcommand y repl) unset() +X +XXmh*commandBox.button2.label: forw +XXmh*commandBox.button2.translations:\ +X #override\n\ +X <Btn1Up>: XmhShellCommand(xmhcommand y forw) unset() +X +XXmh*commandBox.button3.label: comp +XXmh*commandBox.button3.translations:\ +X #override\n\ +X <Btn1Up>: XmhShellCommand(xmhcommand n comp) unset() +END_OF_FILE +if test 457 -ne `wc -c <'Xmh.ad'`; then + echo shar: \"'Xmh.ad'\" unpacked with wrong size! +fi +# end of 'Xmh.ad' +fi +if test -f 'xmh-command.el' -a "${1}" != "-c" ; then + echo shar: Will not clobber existing file \"'xmh-command.el'\" +else +echo shar: Extracting \"'xmh-command.el'\" \(1294 characters\) +sed "s/^X//" >'xmh-command.el' <<'END_OF_FILE' +X;;; These functions are for use with xemacs and xmh. +X;;; The R5 xmh has a new action - XmhShellCommand which executes +X;;; a shell command with the current msg as an arg. +X;;; By executing something like: +X;;; XmhShellCommand(xmhcommand repl) +X;;; you can use xemacs as your editor with xmh. +X;;; +X;;; The following elisp functions perform the basic whatnowproc functionality +X;;; (quitting and deleting, sending) +X;;; +X;;; Andrew Wason aw@bae.bellcore.com +X +X +X;;; Override C-xC-c +X(define-key indented-text-mode-map "\C-x\C-c" 'xmh-command-send-or-delete) +X +X +X(setq mhdraft (getenv "mhdraft")) ; save the filename of the draft +X +X +X(find-file mhdraft) ; load the draft letter +X(indented-text-mode) +X(setq draft-buffer (current-buffer)) ; save the buffer the draft is in +X +X +X(defun xmh-command-send-or-delete () +X "Prompt to send or delete letter, then quit." +X (interactive) +X (set-buffer draft-buffer) +X (if (y-or-n-p "Send message? ") +X (progn +X (save-buffer) ; save the draft buffer +X (message "Sending...") +X (pop-to-buffer "MH mail delivery"); pop to a buffer for "send" output +X (erase-buffer) +X (call-process "send" nil t t mhdraft) ; call MH "send" +X (if (y-or-n-p "Exit? ") +X (kill-emacs))) ; exit emacs +X (delete-file mhdraft) ; delete the draft letter +X (kill-emacs))) ; exit emacs +END_OF_FILE +if test 1294 -ne `wc -c <'xmh-command.el'`; then + echo shar: \"'xmh-command.el'\" unpacked with wrong size! +fi +# end of 'xmh-command.el' +fi +if test -f 'xmhcommand' -a "${1}" != "-c" ; then + echo shar: Will not clobber existing file \"'xmhcommand'\" +else +echo shar: Extracting \"'xmhcommand'\" \(669 characters\) +sed "s/^X//" >'xmhcommand' <<'END_OF_FILE' +X#!/bin/sh +X# This shell should be invoked by the xmh XmhShellCommand() action as +X# XmhShellCommand(xmhcommand y repl) +X# XmhShellCommand(xmhcommand n comp) etc. +X# If the second arg is y, then the message list will be used. +X +X# We invoke the passed MH command on the identified message +X# (we must strip the message number and folder from the pathname) +X(if [ $1 = "y" ] +Xthen +X $2 -whatnowproc xmhemacs +`dirname \`echo $3 | \ +X sed "s;\\\`mhpath +\\\`/;;"\`` `basename $3` +X +X# You can use this more readable version instead if you have ksh +X# $2 -whatnowproc xmhemacs +$(dirname $(echo $3 | \ +X# sed "s;$(mhpath +)/;;")) $(basename $3) +X +Xelse +X $2 -whatnowproc xmhemacs +Xfi)& +END_OF_FILE +if test 669 -ne `wc -c <'xmhcommand'`; then + echo shar: \"'xmhcommand'\" unpacked with wrong size! +fi +chmod +x 'xmhcommand' +# end of 'xmhcommand' +fi +if test -f 'xmhemacs' -a "${1}" != "-c" ; then + echo shar: Will not clobber existing file \"'xmhemacs'\" +else +echo shar: Extracting \"'xmhemacs'\" \(116 characters\) +sed "s/^X//" >'xmhemacs' <<'END_OF_FILE' +X#!/bin/sh +X# Invoke xemacs and load the xmh-command.el stuff. +X# xmhemacs is used by xmhcommand +Xxemacs -l xmh-command +END_OF_FILE +if test 116 -ne `wc -c <'xmhemacs'`; then + echo shar: \"'xmhemacs'\" unpacked with wrong size! +fi +chmod +x 'xmhemacs' +# end of 'xmhemacs' +fi +echo shar: End of shell archive. +exit 0 + + +Subject: babyl2mh.pl +From: Appendix + +#!/usr/gnu/bin/perl +# incorporate an RMAIL babyl file into an MH folder +# +# usage: babyl2mh +folder babyl-file +# +# V. Khera <khera@cs.duke.edu> 17-JUL-1991 + +# where to find rcvstore +$rcvstore = "/usr/local/lib/mh/rcvstore"; + +# +# pull out command line args +# +die "usage: babyl2mh +folder babyl-file\n" unless @ARGV == 2; + +$folder = shift; +# make sure folder name starts with a "+" +(substr($folder,0,1) eq "+") || (substr($folder,0,0) = "+"); +$bfname = shift; + +print "Incorporating RMAIL file $bfname into MH folder $folder\n"; + +# +# read in babyl file. +# +$/ = "\037"; # this separates the records in a babyl file +$* = 1; # records are multi-lines + +open(BABYL,$bfname) || die "Couldn't open $bfname\n"; + +$_ = <BABYL>; # discard header. + +$msgnum = 0; + +while (<BABYL>) { + chop; # get rid of delimeter + s/\f(.|\n)*\*\*\* EOOH \*\*\*\n//; # remove duplicate header information + open(RCVSTORE,"|" . $rcvstore . " $folder"); + print RCVSTORE $_; + $msgnum++; + print "Message $msgnum done.\n"; +} + + +Subject: inco +From: Appendix + +#!/bin/sh +# Usage: inco [from [folder]] +# "from" defaults to $HOME/Mail/outbound, "folder" to +inbox. + +lispfile=/tmp/inco.$$.el +input=${1-$HOME/Mail/outbound} +tmpmbox=/tmp/inc.$$.mbox +folder=${2-+inbox} + +if [ $# -ge 3 ]; then + echo Usage: `basename $0` [ from [ folder ]] + exit 2 +fi + +trap "rm -f $lispfile $tmpmbox ; exit 1" 1 2 15 + +touch $tmpmbox +chmod 600 $tmpmbox + +echo '(rmail-input "'$input'") +(rmail-last-message) +(setq last (rmail-what-message)) +(rmail-show-message 1) +(while (not (equal (rmail-what-message) last)) + (rmail-output "'$tmpmbox'") + (rmail-delete-forward nil)) +(rmail-output "'$tmpmbox'") +(kill-buffer (current-buffer)) +' > $lispfile + +emacs -batch -l $lispfile +inc -file $tmpmbox $folder + +> $input +rm -f $lispfile $tmpmbox + + +Subject: srvrsmtp.c patch +From: Appendix + +>From the 5.67 sources: + +*** srvrsmtp.c- Mon Feb 22 12:25:54 1993 +--- srvrsmtp.c Mon Feb 22 12:29:09 1993 +*************** +*** 384,389 **** +--- 384,395 ---- + message("250", "Reset state"); + if (InChild) + finis(); ++ ++ /* clean up a bit if running in parent */ ++ hasmail = FALSE; ++ dropenvelope(CurEnv); ++ CurEnv = newenvelope(CurEnv); ++ CurEnv->e_flags = BlankEnvelope.e_flags; + break; + + case CMDVRFY: /* vrfy -- verify address */ + + +Local Variables: +mode: outline +outline-regexp: "^Subject:" +fill-prefix: " " +eval: (progn (setq buffer-read-only nil) (hide-body)) +End: + +