f086862be71ad9789edff3733924a165ff811d3e
[mmh] / docs / FAQ
1 Newsgroups: comp.mail.mh,comp.answers,news.answers
2 Subject: MH Frequently Asked Questions (FAQ) with Answers
3 Keywords: FAQ,mh,mail,question,answer,pop,slocal,letter,signature,
4           draft,message,folder,xmh,olmh,vmail,vmailtool,comp,repl,
5           forw,scan,SMTP,bind,MH-E,MIME,plum,exmh,nmh
6 Summary: This document answers Frequently Asked Questions about MH, a
7          sophisticated mail interface.  It should be read by new MH
8          users and comp.mail.mh readers and before posting to this group.
9 Followup-To: poster
10 Approved: news-answers-request@MIT.Edu
11 Reply-To: Bill Wohler <wohler@newt.com>
12 From: Bill Wohler <wohler@newt.com>
13 Organization: Newt Software, Menlo Park, California, USA
14
15 Archive-name: mail/mh-faq/part1
16 Last-modified: $Date$
17 Version: $Revision$
18 Posting-Frequency: monthly
19
20   This is a living list of frequently asked questions on the mailer
21   user interface, Mail Handler, or MH. The point of this is to
22   circulate existing information, and avoid rehashing old answers.
23   Better to build on top than start again. Please read this document
24   before ever posting to this newsgroup.
25
26   This article is posted monthly. If it has already expired and you're
27   not reading this, you can hope that you saved the instructions to
28   retrieve the FAQ (see "Where can I get MH") so that you can get a
29   copy through other means.
30
31   Please do not post an answer when someone posts a frequently asked
32   question; rather, email the relevant section of the FAQ to eliminate
33   unnecessary traffic in this newsgroup.
34
35   This list depends on your comments, additions and fixes: please send
36   them to Bill Wohler <wohler at newt.com>.
37
38   Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
39             2001, 2004, 2005, 2006, 2007 Bill Wohler
40
41   Permission to use, copy, distribute, and translate this document for
42   any non-commercial purpose is hereby granted, provided that this
43   copyright notice appears in all copies. Commercial distributions
44   require prior written consent.
45
46   This article is distributed in the hope that it will be useful, but
47   WITHOUT ANY WARRANTY; without even the implied warranty of
48   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
49
50 ----------------------------------------------------------------------
51   
52 Subject: Table of Contents
53 From: Bill Wohler <wohler at newt.com>
54 Date: Sat, 3 Mar 2001 11:29:16 -0800
55
56 Legend: + new, - deleted, ! changed
57 __________________
58
59 01.00 Introduction
60
61  01.01 Why should I use MH?
62 !01.02 What is the current version/status of MH?
63 !01.03 Where can I get MH?
64 !01.04 What references exist for MH?
65  01.05 What other MH software is available?
66 !01.06 How can I print a MH manual?
67  01.07 How should I report bugs?
68  01.08 How can I convert from my mailer to MH?
69  01.09 What is the copyright status of nmh?
70 _________________
71
72 02.00 Building MH
73
74  02.01 What machines does MH run on?
75  02.02 How do I build MH?
76  02.03 What options should I use?
77  02.04 What do I need to do to use POP?
78  02.05 Does MH support IMAP?
79  02.06 Why does "mailgroup mail" only affect inc and not slocal?
80  02.07 How can I build MH on Solaris 2?
81  02.08 How can I build MH on Linux?
82  02.09 How can I build MH on IRIX?
83  02.10 How can I get MH to interpret the Content-Length field?
84  02.11 How do I build MH on HP-UX?
85  02.12 Can I prevent adding the local hostname to addresses behind firewalls?
86  02.13 Is there a patch to fix this or that?
87  02.14 How can I build MH on OS/2?
88  02.15 Do any POP/IMAP servers handle MH format?
89  02.16 How can I build MH on Windows?
90 !02.17 How can I build MH on a Mac?
91 ________________________
92
93 03.00 Scanning & Reading
94
95  03.01 What do I do if scan shows the wrong date?
96  03.02 How would one go about reading Usenet with MH?
97  03.03 How can I search through multiple folders?
98  03.04 Why don't MH format commands such as %(friendly) work?
99  03.05 Why doesn't "show" display all of a MIME message?
100  03.06 Can I get show not to run "less" so much on MIME messages?
101  03.07 Why do I get "mhn: don't know how to display content"?
102  03.08 How can I automatically delete MH backup files?
103  03.09 Fixing "cannot fopen and lock /var/spool/mail/(user)"
104  03.10 Can I read my mail with a Web browser?
105  03.11 How can I run inc automatically with POP?
106  03.12 Why does inc hang (on Sun)?
107  03.13 How can I get POP to work?
108  03.14 How do I persuade mhshow (mhn) not to bring up a new window?
109  03.15 How do I turn off of all the mhshow (mhn) prompts?
110  03.16 Why is inc splitting messages improperly?
111  03.17 Can MH thread messages?
112  03.18 How can I avoid reading the HTML version of the message?
113  03.19 How do I view or save attachments?
114  03.20 How do I view HTML attachments with Netscape?
115  03.21 Fixing folders: unable to allocate storage for msgstats
116  03.22 How do I recursively list message attachments?
117  03.23 Why do folder and flist overlook some of my sub-folders?
118 ____________
119
120 04.00 Filing
121
122  04.01 Can I append MH messages to a Unix mailbox format file?
123  04.02 Can I append MH messages to a GNU Emacs rmail BABYL-format file?
124  04.03 Why do I get ".../.mh_sequences is poorly formatted?"
125  04.04 How can you save News articles into an MH folder?
126 !04.05 Are there any good tools to archive MH messages?
127  04.06 How can I remove duplicate messages?
128  04.07 How can I remove holes in numbering?
129 __________________________
130
131 05.00 Composing & Replying
132
133  05.01 Why does repl add a "Re:" to a message that already has one?
134  05.02 How do I include messages in repl with or without ">"?
135  05.03 How can I eliminate duplicate copies of letters to myself?
136  05.04 How can I include my signature?
137  05.05 How do I call my editor with arguments?
138  05.06 How can I digestify messages in a folder for mail to another user?
139  05.07 How can I change my return address?
140  05.08 How can I change my From header?
141  05.09 How can I save a copy of all messages I send?
142  05.10 Can the folder in Fcc: be dynamically specified?
143  05.11 Can I post secure/encryped mail?
144  05.12 How can I send multi-media (MIME) attachments?
145  05.13 What's the best way to send mail to a long list of people?
146  05.14 What is the Dcc header?
147  05.15 How can I make sense of the replcomps file?
148  05.16 How can I convert quoted-printable to 8bit in quoted text in replies?
149  05.17 Can I have aliases include aliases?
150  05.18 Why doesn't mhmail understand aliases?
151  05.19 How do I send blind carbon copies?
152  05.20 When I forward a message, can I use its Subject?
153  05.21 Why is the timezone field in my 'Date:' field wrong?
154  05.22 Can I automate the comp -editor mhn process?
155  05.23 How can I remove those "=20" characters when forwarding?
156  05.24 Can I use mh-format substitution with forw?
157  05.25 How can I keep repl from breaking long lines?
158  05.26 How do I fix a bogus In-Reply-To or missing References field?
159 _____________
160
161 06.00 Posting
162
163  06.01 What to do with "Problems with edit - draft removed".
164  06.02 Can I run my message through a program (e.g., ispell) before sending?
165  06.03 What to do with "bad address 'xxx' - no at-sign after local-part".
166  06.04 Fixing "post: problem initializing server; [BHST] no servers available"
167  06.05 Fixing "post: problem initializing server; [RPLY] 503 Sender
168        already specified"
169  06.06 Fixing "post: unexpected response; [BHST] no socket opened"
170  06.07 How do I fix the "X-Authentication-Warning" header?
171  06.08 Fixing "post: unexpected response; [RPLY] 503 Need MAIL
172        before RCPT"
173  06.09 Fixing "post: problem initializing server; [BHST] premature
174        end-of-file on socket"
175  06.10 Fixing "Sender didn't use the HELO protocol"
176  06.11 Fixing "post: problem initializing server; [RPLY] 553 Local
177        configuration error, hostname not recognized as local"
178 __________________
179
180 07.00 Mail Filters
181
182  07.01 What mail filters are available?
183  07.02 Why slocal writes messages to system mailbox that from(1) can't read.
184  07.03 Where can I read about slocal and the format of .maildelivery?
185  07.04 How do I debug my .maildelivery file?
186  07.05 Why isn't slocal working?
187  07.06 Are there any good biff applications for MH?
188  07.07 How do I read new messages filed by procmail?
189 __________
190
191 08.00 MH-E
192
193  08.01 I have a question about MH-E
194 _________
195
196 09.00 Xmh
197
198  09.01 How can I get xmh to use Emacs as the editor?
199  09.02 Does xmh support subfolders?
200  09.03 How do I precede included messages with ">" when replying in xmh?
201 ________
202
203 Appendix
204
205  Glossary & Acknowledgments
206  Switching xmh's editor
207  babyl2mh.pl
208  inco - babyl to MH converter
209  t2h - add hyperlinks to message viewed
210  srvrsmtp.c patch
211  IRIX config file
212  HP-UX 10.20 config file
213  Removing duplicate messages (Bourne)
214  Removing duplicate messages (Perl)
215  Removing duplicate messages (Perl)
216
217 ------------------------------
218   
219 Subject: Viewing This Article
220 From: Bill Wohler <wohler at newt.com>
221 Date: Mon, 27 Nov 1995 14:44:19 -0800
222
223   To skip to a particular question with Subject or number xx, use
224   "/^S.*xx" with most pagers. In GNU Emacs type "M-C-s ^S.*xx", (or
225   C-r to search backwards), followed by ESC to end the search.
226
227   To skip to new or changed questions, use "/^S.*[!+]" with most
228   pagers and "M-C-s ^S.*[!+]" in GNU Emacs.
229
230   This article is in digest format. nn may have already broken this
231   message into separate articles; if not, then type "G %". In rn, use
232   ^G to skip sections.
233
234   This article is treated as an outline when edited by GNU Emacs. Run
235   "M-x describe-mode" to see available outline-mode commands. Useful
236   commands are "M-x hide-body", "C-c C-s" (show-subtree) and "M-x
237   show-all"
238
239   Check out the Usenet Hypertext FAQ Archive (see "What references
240   exist for nn?"). Files available by ftp, man pages, and other Web
241   pages, as well as cross-references like the one in this paragraph
242   are just a click away.
243
244   A "Date" field whose time is 00:00:00 is approximate. The month and
245   year in these fields represent the time they were added to the FAQ,
246   rather than when they were contributed by the author, as is the case
247   since November, 1995.
248
249   If you should need the Internet address, use nslookup or dig if you
250   have them, or send mail to <dns at grasp.insa-lyon.fr> with "help"
251   for a Subject.
252
253   References to $MHLIB refer to the directory that contains MH support
254   files and routines. This directory is usually /usr/lib/mh or
255   /usr/local/lib/mh (or /usr/local/nmh/lib or /etc/nmh for nmh). Do
256   not use $MHLIB literally; use the real, absolute path to your MH
257   library directory.
258
259   There are slight differences between the original MH and nmh. In the
260   text, the nmh command or filename is preferred, and the MH
261   equivalent is placed in parenthesis. For example, the MH
262   configuration is in $MHLIB/mts.conf (mtstailor); mhshow (mhn -show)
263   is used to view attachments.
264
265   Note that due to bottom feeding email address harvesting spam scum,
266   mailto links have been removed and @s in addresses have been
267   replaced by "at."
268   
269 ------------------------------
270
271 Subject: 01.00 ***** Introduction *****
272 From: Bill Wohler <wohler at newt.com>
273 Date: Fri, 1 Mar 1991 13:03:15 -0800
274
275 ------------------------------
276
277 Subject: 01.01 Why should I use MH?
278 From: Jerry Peek <jpeek at jpeek.com>
279 Date: Fri, 1 Mar 1991 13:03:15 -0800
280
281   The MH message handling system is a set of electronic mail programs
282   in the public domain. If your computer runs Unix, it can probably
283   run MH.
284
285   The big difference between MH and most other "mail user agents" is
286   that you can use MH from a Unix shell prompt. In MH, each command is
287   a separate program, and the shell is used as an interpreter. So, all
288   the power of Unix shells (pipes, redirection, history, aliases, and
289   so on) works with MH--you don't have to learn a new interface. Other
290   mail agents have their own command interpreter for their individual
291   mail commands (although the mush mail agent simulates a Unix shell).
292
293   Because MH commands aren't part of a monolithic mail system, you can
294   use them at any time; you don't have to start or quit the mail
295   agent. Because you use them from a shell prompt, you can use all the
296   power of the shell.
297
298   If your shell has time-saving aliases or functions (and most do),
299   you'll be able to use them with MH, of course. And because MH isn't
300   a monolithic mail agent, you can use MH commands in Unix shell
301   scripts, or call them from programs in high-level languages like C.
302
303   Unlike most mail agents, MH keeps each message in a separate file.
304   The filename is the message number. To rearrange the messages, MH
305   just changes the filenames. MH can use standard Unix file system
306   operations such as removing, copying and linking messages. The
307   message files are grouped into one or more folders, which are
308   actually Unix directories.
309
310   MH is free, powerful, flexible--and the basics are easy to learn.
311
312 ------------------------------
313   
314 Subject: !01.02 What is the current version/status of MH.
315 From: Bill Wohler <wohler at newt.com>
316 Date: Sun, 23 Sep 2007 23:51:52 -0700
317
318   The current official version of MH is 6.8.3, although a beta of
319   6.8.4 is available.
320
321   This version includes MIME, a multi-media MH package that implements
322   the new IETF work on Multi-media 822 (MIME). This allows you to
323   include things like audio, graphics, and the like, in your mail
324   messages. --Marshall Rose <mrose at dbc.mtview.ca.us>
325
326   MH now works with Kerberos as well.
327
328   In addition, a new program called mhparam extracts arguments from
329   .mh_profile which is useful in shell scripts.
330
331   Please see the file CHANGES in the distribution for more details.
332
333   Due to the languishing state of MH, Richard Coleman <coleman at
334   math.gatech.edu> created another version of MH called nmh based upon
335   MH 6.8.3. He added GNU autoconf to ease installation considerably
336   and fixed several bugs and inconsistencies. Doug Morris <doug at
337   mhost.com. hosted the web site, mailing lists, web pages, and CVS
338   repository for a long time. Ken Hornstein <kenh at pobox.com> picked
339   up the torch in 2002 and moved development to Savannah where Jon
340   Steinhart <nmh at fourwinds.com> joined him as a project maintainer.
341   See http://www.nongnu.org/nmh/. The stable version of nmh is 1.2.
342   The file DIFFERENCES in the nmh distribution contains an
343   ever-growing list of differences between nmh and MH.
344
345   GNU mailutils (version 1.2) is a collection of mail-related
346   utilities. At the core of mailutils is libmailbox, a library which
347   provides access to various forms of mailbox files (including remote
348   mailboxes via popular protocols and MH). See
349   http://www.gnu.org/software/mailutils/.
350
351 ------------------------------
352   
353 Subject: !01.03 Where can I get MH?
354 From: Bill Wohler <wohler at newt.com>
355 Date: Sun, 23 Sep 2007 23:51:46 -0700
356
357   MH comes standard with:
358   
359         Berkeley Software Design BSD/386  . . . . MH 6.8.3
360         Control Data Corp. CDC4680-MP . . . . . . EMH 1.4.2 (modified MH)
361         Debian GNU/Linux 4.0  . . . . . . . . . . nmh 1.1-RC4
362         Debian GNU/Linux 4.0  . . . . . . . . . . mailutils 1.1
363         DEC Ultrix 3.1  . . . . . . . . . . . . . MH 6.5
364         DEC Ultrix 4.2A.4 . . . . . . . . . . . . MH 6.7.1
365         DEC OSF/1 . . . . . . . . . . . . . . . . MH 6.7
366         Evans and Sutherland ES/OS 2.3  . . . . . MH 6.6
367         FreeBSD . . . . . . . . . . . . . . . . . MH 6.8.4
368         IBM PS/2 AIX 1.3  . . . . . . . . . . . . MH 6.4
369         IBM RISC System/6000 AIX 3.x and 4.x  . . MH 6.6
370         MIPS RISC/OS 4.52 . . . . . . . . . . . . MH 6.6
371         Red Hat Linux (3.0.3, 4.0 and 4.1)  . . . MH 6.8.3
372         SGI Irix 6.2 Freeware 2.0 CDROM . . . . . MH 6.8.3
373         Sony NEWS-OS 4.3  . . . . . . . . . . . . MH 6.7.2
374         Tektronix UTek  . . . . . . . . . . . . . MH (Version Unknown)
375
376   Download MH:
377
378     http://download.savannah.nongnu.org/releases/nmh/nmh-1.2.tar.gz     831kB
379
380   Download GNU mailutils:
381   
382     http://ftp.gnu.org/gnu/mailutils/mailutils-1.2.tar.gz               3.4MB
383
384 ------------------------------
385   
386 Subject: !01.04 What references exist for MH?
387 From: Bill Wohler <wohler at newt.com>
388 Date: Sun, 23 Sep 2007 23:51:41 -0700
389
390   The Web:
391     http://rand-mh.sourceforge.net/
392     http://www.nongnu.org/nmh/
393     http://www.gnu.org/software/mailutils/
394     http://mh-e.sourceforge.net/
395
396   Books:
397     MH & xmh: E-mail for Users & Programmers.  Third edition. Jerry
398     Peek, with Bill Wohler and Brent Welch.
399     ISBN 1-56592-093-7.  738 pages.
400     O'Reilly & Associates, Inc.
401     Out of print as of August, 1996.
402
403     References to "the MH book" in this document refer to the third
404     edition (plus updates) of this book online at
405     http://rand-mh.sourceforge.net/book/. Section numbers for the
406     second edition may appear in parentheses.
407
408     There is another book that contains a number of examples of
409     advanced mail handing using MH as the example message handler.
410     It's also quite a good reference on email in general.
411
412     The Internet Message.  Marshall T. Rose
413     ISBN 0-13-092941-7.  396 pages.
414     P T R Prentice Hall
415
416   Papers:
417     MHN Tutorial by Jerry Sweet
418     ftp://ftp.ics.uci.edu/pub/mh/contrib/multimedia/mhn-tutorial.ps.Z   141k
419     ftp://ftp.ics.uci.edu/pub/mh/contrib/multimedia/mhn-tutorial.tex.Z  48k
420
421   Usenet:
422     comp.mail.mh
423     gmane.mail.exmh.devel
424     gmane.mail.exmh.user
425     gmane.mail.mh-e.announce
426     gmane.mail.mh-e.devel
427     gmane.mail.mh-e.user
428     gmane.mail.nmh.devel
429     
430   Mailing lists:
431     There are three mailing lists for nmh: nmh-announce, nmh-workers,
432     and nmh-commits. See:
433
434       http://savannah.nongnu.org/mail/?group=nmh
435   
436     The page for each list contains a link to the archives.
437       
438   MH-users archives:
439     Current archives can be found at:
440
441       http://lists.nongnu.org/archive/html/nmh-workers/
442
443     Older archive can be found in the mh-users and mh-workers archives
444     at:
445
446       http://sourceforge.net/project/showfiles.php?group_id=143658&package_id=188462
447
448     There are directions in the release notes. Basically, you can use
449     either "msh" or the individual commands "inc -file" to get the
450     messages into a folder, and then "scan", "pick", "show", and so on
451     (or your favorite commands in xmh, MH-E, etc.). --Jerry Peek
452     <jpeek at jpeek.com>
453
454   This document:
455     http://www.newt.com/faq/mh.html
456     http://faqs.cs.uu.nl/na-dir/mail/mh-faq/part1.html
457
458   MH-E documentation:
459     GNU Emacs 19.29 comes with a version of MH-E that includes online
460     (Texinfo) documentation. Try "C-h i m mh-e RET". It is also
461     available in HTML and PDF formats at
462     http://mh-e.sourceforge.net/manual/. See also "What other MH
463     software is available?" to see where you can get the latest
464     version of MH-E which includes the documentation sources.
465
466   exmh:
467     The FAQ is available at http://www.beedub.com/exmh/exmh-faq.html.
468     The online exmh sections from the MH book can be found at
469
470       http://rand-mh.sourceforge.net/book/index.html#chTourexmh
471
472   Signature and Finger FAQ:
473     http://www.faqs.org/faqs/usenet/signature-faq/
474
475 ------------------------------
476   
477 Subject: 01.05 What other MH software is available?
478 From: Stephen Gildea <gildea at stop.mail-abuse.org>, Bill Wohler <wohler at newt.com>
479 Date: Thu, 19 May 2005 21:20:57 -0700
480
481   MH-E is the Emacs interface to the MH mail system. It offers all the
482   functionality of MH, the visual orientation and simplicity of use of
483   a GUI, and full integration with Emacs and XEmacs, including
484   thorough configuration and online help.
485
486   MH-E allows one to read and process mail very quickly: many commands
487   are single characters; completion and smart defaults are used for
488   folder names and aliases. With MH-E you compose outgoing messages in
489   Emacs. This is a big plus for Emacs users, but even non-Emacs users
490   have been known to use MH-E after only learning the most basic
491   cursor motion commands.
492
493   Additional features include:
494
495       * attractive text rendering with font lock
496       * composition and display of MIME body parts
497       * display of images and HTML within the Emacs frame
498       * folder browsing with speedbar
499       * threading
500       * ticking messages
501       * lightning-fast full-text indexed searches of all of your email
502       * virtual folders to view ticked and unseen messages, search results
503       * multiple personalities
504       * signing and encrypting
505       * spam filter interaction
506       * XFace, Face, X-Image-URL header field support with picons
507
508   The GNU Emacs distribution includes MH-E.
509
510   MH-E is maintained at SourceForge:
511
512     http://mh-e.sourceforge.net/
513
514 From: Chris Menzel <cmenzel at philebus.tamu.edu>
515 Date: Sat, 15 Dec 2001 10:02:38 -0600
516
517   The terminal-oriented, fast, and powerful mutt mail client not only
518   supports the MH mail format but also supports .mh_sequences files,
519   providing a robust interface to MH. It is also amazingly
520   configurable and is very adept at handling MIME attachments and HTML
521   mail.
522
523   Unlike MH, the displayed message numbers do not necessarily
524   correspond to the message filenames. This makes threading and
525   sorting lightning fast but slower to display very large folders.
526
527     http://www.mutt.org/
528
529 From: Brent Welch <welch at acm.org>
530 Date: Tue, 20 Mar 2001 22:42:15 -0800
531
532   EXMH is a user interface for the MH mail system written in TCL/TK.
533
534   Exmh has MIME support, color feedback in the scan listing, a folder
535   display with one label per folder, clever scan caching, facesaver
536   bitmap display; background inc, various inc styles, searching over
537   folder listing and message body, a dialog-box interface to MH pick,
538   a simple built-in emacs-like editor, interfaces to other editors,
539   user preferences, user hacking support. For more info or to obtain
540   exmh, see:
541
542     http://exmh.sourceforge.net/
543
544 From: "Eric D. Friedman" <friedman at hydra.acs.uci.edu>
545 Date: Tue, 9 Feb 1999 22:52:44 -0800
546
547   Mhtake is a perl script that lets you add people to your mail
548   aliases file by typing mhtake [message #].
549
550     http://orion.oac.uci.edu/~friedman/mhtake.txt
551
552 From: Steinar Bang <sb at metis.no>
553 Date: Fri, 26 Jan 1996 13:51:08 +0100
554
555   Mew (an Emacs interface to MH that has MIME and PGP capabilities) is
556   found at:
557
558     ftp://ftp.aist-nara.ac.jp/pub/elisp/Mew/mew-current.tar.gz
559
560   [MH-E has had these capabilities since version 7.0 so mew is
561   obsolete if you use MH-E. --Ed]
562
563 From: James Perkins <jamesp at sp-eug.com> 
564 Date: Fri, 1 Jan 1993 00:00:00 -0800
565
566   Vmh is designed for people using the bulletin-board features of MH,
567   where mail is stored in packed (single-file) folders. As a result,
568   use of this program cannot be mixed with the use of normal MH
569   commands. Vmh is a part of the official MH distribution.
570
571 From: James Perkins <jamesp at sp-eug.com>
572 Date: Fri, 1 Jan 1993 00:00:00 -0800
573
574   Xmh is a X11 mouse-based MH browsing tool. It is very powerful and
575   feature-filled and thus comes with a moderate learning curve. Its
576   dependence on the X11 environment makes it very reconfigurable, but
577   only by people well-versed in X applications programming. Its
578   message reply built-in-editor interface is not always popular among
579   those used to having MH bring up the editor of their choice.
580
581 Date: Fri, 1 Jan 1993 00:00:00 -0800
582
583   xmh is part of the standard X Window System distribution from the X
584   Consortium. Ultrix also ships dxmail which is similar.
585
586     ftp://cs.utk.edu/pub/xmh.shar.Z                                     162k
587
588 From: Harald Tveit Alvestrand <hta at boheme.er.sintef.no>
589 Date: Fri, 1 Jan 1993 00:00:00 -0800
590
591   Here's a version of xmh that includes MIME.
592
593     ftp://aun.uninett.no/pub/mail/mixmh/mixmh-0.3.tar.Z                 232k
594
595 From: Nathaniel Borenstein <nsb at thumper.bellcore.com>
596 Date: Sun, 26 Nov 1995 19:04:51 -0800
597
598   Metamail is a package that can be used to convert virtually ANY
599   mail-reading program on Unix into a multi-media mail-reading
600   program. It is an extremely generic implementation of MIME
601   (Multipurpose Internet Mail Extensions), the proposed standard for
602   multi-media mail formats on the Internet. The implementation is
603   extremely flexible and extensible, using a "mailcap" file mechanism
604   for adding support for new data formats when sent through the mail.
605   At a heterogeneous site where many mail readers are in use, the
606   mailcap mechanism can be used to extend them all to support new
607   types of multi-media mail by a single addition to a mailcap file.
608
609   The metamail distribution comes complete with a small patch for each
610   of over a dozen popular mail reading programs, including Berkeley
611   mail, mh, Elm, Xmh, Xmail, Mailtool, Emacs Rmail, Emacs VM, Andrew,
612   and others. Note that the MH patches are now integrated into MH 6.8.
613
614     ftp://ftp.bellcore.com/pub/nsb/mm2.7.tar.Z
615
616 From: Tom Christiansen <tchrist at perl.com>
617 Date: Tue, 9 Feb 1999 22:55:24 -0800
618
619   Plum is a highly configurable and extensible screen-oriented
620   front-end for processing MH mail on ASCII terminals. Unlike MH-E,
621   the extension language used in plum is perl, not LISP. Plum offers
622   many of the advantages of xmh, but lacks several of xmh's
623   disadvantages. The look&feel derives more from vi than from emacs.
624   Key bindings and functions may be changed on the fly to suit the
625   user's preference. It offers filename and word completion on folder,
626   variables, and command names.
627
628   Until it is included in the standard distribution (under
629   miscellany), you can find a copy on:
630
631     http://www.cpan.org/authors/Tom_Christiansen/scripts/plum.gz        29k
632
633   or mail requests to Tom
634
635 From: Jerry Sweet <jsweet at irvine.com>
636 Date: Tue, 1 Nov 1994 00:00:00 -0800
637
638   Mhunify is a set of perl scripts and templates that provides
639   shell-level MH functionality with USENET news. Since MH supports
640   MIME, MIME-format news articles just work. I've found that being
641   able to handle news in the same way that I handle email is very
642   useful, although there are some tradeoffs.
643
644   Mhunify also treats MH folders just like news groups. If you
645   subscribe to several mailing lists, and your email is automatically
646   delivered to separate folders, say, via procmail or via MMDF's
647   .maildelivery, the mhunify package lets you progress automatically
648   through your folders just as you would news groups.
649
650     ftp://ftp.ics.uci.edu/pub/mh/contrib/multimedia/mhunify.shar.gz
651
652 From: Dale Carstensen <dlc at c3file.c3.lanl.gov>
653 Date: Tue, 1 Nov 1994 00:00:00 -0800
654
655   olmh is a demo for OLIT (Open Look Interface Toolkit, the Open Look
656   wrapper to Xt) in Sun's Open Windows 3 that does handle 3rd and
657   subsequent levels of nesting of folders.
658
659   Obtain the Open Windows 3 distribution CD/ROM from Sun (SPARC only).
660   To do this, call 1-800-USA-4SUN and send tone "2" for telemarketing
661   after it answers. The 4.1.2 CD/ROM may also have Open Windows 3. The
662   list price for the 4.1.2 CD/ROM is $200.
663
664 From: James Perkins <jamesp at sp-eug.com>
665 Date: Sun, 1 May 1994 00:00:00 -0800
666
667   Vmail is a curses-based, vi-like message browser which calls on MH
668   programs to manipulate mail. It can be used on almost any terminal.
669   It organizes mail folders into index pages, from which a message can
670   be selected to be shown, replied-to, forwarded, refiled, deleted,
671   and so on. The vi-like interface and command keystrokes are
672   comfortable to less-experienced Unix users, and it is a small,
673   compact program, unlike the MH-E Emacs package.
674
675   This version of vmail has been bugfixed and enhanced from the
676   original vmail published on the net in 1987 by J. Zobel.
677
678     ftp://ftp.uu.net/comp.sources.unix/volume12/vmail/part0*.Z          46k
679     ftp://ftp.ucs.ubc.ca/pub/mh/vmail.[1-3]of3.Z                        58k
680
681   Or mail requests to James.
682
683 From: James Perkins <jamesp at sp-eug.com>
684 Date: Sun, 1 May 1994 00:00:00 -0800
685
686   vmailtool may be for you if you have a Sun workstation. It is a
687   button gadget panel for the above-mentioned vmail program. It brings
688   vmail into the windows era where people no longer need to memorize
689   specific command keystrokes. It also provides a mail icon with the
690   flag that pops up when new mail arrives. Again, this is a compact,
691   simple tool, unlike the powerful xmh program. Still, it's a welcome
692   alternative for many people who are running SunView or OpenWindows.
693
694     ftp://ftp.ucs.ubc.ca/pub/mh/vmailtool.Z                             18k
695
696   or mail requests to James.
697
698   MMH, My Mail Handler, is a Motif interface for reading and sending
699   mail. It uses the MH commands to actually handle sending a receiving
700   messages. It does not support all the capabilities of MH, but offers
701   a large enough subset to handle the majority of users. Its intended
702   user is someone between "bumbling email novice" and "sophisticated
703   user". Hooks are provided to allow the user to customize and add new
704   commands.
705
706     ftp://ftp.eos.ncsu.edu/pub/bill/bill.tar.Z                          120k
707
708 From: Andrew Waugh <ajw at mel.dit.csiro.au>
709 Date: Fri, 1 Jan 1993 00:00:00 -0800
710
711   X.500 lookups: If a name is enclosed in square brackets, when
712   entering a destination address:
713
714     To: [Greg Wickham,CSIRO]
715
716   a search will be made in the X.500 Directory for the individual's
717   entry. If an address exists then it will be extracted and placed
718   into the headers. Mail requests for the software to the author.
719
720 From: Barbara Dyker <dyker at teal.csn.org>
721 Date: Fri, 1 Jan 1993 00:00:00 -0800
722
723   QueueMH is an email based service request and tracking system based
724   on the Rand Mail Handler.
725
726     ftp://ftp.cs.colorado.edu/pub/cs/sysadmin/utilities/queuemh.tar.Z   98k
727
728 From: <info at rootgroup.com>
729 Date: Mon, 1 Mar 1993 00:00:00 -0800
730
731   Qmh is an MH-based group mail management tool. Written entirely in
732   perl, Qmh combines the best aspects of MH with group mail heuristics
733   and delivers a sensible package for all levels of Unix users. A
734   limitless number of individual queues and associated groups of
735   permitted users can be established.
736
737   Specific functionality includes the following modes of operation;
738   checking header dates and sending reminder/deadline mail, editing
739   existing messages, help screens, creating new messages from scratch
740   or exiting messages, resolving messages, scanning queue folders, and
741   annotating with status both by editing and sending mail.
742
743   Qmh is a single generic program in and of itself from which all
744   modes of operation are invoked. Additionally, each separate queue
745   may be accessed via a link to the single program. All system
746   configuration is maintained in a single file that is read upon each
747   invocation of Qmh. Formatting and template files are provided in the
748   system library, although individual users can override the defaults
749   simply by creating equivalent files in their own MH mail directory.
750
751   Qmh provides a powerful database-like functionality by allowing
752   limitless per-queue X-Qmh-<$value> headers to be included in
753   messages. These "fields" then form the context of the queue messages
754   and provide a user-defined, but yet structured environment for
755   queries, reporting, and random information.
756
757   Qmh is designed to provide a complete solution for SA groups, help
758   desks, support organizations, or wherever two or more individuals
759   are trying to manage multiple mail requests.
760
761   Qmh is also compatible with versions of xmh that provide user-level
762   command buttons. Provided in the Qmh package is a ~/.Xdefaults
763   template file that's setup to harness the power of Qmh.
764
765 From: Jerry Peek <jpeek at jpeek.com>, Shannon Yeh <yeh at netix.com>
766 Date: Sun, 11 Mar 2001 00:23:21 -0800
767
768   MacMH and PC/MH:
769     These were available only for non-commercial degree-granting
770     institutions from:
771
772       Networking & Communication Systems
773       115 Pine Hall
774       Stanford University
775       Stanford, CA 94305-4122
776       Phone: +1 415-723-3909
777
778     See also:
779       ftp://netix.com/pub/pc-mh-info/*
780
781     For more PC/MH info, contact:
782
783       Netix Communications, Inc.
784       15375 Barranca Parkway
785       Building G, Suite 107
786       Irvine, CA 92718
787       Phone: +1 714-727-9532
788       FAX:   +1 714-727-3922
789       Internet: info at netix.com
790
791     In addition, you might try Wollongong, to see if they have
792     something you can get.
793
794     [This information appears to be out of date. Please send me
795     pointers to valid information. Potential sites include
796     jessica.stanford.edu. --Ed]
797
798     Two other potential methods to run MH under Windows: Run Unix
799     under Windows with VMware (http://www.vmware.com/) or try to
800     compile nmh with the Cygwin tools (http://www.cygwin.com/).
801
802 ------------------------------
803   
804 Subject: !01.06 How can I print a MH manual?
805 From: Bill Wohler <wohler at newt.com>, Jos Vos <jos at bull.nl>
806 Date: Sun, 23 Sep 2007 23:51:33 -0700
807
808   Documentation in text and PostScript format is found in the
809   MH-doc.tgz tarball on:
810     
811     http://sourceforge.net/project/showfiles.php?group_id=143658&package_id=188464
812
813   To generate your own copy for printing, first obtain the MH sources
814   (see "Where can I get MH?") if you don't already have it. Go into
815   the "doc" directory and run "make guide" to create the
816   administrators guide and "make manual" to create a user's manual
817   which includes tutorials and man pages. If the doc directory is
818   empty or is missing the Makefile, you'll have to run "mhconfig MH"
819   in the conf directory so that the documentation with correct local
820   information is created.
821
822   For properly formatting the documentation (at least the manual
823   pages) you might even have to install MH, because a reference to a
824   tmac.h file in the MH lib directory is made in the manual pages.
825
826 ------------------------------
827   
828 Subject: 01.07 How should I report bugs?
829 From: Bill Wohler <wohler at newt.com>
830 Date: Wed, 29 Sep 2004 00:12:42 -0700
831
832   Bugs in nmh should be reported at:
833
834     http://savannah.nongnu.org/bugs/?group=nmh
835
836   Bugs in MH-E should be reported at:
837
838     http://sourceforge.net/tracker/?atid=113357&group_id=13357
839
840 ------------------------------
841   
842 Subject: 01.08 How can I convert from my mailer to MH?
843 From: Mike Sutton <mws115 at llcoolj.dayton.saic.com>
844 Date: 7 Jul 1995 10:03:50 GMT
845
846   The unrmail function will convert rmail format to mbox format.
847
848 From: Jerry Peek <jpeek at jpeek.com>
849 Date: Fri, 1 Mar 1991 13:03:15 -0800
850
851   If you use one of a mail agent like 'mail', 'mailx', 'elm' or
852   'mush', converting to MH is easy. When you run the 'inc' command, it
853   reads all new messages from the system mailbox into your 'inbox'
854   folder. Those mail agents also have separate files or "folders" that
855   hold messages in the same format as the system mailbox. You can read
856   them with the 'inc -file' command. For example, to read the messages
857   from your 'mbox' mail file into your MH 'inbox' folder, you'd type:
858
859     % cd
860     % cp mbox mbox.backup
861     % inc -file mbox
862
863   If you see the usual "Incorporating new mail into inbox..." message
864   and a scan listing, the messages probably were converted. Read some
865   or all of them (with the 'show' command) and be sure. The 'inc'
866   won't remove your mbox unless you use '-truncate'.
867
868 From: "Jason R. Mastaler" <jason at Mastaler.COM>
869 Date: Mon, 1 May 1995 00:00:00 -0800
870
871   You can also specify an alternate folder to inc. Here's how you can
872   convert all your folders en masse:
873
874     for arg in `cat flist`; do
875         echo "converting $arg"
876         inc +"$arg" -file "$arg" -silent
877     done
878
879   Section D.4 of the MH book's second edition lists two scripts to
880   convert mail files to MH folders: babyl2mh to convert from rmail's
881   BABYL format; vmsmail2mh to convert from VMS's mail (see "What
882   references exist for MH") to see where the book's examples can be
883   ftped from). These scripts aren't in the third edition but are in
884   its archive file.
885
886 From: Vivek Khera <khera at cs.duke.edu>
887 Date: Fri, 1 Jan 1993 00:00:00 -0800
888
889   I rewrote the above script in Perl since the original script doesn't
890   work for some people (see "babyl2mh.pl" below).
891
892 From: Juergen Nickelsen <nickel at cs.tu-berlin.de>
893 Date: Fri, 1 Jan 1993 00:00:00 -0800
894
895   You can remove the second to last second line ("> $input"), so that
896   the script doesn't zero out your RMAIL file.
897
898   Another alternative is to replace this line with "inc -file $tmpmbox
899   $folder && > $input", so that the RMAIL is only zeroed if inc
900   successfully incorporated the mail. Finally one could add a switch
901   -z, so that the RMAIL file is only zeroed if the switch is given.
902   (See "Appendix inco".)
903
904 Date: Sun, 1 May 1994 00:00:00 -0800
905
906   Use the following to convert a BABYL format file to Unix mail
907   format.
908
909     ftp://inf.informatik.uni-stuttgart.de/pub/gnu/emacs_extras/rmailtovm.el.Z
910       6k
911
912   See also MH book second edition (Appendix D).
913
914 ------------------------------
915   
916 Subject: 01.09 What is the copyright status of nmh?
917 From: Richard Coleman <coleman at math.gatech.edu>
918 Date: Mon, 10 Oct 2005 18:16:58 -0700
919
920   nmh is distributed under a variant of the classical BSD copyright.
921   Check the COPYRIGHT file in the nmh distribution for the details.
922   There are some specific files which were contributed to the original
923   MH package that are copyrighted by their original author. We have
924   retained the copyright notices of these authors in these files.
925
926 ------------------------------
927
928 Subject: 02.00 ***** Building MH *****
929 From: Bill Wohler <wohler at newt.com>
930 Date: Fri, 1 Mar 1991 13:03:15 -0800
931
932 ------------------------------
933
934 Subject: 02.01 What machines does MH run on?
935 From: Bill Wohler <wohler at newt.com>
936 Date: Thu, 19 May 2005 21:22:55 -0700
937
938   MH isn't just for Unix any more. Versions are reported to run on
939   OS/2 (see "How can I build MH on OS/2?"), Windows (see "How can I
940   build MH on Windows?"), and Mac (see "How can I build MH on Mac?").
941   Oh yeah, the Mac is now Unix. Maybe Windows Longhorn will be built
942   on Unix too.
943
944 From: Jerry Peek <jpeek at jpeek.com>
945 Date: Fri, 1 Mar 1991 13:03:15 -0800
946
947   If you have a computer running Unix, you can probably run MH.
948
949 ------------------------------
950   
951 Subject: 02.02 How do I build MH?
952 From: Bill Wohler <wohler at newt.com>
953 Date: Sun, 8 Sep 1996 15:13:12 -0700
954
955   If you're using Linux, you can simply install the nmh or MH package
956   which is available in most distributions.
957
958   If you want to build nmh, follow the directions in the file named
959   INSTALL. Basically, it's simply "./configure; make; make install."
960
961   If you have MH on the other hand, if you carefully read the file
962   named READ-ME in the root of the source hierarchy, you should not
963   have any trouble building MH.
964
965   If you're having troubles building MH, it could be that the problem
966   has already been fixed, but hasn't yet gotten into an official
967   release. Please see http://www.gw.com/mail/mh/patches/ for more
968   info.
969
970 ------------------------------
971   
972 Subject: 02.03 What options should I use?
973 From: Bill Wohler <wohler at newt.com>
974 Date: Tue, 1 Dec 1992 00:00:00 -0800
975
976   BERK: Do NOT include the BERK option (in versions 6.7 or later)!
977   BERK breaks the mh-format functions that take apart address lines,
978   for example mbox, from, and friendly. This would really put a crimp
979   on my replcomps file.
980
981   LOCKF: if you have NFS, you need to lock your mailbox with lockf()
982   so the lock will be honored by all machines on the local network. If
983   you have the lockf() system call, include LOCKF.
984
985   JQ Johnson <jqj at duff.uoregon.edu> makes the point that one should
986   use this option carefully since it requires a robust lockf() call.
987   For example, this option caused serious problems on his SunOS 4.1.1.
988   He suggested using LOK_BELL instead, and adding "lockstyle: 1" to
989   $MHLIB/mts.conf (mtstailor).
990
991   ATZ: makes your timezones print like "EST" instead of "-0500". Much
992   prettier. --Stephen Gildea <gildea at stop.mail-abuse.org>
993
994   However, Tony Landells <ahl at technix.oz.au> replies: "Yes; very
995   pretty. How unfortunate that timezone names are so ambiguous, so
996   that EST can be interpreted, at a minimum, as (American) Eastern
997   Standard Time, (Australian) Eastern Standard Time, or (Australian)
998   Eastern Summer Time (and yes, I think it's dumb having the same
999   acronym for both normal and Summer time, but that's a different
1000   problem). While the numeric timezones may not look as nice, they
1001   are, at least, reasonably unambiguous. I would urge anyone who ever
1002   intends/hopes/expects to use email outside the U.S. to NOT use ATZ
1003   (sorry Stephen)."
1004
1005   At any rate, the conf/examples directory has been updated and
1006   contains many examples show you which options are required on your
1007   platform and which are optional (in the upcoming version MH 6.8). At
1008   any rate, it is recommended that you examine the options in the
1009   example configuration files, and read about them in READ-ME.
1010
1011   RPATHS: a side-effect is that slocal writes messages to your system
1012   maildrop without the MMDF C-A's that separate messages, so your BSD
1013   tools like from work.
1014
1015 ------------------------------
1016   
1017 Subject: 02.04 What do I need to do to use POP?
1018 From: Bill Wohler <wohler at newt.com>
1019 Date: Sun, 8 Sep 1996 23:31:01 -0700
1020
1021   MH6.7 (and earlier versions too) include a server for version 3 of POP.
1022
1023 From: Morgan Fletcher <morgan at tupelo.best.com>
1024 Date: 14 Mar 1996 19:24:23 -0800
1025
1026   Ensure that /etc/services contains the following:
1027
1028       pop2      109/tcp         postoffice      # POP version 2
1029       pop2      109/udp
1030     ->pop       110/tcp         # POP version 3 (MH's inc thinks it's "pop")
1031     ->pop       110/udp
1032       pop3      110/tcp         # POP version 3
1033       pop3      110/udp
1034
1035   Also compile with the POP options: POP, DPOP, RPOP, etc.
1036
1037 From: Richard Coleman <coleman at math.gatech.edu>
1038 Date: 06 Feb 1997 03:43:17 -0500
1039
1040   To get MH to use the pop3 service, add POPSERVICE=pop3 to your MH
1041   configuration and recompile:
1042
1043 ------------------------------
1044   
1045 Subject: 02.05 Does MH support IMAP?
1046 From: Lyndon Nerenberg <lyndon at MessagingDirect.COM>
1047 Date: 27 Jul 1999 11:33:39 -0600
1048
1049   Run exmh on the laptop, and modify your .mh_profile to inc using
1050   APOP. This is how I run MH-E and it works fine. (I did have to
1051   modify MH-E a wee bit to allow it to prompt for the password. You
1052   would likely have to do something similar with exmh.)
1053
1054   As a spare time project I'm adding enough IMAP support to MH (6.8.3)
1055   to allow you to 'inc -imap [-imapfolder foo]'. If I ever get this
1056   done I'll stick the diffs up somewhere. (It's not a big priority as
1057   I can get at my IMAP INBOX using APOP.)
1058
1059 From: Tim Showalter <tjs at andrew.cmu.edu>, John Prevost <visigoth at cs.cmu.edu>
1060 Date: Wed, 25 Sep 1996 21:34:56 -0400
1061
1062   We are developing fmh and intend to support as much of MH as is
1063   feasible. However, MH and IMAP don't necessarily agree as to what
1064   things are going to look like. MH has static message numbers until
1065   you pack a folder; IMAP keeps two numbers on a message, one which is
1066   absolutely static and one which is relative to the top of a mailbox.
1067   Messages in IMAP are essentially immutable. IMAP doesn't (currently)
1068   allow message annotations. fmh will keep state with a background
1069   daemon instead of writing it to disk, and will probably try and keep
1070   as little on disk as possible.
1071
1072   fmh doesn't understand MH folders at the moment, and probably won't
1073   for a really long time, if ever. As I said before, we're mostly
1074   interested in the IMAP aspects as we're using a networked file
1075   system and saving stuff on the local disk just isn't an option.
1076
1077   fmh is not MH at a very fundamental level. It is very unlikely that
1078   it will be merged, as we're not quite as interested in creating
1079   something that is MH and IMAP as we are in writing a good IMAP
1080   client. Also, the MH code isn't going to take the introduction of
1081   IMAP without a near complete rewrite.
1082
1083   It is not available yet. Inquiries are welcome at <tjs+fmh at
1084   andrew.cmu.edu>.
1085
1086 From: Rahul Dhesi <dhesi at rahul.net>
1087 Date: 23 Sep 1996 08:39:52 GMT
1088
1089   What prevents people from doing a telnet to their mail server,
1090   logging in, and firing up MH directly? Site policy? An operating
1091   system that does not let MH compile or run? Overloaded machine with
1092   insufficient processing power for MH? All these are site-specific
1093   problems and the solution lies in solving them locally, not in
1094   forcing MH to go over IMAP.
1095
1096   IMAP was never designed to emulate a filesytem. MH was designed to
1097   make direct advantage of the filesytem structure. There is no
1098   compatibility between the two. By the time IMAP is revised enough to
1099   support MH you will have reinvented NFS.
1100
1101   There *is* scope for redesign here, though. It would be nice to have
1102   a single-user filesystem. Create a binary telnet session to the
1103   filesystem server, log in as yourself, and then over that session
1104   run a filesystem protocol. Normal filesystem protections at the
1105   other end will be sufficient for all permissions checking, so the
1106   filesystem protocol would need to do no other permissions checking.
1107   The question of whom to export directories to would go away: They
1108   are exported to whoever completes a successful login, and accessible
1109   to the user if he would be able to access them on the server as his
1110   login id. You could even use challenge-response for the initial
1111   login, coupled with ssh-based encryption, so you automatically have
1112   a secure filesystem without even trying.
1113
1114   IMAP is too restricted in its scope to be easily modifiable to
1115   emulate such a filesystem. It would have to be a redesign from
1116   scratch.
1117
1118 From: John Romine <jromine at ics.uci.edu>
1119 Date: Sun, 8 Sep 1996 15:45:27 -0700
1120
1121   No. MH only supports retrieving mail using POP3. POP3 is on the
1122   "standards track"--it is now an elective Internet Draft Standard
1123   (see RFC 1939 for more details). At this point, IMAP[23] are
1124   "experimental, limited use" protocols; it is unlikely that MH will
1125   support them.
1126
1127 From: Bill Wohler <wohler at newt.com>
1128 Date: Sun, 8 Sep 1996 15:45:32 -0700
1129
1130   Since John posted the message above, IMAP has progressed from an
1131   "experiemental, limited use" protocol. While IMAP is not universal,
1132   many vendors now have implementations.
1133
1134   I've found several things which might help. First, a definition
1135   lifted from the Pine FAQ:
1136
1137   What is IMAP?
1138
1139   IMAP stands for "Internet Message Access Protocol". An IMAP client
1140   program on any platform at any location on the Internet can access
1141   email folders on an IMAP server. While the messages appear to be
1142   local, they reside on the server until the client explicitly moves
1143   or deletes them. The IMAP protocol is a superset of POP, containing
1144   all POP commands plus more. For a comparison of IMAP and POP, see
1145   the paper Comparing Two Approaches to Remote Mailbox Access: IMAP
1146   vs. POP (in ftp.cac.washington.edu:/mail/imap.vs.pop). IMAP is what
1147   allows Pine (or any other IMAP client) to get to email on a central
1148   campus email server. There are current IETF working groups revising
1149   IMAP and readying it to become an Internet standard. A copy of the
1150   latest IMAP draft may be obtained from:
1151   
1152     ftp://ftp.cac.washington.edu/mail/latest-imap-draft
1153
1154   For a list of IMAP clients, see the file imap.software, in the same
1155   directory.
1156
1157 From: David L Miller <dlm at cac.washington.edu>
1158 Date: Mon, 1 Aug 1994 00:00:00 -0800
1159
1160   ipop3d from the UW IMAP toolkit can operate in a couple modes. As a
1161   straight POP3 server, it uses the same C-client library as imapd, so
1162   it co-exists comfortably with imapd. It can also operate as a
1163   POP-to-IMAP gateway so that your POP-only clients can access IMAP
1164   services.
1165
1166     ftp://ftp.cac.washington.edu/mail/imap.tar.Z                        1.0M
1167
1168 From: Mark Crispin <MRC at Panda.COM>
1169 Date: Mon, 1 Aug 1994 00:00:00 -0800
1170
1171   The only answer I can give for [how MH users can use IMAP] is that
1172   Pine can read mailboxes in MH format; and that someone might in the
1173   future develop a version of MH that can use IMAP.
1174
1175 ------------------------------
1176   
1177 Subject: 02.06 Why does "mailgroup mail" only affect inc but not slocal?
1178 From: John Romine <jromine at ics.uci.edu>
1179 Date: Fri, 1 Jan 1993 00:00:00 -0800
1180
1181   If "mailgroup" is set, inc is made set-group-id to this group name.
1182   Some SYS5 systems want this to be set to "mail". Set this if
1183   /usr/spool/mail (or /usr/mail) is not world-writable. These changes
1184   were contributed by Peter Marvit, and "inc" is very careful about
1185   its use of the set-gid privilege.
1186
1187   Note that slocal doesn't know how to deal with this, and will not
1188   work under these systems; just making it set-group-id will open a
1189   security hole (since it doesn't know when to drop the set-gid
1190   privileges). If you're using "mailgroup", you should remove slocal
1191   (and its man page) from your system.
1192
1193   Alternatives to slocal include deliver, procmail, and mailagent.
1194   (See "What mail filters are available?")
1195
1196 ------------------------------
1197   
1198 Subject: 02.07 How can I build MH on Solaris 2?
1199 From: Richard Coleman <coleman at math.gatech.edu>
1200 Date: Tue, 20 Jan 1998 02:19:58 -0500
1201   
1202   nmh builds out of the box on Solaris.
1203
1204 From: Bill Wohler <wohler at newt.com>
1205 Date: Sun, 8 Sep 1996 15:56:31 -0700
1206
1207   See http://www.gw.com/mail/mh/patches/solaris/ for patches you may need.
1208
1209 From: Neil Rickert <rickert at cs.niu.edu>,
1210         Scott K. Hutton <shutton at habanero.ucs.indiana.edu>,
1211         Casper H.S. Dik <casper at fwi.uva.nl>
1212 Date: Sun, 8 Sep 1996 15:57:25 -0700
1213
1214   First, don't use the BSD compatible stuff. Make sure that the Sun or
1215   GNU compiler appear before the BSD compiler in your PATH (e.g.,
1216   /usr/ccs/bin).
1217
1218   Second, don't use GNU make. Make sure that the Sun make appears
1219   before the GNU make in your PATH.
1220
1221   Use conf/examples/solaris2.sun.com and fix the paths, if necessary.
1222   Optionally change the following to use the GNU compiler, to perform
1223   optimization, and to create shared libraries.
1224
1225     cc              gcc
1226     ccoptions       -O -g -msupersparc
1227     slflags         -shared
1228
1229   Fix mhn.c with the diff in
1230
1231     http://www.gw.com/mail/mh/patches/solaris/si_value_2.3.
1232
1233   Optionally incorporate the Content-Length header fix. (See "How can
1234   I get MH to interpret the Content-Length field?")
1235
1236   Linking with /usr/ucblib/libucb.so is incompatible with including
1237   <dirent.h>.
1238
1239   When compiling, you can ignore the following warning:
1240
1241     fmtcompile.c, line 238: warning: semantics of "/" change in ANSI C;
1242     use explicit cast
1243
1244   If you're using AFS, you'll have to replace any occurrence of "ln"
1245   with "ln -s" wherever the make dies when it tries to make a link "on
1246   a different file system."
1247
1248   See also ftp://ftp.fwi.uva.nl/pub/solaris/solaris2.faq.
1249
1250 Date: Thu, 1 Dec 1994 00:00:00 -0800
1251
1252   Unset LD_LIBRARY_PATH.
1253
1254 From: Gary Strand <strandwg at ncar.ucar.edu>
1255 Date: Mon, 1 May 1995 00:00:00 -0800
1256
1257   To cure slocal's Segmentation Fault problems, I decided to try 'cc'
1258   instead of 'gcc' (an alleged no-no under Solaris) and MH built just
1259   fine, and it's working perfectly.
1260
1261 From: "Jason R. Mastaler" <jason at Mastaler.COM>
1262 Date: Mon, 25 Sep 1995 17:35:13 -0400
1263
1264   Don't use "ldoptions -s" with gcc. It may cause the compile to fail
1265   with:
1266
1267     gcc: Internal compiler error: program ld got fatal signal 11
1268     *** Error code 1
1269
1270 From: "Jeffrey T. Eaton" <jeaton at galt.com>
1271 Date: Fri, 04 Apr 1997 15:30:36 GMT
1272
1273   Fixed [DBM_PAGFNO_NOT_AVAILABLE error] by getting the latest gdbm
1274   package, compiling and installing it and the dbm/ndbm compatability
1275   stuff, and moving Sun's broken ndbm.h out of /usr/include.
1276
1277   To fix "../sbr/libmh.so: undefined reference to
1278   `__builtin_va_arg_incr'", add "option __BUILTIN_VA_ARG_INCR" to your
1279   MH configuration.
1280
1281 ------------------------------
1282   
1283 Subject: 02.08 How can I build MH on Linux?
1284 From: Richard Coleman <coleman at math.gatech.edu>
1285 Date: Tue, 20 Jan 1998 02:19:58 -0500
1286
1287   nmh should build out of the box for most Linux systems.
1288
1289 From: Bill Wohler <wohler at newt.com>
1290 Date: Tue, 9 Feb 1999 23:04:53 -0800
1291
1292   The Debian distribution of Linux comes with an MH and nmh packages.
1293   See
1294
1295     http://www.debian.org/.
1296
1297   See also http://www.gw.com/mail/mh/patches/linux/.
1298
1299 From: "James A. Robinson" <jimr at simons-rock.edu>
1300 Date: 17 Apr 96 20:39:02 GMT
1301
1302   Somebody on Debian ported it to Linux ELF. Look on
1303   ftp://ftp.debian.org/debian/stable/binary/mail/mh_6.8.4-13.deb for
1304   the .deb package of MH (it's a compressed tar file). The source is
1305   in ftp://ftp.debian.org/debian/stable/source/mail/mh_6.8.4-orig.tar.gz
1306   and mh_6.8.4-13.diff.gz.
1307
1308 From: Brian Kirouac <bri at psa.pencom.com>
1309 Date: 18 Apr 96 14:00:20 GMT
1310
1311   If you are running Redhat and have rpm available you can also use
1312   ftp://???/pub/redhat-3.0.3/i386/RedHat/RPMS/mh-6.8.3-5.i386.rpm. The
1313   source code is in
1314   ftp://???/pub/redhat-3.0.3/i386/SRPMS/mh-6.8.3-5.i386.rpm
1315
1316 From: "Brandon S. Allbery" <bsa at kf8nh.wariat.org>
1317 Date: Sun, 26 Nov 1995 16:18:50 -0800
1318
1319   The current patch is the first one listed below. The old patch only
1320   works with libc-4.4, which is no longer used. The current patch is
1321   split into two pieces, as with the previous patch, but now the
1322   divisions are purely functional: the first diff enables MH to
1323   compile, the second allows creation of a shared library. [The paths
1324   are up to date, but I think the info in this paragraph is old. --Ed]
1325
1326   Recent versions of GNU make choke on MH's makefiles. Unfortunately,
1327   the shared library patches depend on "export". If you have problems
1328   building MH, remove the "export" lines from all of the makefiles (if
1329   you applied the shared library patches) and try using BSD pmake
1330   instead.
1331
1332   If you don't want to compile MH, the second file contains
1333   pre-compiled ready-to-run binaries which can simply be extracted in
1334   the root directory.
1335
1336     ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/mh-6.8.3-diffs.tar.gz
1337     ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/mh-6.8.3-bin.tar.gz
1338
1339   The sizes are 650k and 22k respectively.
1340
1341   Note that these files are occasionally "cleaned up" by accident so
1342   please let me know if they are missing.
1343
1344 ------------------------------
1345   
1346 Subject: 02.09 How can I build MH on IRIX?
1347 From: Richard Coleman <coleman at math.gatech.edu>
1348 Date: Tue, 20 Jan 1998 02:19:58 -0500
1349
1350   nmh should build out of the box for Irix.
1351
1352 From: Bill Wohler <wohler at newt.com>
1353 Date: Sun, 8 Sep 1996 15:33:22 -0700
1354
1355   See http://www.gw.com/mail/mh/patches/sgi/ for patches you may need.
1356
1357 From: Arne K. Frick <frick at info.uni-karlsruhe.de>
1358 Date: 06 Jun 1995 18:30:01 GMT
1359
1360   There is a file at viz.tamu.edu:/pub/sgi (see FAQ) containing a diff
1361   and sample configuration. If you cannot locate it, I can mail it to
1362   you. Note, however, that I had tremendous difficulties with them
1363   under 5.3:
1364
1365   1. Be sure to use /bin/make, NOT GNU make.
1366   2. patch vomits over the diff.  You can get around this by increasing the
1367      "fuzz factor" to 4.
1368   3. The Makefile target for the shared library doesn't work.  I had to do it
1369      by hand.
1370
1371   But I'm stuck compiling mhn.c.
1372
1373 From: Shankar Unni <shankar at sgi.com>
1374 Date: 9 Jun 1995 01:53:48 GMT
1375
1376   The fix for compiling mhn.c is in
1377
1378     http://www.gw.com/mail/mh/patches/solaris/si_value_2.3.
1379
1380 From: Jack Repenning <jackr at informix.com>
1381 Date: 25 Jul 1995 02:35:41 GMT
1382
1383   (See "IRIX config file") below.
1384
1385 ------------------------------
1386   
1387 Subject: 02.10 How can I get MH to interpret the Content-Length field?
1388 From: Casper H.S. Dik <Casper.Dik at Holland.Sun.COM>
1389 Date: Sun, 8 Sep 1996 15:38:30 -0700
1390
1391   Apply http://www.gw.com/mail/mh/patches/solaris/content_length to
1392   your MH distribution and add the configuration option
1393   "CONTENT_LENGTH". It also includes the si_ fix in
1394
1395     http://www.gw.com/mail/mh/patches/solaris/si_value_2.3
1396
1397 ------------------------------
1398   
1399 Subject: 02.11 How can I build MH on HP-UX?
1400 From: Bill Wohler <wohler at newt.com>
1401 Date: Sun, 8 Sep 1996 15:50:54 -0700
1402
1403   If you find that your zotnet/tws directory isn't compiling, upgrade
1404   your MH (see "What is the current version/status of MH?") which
1405   includes fixes to lexedit.sed.
1406
1407   See http://www.gw.com/mail/mh/patches/hp/ for for patches you may need.
1408
1409 ------------------------------
1410   
1411 Subject: 02.12 Can I prevent adding the local hostname to addresses behind firewalls?
1412
1413 From: Ted Remillard <tedr at hood.sd.com>
1414 Date: 24 Jun 1996 08:53:42 -0700
1415
1416   You can get MH to stop managing the headers and let the email server
1417   to do it. To do this, build MH with the options DUMB and REALLYDUMB.
1418   In the $MHLIB/mts.conf (mtstailor) file, set the server option to
1419   the IP address of the email server. After this is done, MH sends
1420   email directly to the email server and Local email To: and From:
1421   fields just have the user's simple email address, e.g., <fred>, and
1422   the remote email From: header will contain user@domainname, e.g.,
1423   <fred@sd.com>.
1424
1425   Don't forget to define the REALLYDUMB option in the file
1426   sbr/addrsbr.c described below.
1427
1428 From: Bret Rothenberg <bretr at endeavour.exar.com>
1429 Date: Tue, 23 Jan 1996 12:25:24 -0800 (PST)
1430
1431   Yes, use the "localname" parameter in "$MHLIB/mts.conf" (mtstailor)
1432   to specify the desired hostname.
1433
1434 From: Ken Hornstein <kenh at cmf.nrl.navy.mil>
1435 Date: 18 Aug 1995 23:51:48 -0400
1436
1437   If you're behind a firewall and sendmail gives you fits because MH
1438   adds the node name or site name to each address in the To: and CC:
1439   fields, you'll need to modify the MH source.
1440
1441   The relevant source has to do with the REALLYDUMB option in
1442   sbr/addrsbr.c. Essentially what you need to do is set it up so
1443   REALLYDUMB is turned on (normally, it's turned off if you have MMDF
1444   or SMTP turned on). This will do what you want. I did this at our
1445   site, and it's been working great. The stuff for REALLYDUMB starts
1446   around line 613.
1447
1448 ------------------------------
1449   
1450 Subject: 02.13 Is there a patch to fix this or that?
1451 From: Kimmo Suominen <kim at tac.nyc.ny.us>
1452 Date: Sat, 3 Mar 2001 13:40:35 -0800
1453
1454   The MH Patch Archive has been opened at
1455
1456     http://www.gw.com/mail/mh/patches/
1457
1458   It is a collection of patches to MH (the RAND MH Message Handling
1459   System), a set of electronic mail programs in the public domain.
1460   Since the last complete release of MH (version 6.8.3) UNIX systems
1461   have evolved making changes in the MH code necessary. Several new
1462   UNIX systems have emerged requiring new configuration templates and
1463   examples. This archive tries to collect all these fixes and
1464   enhancements that in the past have been available only through
1465   word-of-mouth and occasional reposts to newsgroups or mailing lists.
1466
1467   The initial archive layout and the very time consuming collecting
1468   and categorizing of patches has been done by Jerry Peek.
1469
1470   I will be the primary maintainer of the archive. Even though I will
1471   be monitoring several sources for new material (mainly the
1472   comp.mail.mh newsgroup but also the mailing lists <mh-workers at
1473   ics.uci.edu>, <mh-e-users at lists.sourceforge.net> and
1474   <exmh-workers at redhat.com>), I'd like to encourage everyone to
1475   submit patches also directly to the archive at <mh-archive at
1476   gw.com>.
1477
1478 ------------------------------
1479   
1480 Subject: 02.14 How can I build MH on OS/2?
1481 From: Sanjay Aiyagari <sanjay at sandbox.snetnsa.com>
1482 Date: 21 Nov 1996 19:37:10 GMT
1483
1484     ftp://ftp.jaist.ac.jp/pub/os/os2/network/MH/
1485
1486 ------------------------------
1487   
1488 Subject: 02.15 Do any POP/IMAP servers handle MH format?
1489 From: "Carl S. Gutekunst" <csg at eng.sun.com>
1490 Date: 27 May 1997 07:24:34 GMT
1491
1492   The University of Washington POP3 and IMAP servers can be backended
1493   by a variety of stores, including MH. This is the basis for
1494   Netscape's store, curiously enough. I haven't looked closely at how
1495   Mark Crispin implemented support for the new IMAP4 features when
1496   using an MH backend; it seems like there is a lot of computation
1497   when opening a folder for the first time, writing in the UID fields
1498   and such. But it basically appears to work.
1499
1500 From: Lyndon Nerenberg <lyndon at MessagingDirect.COM>
1501 Date: 27 Jul 1999 11:36:25 -0600
1502
1503   But [the UW IMAP server] can't delete/expunge from MH folders. (At
1504   least I've never been able to get it to work, and I've tried just
1505   about everything.) #mh in UW imapd isn't something I'd recommend to
1506   any serious MH user.
1507
1508 From: Mark Crispin <mrc at CAC.Washington.EDU>
1509 Date: Tue, 27 Jul 1999 14:43:25 -0700
1510
1511   > But it can't delete/expunge from MH folders.
1512
1513   That's a very old version. delete/expunge has been in imap-4.x for a
1514   long while. However, there's no sticky flags.
1515
1516   > #mh in UW imapd isn't something I'd recommend to any serious MH user.
1517
1518   The converse is also true. The two don't play ball very well.
1519
1520 From: Dieter Weber <dieter at Compatible.COM>
1521 Date: 11 Feb 2003 04:23:38 -0800
1522
1523   The UW imap server supports MH folders. In order to see the MH
1524   mailboxes, you need to "subscribe" to the folders or add them to the
1525   .mailboxlist file in your home directory.
1526
1527 ------------------------------
1528   
1529 Subject: 02.16 How can I build MH on Windows?
1530 From: Satyaki Das <satyaki at theforce.stanford.edu>
1531 Date: Wed, 19 Jun 2002 20:57:19 -0700
1532
1533   I have gotten MH-E to work on Windows (under Cygwin) using Earl
1534   Hood's patched nmh. It was really quite simple, but not very
1535   portable. I just needed to add/subtract "c:/cygwin" from a couple of
1536   places. Now it can read and send mail (even does PGP attachments).
1537   Thought this might be of interest to those of you stuck using
1538   Windows at work.
1539
1540 From: Earl Hood <ehood at earlhood.com>
1541 Date: Sat, 08 Jun 2002 20:30:44 GMT
1542
1543   I've made a tar/bz2 bundle available at
1544
1545     <http://www.nacs.uci.edu/indiv/ehood/tmp/nmh-1.0.4-ehood-cygwin.tar.bz2>
1546
1547   This includes the patched source with binaries pre-built.
1548
1549   I just remembered that I also had to hack the makefiles to get
1550   things to install since windoze executables have to end with .exe. I
1551   hacked the generated makefiles, so if you rerun configure, you may
1552   lose the hacks. Also, I believe the install will fail when trying to
1553   install the documentation, so to force things do:
1554
1555     make -i install
1556
1557   The binaries and support files should get installed (under
1558   /usr/local/nmh), but the docs probably won't.
1559
1560   Then you will need to edit /usr/local/nmh/etc/mts.conf to reflect
1561   your local configuration.
1562
1563   If anyone has any problems installing, I could zip up my
1564   /usr/local/nmh since I think it contains everything needed for
1565   runtime usage.
1566
1567 From: Bill Goffe <goffe at oswego.edu>
1568 Date: 25 May 1999 18:13:55 GMT
1569
1570   If you have Windows, consider looking at VMware
1571
1572     http://www.vmware.com/
1573   
1574   which provides a virtual machine where you can run Unix and
1575   therefore MH under Windows.
1576
1577 From: Ted Nolan <ted at ags.ga.erg.sri.com>
1578 Date: 24 May 99 17:20:27 GMT
1579
1580   The latest Cygnus Cygwin, GNU tools that run under Windows,
1581
1582     http://www.cygwin.com/
1583  
1584   seems to work pretty well and may well be able to build nmh.
1585
1586 ------------------------------
1587   
1588 Subject: !02.17 How can I build MH on a Mac?
1589 From: Dr Eberhard W Lisse <el at lisse.na>
1590 Date: Sun, 05 Jun 2005 13:43:19 +0100
1591
1592   nmh compiles on the G4 iBook running Mac OS X 10.3.7 more or less
1593   out of the box with the powerpc HOST option. Use make all install.
1594
1595   Use fink to install the nmh package on Max OS X 10.3.9 (and 10.4.1).
1596
1597   metamail does not work out of the box. However,
1598   metamail-2.7.19-1030.src.rpm (SuSE) which compiles and installs
1599   cleanly.
1600
1601   For exmh, first use fink to install the tcltk package. Then use fink
1602   to install exmh.
1603
1604 ------------------------------
1605
1606 Subject: 03.00 ***** Scanning & Reading *****
1607 From: Bill Wohler <wohler at newt.com>
1608 Date: Fri, 1 Mar 1991 13:03:15 -0800
1609
1610 ------------------------------
1611
1612 Subject: 03.01 What do I do if scan shows the wrong date?
1613 From: Bill Wohler <wohler at newt.com>
1614 Date: Fri, 1 Jan 1993 00:00:00 -0800
1615
1616   Upgrade to MH 6.8 or nmh.
1617
1618 From: Darryl Okahata <darrylo at sr.hp.com>
1619 Date: 19 Jan 2000 23:01:10 -0800
1620
1621   MH 6.8.3 and nmh 1.0 still have a minor buglet where sortm doesn't
1622   always sort messages properly. If a (questionable) mail client sends
1623   messages with 2-digit years, like:
1624
1625     Date: Sat, 23 Oct 09 22:02:01 EST
1626
1627   or sends out buggy dates like (as buggy versions of Elm do):
1628
1629     Date: Sat, 23 Oct 100 22:02:01 EST
1630
1631   then sortm will not sort these messages properly.
1632
1633   I have submitted patches to nmh-workers.
1634
1635 ------------------------------
1636   
1637 Subject: 03.02 How would one go about reading Usenet with MH?
1638 From: Bill Wohler <wohler at newt.com>
1639 Date: Sun, 26 Nov 1995 12:32:09 -0800
1640
1641   You can post via mail. Send your article to <mail2news at
1642   news.demon.co.uk> with a legitimate Newsgroups field.
1643
1644 From: Jerry Peek <jpeek at jpeek.com>
1645 Date: Tue, 1 Nov 1994 00:00:00 -0800
1646
1647   You can save articles in the news readers for later perusal with MH.
1648
1649   First, create a symbolic link from your mail directory (e.g.,
1650   usenet) to your news directory (e.g., "ln -s ~/News ~/Mail/usenet").
1651   You can then treat your news directory as a mail folder. Thus, to
1652   select a news group, use "folder +usenet/comp/mail/mh".
1653
1654   To set the default save location correctly in rn, use:
1655
1656     rn -M -/
1657
1658   or in your nn presentation sequence:
1659
1660     news.announce.              +$F/$N
1661     comp.mail.mh                +
1662     .
1663     .
1664
1665   If there's news spooled on your machine (that is, not via NNTP) then
1666   you can read a newsgroup with commands like:
1667
1668     show first +/usr/spool/news/comp/mail/mh
1669     next
1670     ...
1671
1672   You can also use sequences to keep track of what you've read. MH
1673   will automatically set a "cur" sequence in each newsgroup you read
1674   that way. So, to continue reading the newsgroup sometime later,
1675   after you've read some other folder, you can do:
1676
1677     next +/usr/spool/news/comp/mail/mh
1678
1679   and you'll read the next (new) article (if any) in that newsgroup.
1680
1681   Note that this can eventually make your private context file pretty
1682   huge; if there's a group you don't read often, you can remove its
1683   context entries with a command like:
1684
1685     rmf +/usr/spool/news/comp/mail/mh
1686
1687   Don't try that on a folder full of mail (a folder that isn't
1688   read-only), though... in that case, it'll remove all the messages!
1689
1690   I haven't looked into posting. It seems like it shouldn't be hard.
1691   You could set up a "sendproc" that would look at outgoing email
1692   messages. If the message had a Newsgroups: header field, your
1693   sendproc could call inews(1) instead of post(8). I haven't seen much
1694   in the MH manpages or documentation about sendprocs (though I
1695   haven't looked for a couple of years...). See the "mysend" script in
1696   the MH book section 7.1.4 (13.13), or the URL:
1697
1698     http://rand-mh.sourceforge.net/book/mh/senove.html#ASAtDm
1699
1700   A threaded news reader like trn or tin is so much nicer, though,
1701   that reading news with MH may not be worth the hassle.
1702
1703   See also MH book section 9.9 (8.7), or the URL:
1704
1705     http://rand-mh.sourceforge.net/book/mh/shafol.html
1706
1707 From: Stephen Gildea <gildea at stop.mail-abuse.org>
1708 Date: Fri, 1 Mar 1991 13:03:15 -0800
1709
1710   Although news readers are better, if one really wants to use MH, bbc
1711   will do the job. For example, "bbc comp.mail.mh" reads this
1712   newsgroup. To enable bbc, you have to specify "bboards" when you
1713   build MH.
1714
1715 From: Kimmo Suominen <kim at tac.nyc.ny.us>
1716 Date: 15 Aug 1996 18:18:10 GMT
1717
1718   Sendmail v8 comes with MAILER(pop) which was written for the MH
1719   spop. Since I use bboards with NNTP, I never looked at the bboards
1720   setup.
1721
1722 Date: Tue, 1 Nov 1994 00:00:00 -0800
1723
1724   See mhunify in (see also "What other MH software is available?").
1725
1726 ------------------------------
1727   
1728 Subject: 03.03 How can I search through multiple folders?
1729 From: Jerry Peek <jpeek at jpeek.com>
1730 Date: Mon, 1 Mar 1993 00:00:00 -0800
1731
1732   Recurse through the folders (in csh and sh):
1733
1734   % foreach f (`folders -f`)            $ for f in `folders -f`
1735   ? pick [switches] +$f                 > pick [switches] +$f
1736   ? end                                 > done
1737
1738   Or create a folder that contains links to all messages (in csh and sh):
1739
1740     % foreach f (`folders -f | grep -v -x ln`)
1741     ? refile -src +$f -link all +ln
1742     ? end
1743
1744     $ for f in `folders -f | grep -v -x ln`
1745     > do refile -src +$f -link all +ln
1746     > done
1747
1748   and in the future, refile messages with "refile +folder +ln". To
1749   find something, use:
1750
1751     % pick [switches] +ln
1752
1753   See MH book sections 8.2.9 (7.2.9), 8.9.3 (7.8.3), or the URLs:
1754
1755     http://rand-mh.sourceforge.net/book/mh/finpic.html#SeMTOnFo
1756     http://rand-mh.sourceforge.net/book/mh/usilin.html#AFoFuoLi
1757
1758 ------------------------------
1759   
1760 Subject: 03.04 Why don't MH format commands such as %(friendly) work?
1761 From: Anthony Baxter <anthony at aaii.oz.au>
1762 Date: Sun, 1 May 1994 00:00:00 -0800
1763
1764   The BERK option disables address parsing and therefore functions
1765   such as %(friendly). Recompile MH without the BERK option.
1766
1767 ------------------------------
1768   
1769 Subject: 03.05 Why doesn't "show" display all of a MIME message?
1770 From: Jerry Peek <jpeek at jpeek.com>
1771 Date: Mon, 1 Aug 1994 00:00:00 -0800
1772
1773   It's not the fault of the "show" command or of MH in general. It's
1774   your system's configuration. Check the $MHLIB/mhn.defaults
1775   (mhn_defaults) file; if it doesn't have defaults for all content
1776   types, add them. Or, if you can't (or shouldn't) change mhn.defaults
1777   (mhn_defaults), you can put default entries in your MH profile file
1778   for those content types.
1779
1780   Here's the part of the mhshow(1) (mhn(1)) manpage that explains how
1781   content types are handled. The example is for mhshow, but if you're
1782   using mhn, you'd replace mhshow with mhn:
1783
1784     First, mhshow will look for an entry of the form:
1785
1786       mhshow-show-<type>/<subtype>
1787
1788     to determine the command to use to display the content. If this
1789     isn't found, mhshow will look for an entry of the form:
1790
1791       mhshow-show-<type>
1792
1793     to determine the display command. If this isn't found, mhshow has
1794     two default values:
1795
1796       mhshow-show-text/plain: %pmoreproc '%F'
1797       mhshow-show-message/rfc822: %pshow -file '%F'
1798
1799     If neither apply, mhshow will check to see if the message has a
1800     application/octet-stream content with parameter "type=tar". If so,
1801     mhshow will use an appropriate command. If not, mhshow will
1802     complain.
1803
1804   So, add defaults that cover the types MH doesn't handle right now
1805   (or doesn't handle the way you want it to). Your defaults will
1806   override corresponding defaults in the $MHLIB/mhn.defaults
1807   (mhn_defaults) file. For example, if you don't have an HTML
1808   editor/browser on your system, you could tell MH to use the "less"
1809   paginator for HTML message parts:
1810
1811     mhshow-show-text/x-html: less %F
1812
1813   You can put that line in your MH profile.
1814
1815   You can even set different defaults for different terminal types
1816   (say, your VT100 at home and your X setup at work). Make a file in
1817   the same format as mhn.defaults (mhn_defaults); store its pathname
1818   in the MHSHOW (MHN) environment variable. Add a test to your shell
1819   setup file (.bash_profile, .profile, .login) that tests the value of
1820   the TERM variable -- and, if you have an mhshow (mhn) setup file for
1821   that terminal type, store its pathname in the MHSHOW (MHN) variable.
1822
1823   See also MH book sections 6.2.3, 9.4.4, 9.4.5, or the URLs:
1824
1825     http://rand-mh.sourceforge.net/book/mh/remime.html#HomhShMe
1826     http://rand-mh.sourceforge.net/book/mh/confmhn.html#ShComhsh
1827     http://rand-mh.sourceforge.net/book/mh/confmhn.html#DiOChSmc
1828
1829 From: Michael K. Neylon <mneylon at engin.umich.edu>
1830 Date: Tue, 1 Nov 1994 00:00:00 -0800
1831
1832   If you are not using the X Window System, you may have to add this
1833   line to your MH profile:
1834
1835     mhshow-charset-iso-8859-1: /bin/sh -c '%s'                  # nmh
1836     mhn-charset-iso-8859-1: /bin/sh -c '%s'                     # MH
1837
1838 ------------------------------
1839   
1840 Subject: 03.06 Can I get show not to run "less" so much on MIME messages?
1841 From: Richard Coleman <coleman at math.gatech.edu>
1842 Date: Tue, 20 Jan 1998 02:19:58 -0500
1843
1844   On nmh, you can do this just by "show -nocheckmime". This will
1845   disable the detection of MIME messages.
1846
1847 From: Bill Wohler <wohler at newt.com>
1848 Date: Tue, 1 Nov 1994 00:00:00 -0800
1849
1850   If you say, "show all," and one of the messages was a MIME message,
1851   your pager will be run several times on each message, rather than
1852   once on all the messages as a whole. If you find this annoying, set
1853   the environment variable NOMHNPROC:
1854
1855     % setenv NOMHNPROC ""                       # csh
1856     $ NOMHNPROC=                                # sh and bash
1857     $ export NOMHNPROC
1858
1859   See also MH book sections 6.2.3, 6.2.10, or the URLs:
1860
1861     http://rand-mh.sourceforge.net/book/mh/remime.html#HomhShMe
1862     http://rand-mh.sourceforge.net/book/mh/remime.html#Alttomhn
1863
1864 ------------------------------
1865   
1866 Subject: 03.07 Why do I get "mhn: don't know how to display content"?
1867 From: Richard Coleman <coleman at math.gatech.edu>
1868 Date: Tue, 20 Jan 1998 02:19:58 -0500
1869
1870   This has already been fixed in nmh.
1871
1872 From: Keith Moore <moore at cs.utk.edu>
1873 Date: Sun, 8 Sep 1996 15:49:50 -0700
1874
1875   MH 6.8.3 has a bug where it will not handle multipart/foo correctly
1876   if it doesn't know about foo. The patch:
1877
1878     http://www.gw.com/mail/mh/patches/all/mhn_multipart
1879  
1880   tells it to treat such things as if they were multipart/mixed.
1881
1882   (See also "Why doesn't "show" display all of a MIME message?").
1883
1884 ------------------------------
1885   
1886 Subject: 03.08 How can I automatically delete MH backup files?
1887 From: mccammaa at expt05.stp.xfi.bp.com (Andy McCammont)
1888 Date: 22 May 1995 06:27:36 -0400
1889
1890   On System V system, add this to your crontab. If you don't have one,
1891   put this in a file, and run "crontab file". If your system does not
1892   support personal crontab files, get your system administrator to add
1893   an equivalent line to the system crontab file or daily clean-up
1894   script. Note that some administrators set the prefix character to
1895   '#'.
1896
1897     # Remove old MH files
1898     5 5 * * * find /PATH/TO/HOME/Mail -name ",*" -mtime +5 -exec rm {} \;
1899
1900 ------------------------------
1901   
1902 Subject: 03.09 Fixing "cannot fopen and lock /var/spool/mail/(user)"
1903 From: Patrick.Wambacq at esat.kuleuven.ac.be
1904 Date: Mon, 30 Sep 96 15:00:16 +0200
1905
1906   One should put the following lines in the $MHLIB/mts.conf
1907   (mtstailor) file:
1908
1909     lockldir:
1910     lockstyle: 1
1911
1912   This prevents MH from using kernel level locking, and uses lock
1913   files instead. It solved the problem for me on two different
1914   architectures. When the lockldir entry is left empty as above, the
1915   lock file is put in the same directory as the file to be locked. If
1916   another directory is wanted, its name should be put here.
1917
1918 From: alhy at MAILBOX.SLAC.Stanford.EDU
1919 Date: Mon, 9 Sep 1996 01:01:16 -0700
1920
1921   Often, this is caused by an NFS file lock. Don't ask me how it got
1922   there in the first place. To remove the file lock, do the following:
1923
1924     # cd /var/spool/mail
1925     # cp user /tmp/user.tmp; rm user    # save mail; remove locked file
1926     # chown user /tmp/user.tmp          # allow user to inc old mail
1927     # su - user
1928     user% inc -file user.tmp            # incorporate user's old mail
1929
1930   Any mail that you receive in the fraction of a second that the
1931   second set of commands takes will be lost.
1932
1933   (See also "Why does inc hang (on Sun)?")
1934
1935 ------------------------------
1936   
1937 Subject: 03.10 Can I read my mail with a Web browser?
1938 From: Jerry Heyman <jerry@fourwinds.cx>
1939 Date: Sat, 09 Oct 2004 12:41:03 -0400
1940
1941   See http://www.squirrelmail.org/
1942
1943     SquirrelMail is a standards-based webmail package written in PHP4.
1944     It includes built-in pure PHP support for the IMAP and SMTP
1945     protocols, and all pages render in pure HTML 4.0 (with no
1946     JavaScript required) for maximum compatibility across browsers. It
1947     has very few requirements and is very easy to configure and
1948     install. SquirrelMail has all the functionality you would want
1949     from an email client, including strong MIME support, address
1950     books, and folder manipulation.
1951
1952   No MH support. Unless you're willing to write it...
1953
1954 From: J C Lawrence <claw at kanga.nu>
1955 Date: Wed, 10 Dec 2003 09:54:15 -0500
1956
1957   UW-imap can read MH folders although it doesn't maintain sequence
1958   files properly. Drop any of the IMAP web front ends in front of
1959   that.
1960
1961 From: aeriksson at fastmail.fm
1962 Date: Wed, 10 Dec 2003 22:36:52 +0100
1963
1964   Have a peek at http://wmh.sf.net/. It's been a while since I worked
1965   on it, but it does give me what I need.
1966
1967 Date: Mon, 05 Oct 1998 11:02:52 -0500
1968 From: Kent Landfield <kent at nfr.net>
1969
1970   Hypermail now supports MIME and alternate mailbox formats and sorts
1971   by author, date, and thread and can be read by a WWW reader.
1972
1973     http://www.landfield.com/hypermail/
1974
1975 From: "Patrick A. Coronato" <coronato at me216.teb.allied.com>
1976 Date: 8 Sep 1995 16:36:03 GMT
1977
1978   MHonArc, by Earl Hood from Convex, will read MH mailboxes as well as
1979   Unix mailboxes, create HTML "archives" and will also sort by date,
1980   thread and author and has support for MIME. Also, MHonArc is written
1981   in the Perl language. (You should go to this site if nothing more
1982   than to see the cool logo!)
1983
1984     http://www.mhonarc.org/
1985
1986 ------------------------------
1987   
1988 Subject: 03.11 How can I run inc automatically with POP?
1989 From: Bill Wohler <wohler at newt.com>
1990 Date: Mon, 27 Nov 1995 12:23:51 -0800
1991
1992   If MH has been compiled with RPOP, then the POP server host either
1993   needs to have your host in /etc/hosts.equiv or in your .rhosts file.
1994   Then add to your MH profile:
1995
1996     inc: -host cuckoo
1997
1998   given that "cuckoo" is the name of the your POP server.
1999
2000 From: Andy Norman <ange at hplb.hpl.hp.com>
2001 Date: Mon, 1 May 1995 00:00:00 -0800
2002
2003   Assuming your POP server is called cuckoo, add an entry to your MH
2004   profile for 'inc' like so:
2005
2006     inc: -noaudit -norpop -noapop -host cuckoo
2007
2008   Add the following to ~/.netrc and ensure it is readable only by you
2009   (e.g., chmod 600 .netrc):
2010
2011     machine cuckoo.domain.name login joeuser password secret
2012
2013   Replace the hostname, login and password with your own, of course.
2014   The hostname probably has to be fully qualified (i.e., include the
2015   full domain name). This example assumes that you can send mail by
2016   other means (e.g., with SMTP).
2017
2018 ------------------------------
2019   
2020 Subject: 03.12 Why does inc hang (on Sun)?
2021 From: ericding at mit.edu (Eric J. Ding)
2022 Date: 30 Apr 1996 00:22:01 -0400
2023
2024   This may be due to a non-robust implementation of lockf() over NFS.
2025   Try setting lockstyle to 1 in the $MHLIB/mts.conf (mtstailor) file
2026   so that MH uses dotfile locking rather than FLOCK or LOCKF.
2027
2028 ------------------------------
2029   
2030 Subject: 03.13 How can I get POP to work?
2031 From: Jonathan George <jmg at hpopd.pwd.hp.com>
2032 Date: Tue, 23 Apr 1996 10:23:16 GMT
2033
2034   If you get the error:
2035
2036     inc: -ERR Unknown command: "rpop"
2037
2038   you're trying to use "rpop" as the mechanism to authenticate the
2039   user. This mechanism is specified in RFC 1225 and then removed by
2040   RFC 1460.
2041
2042   Your POP server is (rightly) rejecting this.
2043
2044   The POP specification (RFC 1939) states that authentication is done
2045   either via a USER/PASS pair or via the APOP command.
2046
2047   Try running inc with -noapop -norpop flags.
2048
2049 ------------------------------
2050   
2051 Subject: 03.14 How do I persuade mhshow (mhn) not to bring up a new window?
2052 From: Joel Reicher <joel at panacea.null.org>
2053 Date: Tue, 13 Nov 2001 16:49:04 +1100
2054
2055   I personally think [the solution below] is not the right solution.
2056   There's a reason that new window is opened--to ensure the correct
2057   characters are available. The "right" solution is surely to set the
2058   MM_CHARSET env var to iso-8859-1 and make the appropriate
2059   adjustments to the pager (in the case of less, setting
2060   LESSCHARSET=latin1).
2061
2062 From: Larry Daffner <ldaffner at convex.com>
2063 Date: 27 Mar 1996 16:53:39 -0600
2064
2065   Add one of the following to your .mh_profile:
2066
2067      mhshow-charset-iso-8859-1: %s                              # nmh
2068      mhn-charset-iso-8859-1: %s                                 # MH
2069
2070 ------------------------------
2071   
2072 Subject: 03.15 How do I turn off of all the mhshow (mhn) prompts?
2073 From: Bill Wohler <wohler at newt.com>
2074 Date: Sun, 11 Mar 2001 11:33:10 -0800
2075
2076   In nmh, use mhshow -nopause.
2077   
2078 From: Larry Daffner <ldaffner at convex.com>
2079 Date: 27 Mar 1996 16:53:39 -0600
2080
2081   The "part xxx" message is controlled by the -list switch to mhn so
2082   add "mhn: -nolist" to your .mh_profile. To remove the pause, add an
2083   entry for "mhn-show-text/plain: more '%F'" to override the default
2084   which includes the "%p" escape. All of this is covered in the mhn
2085   man page (sort of--you need to add 2+2). It's a bit long, but well
2086   worth reading.
2087
2088 ------------------------------
2089   
2090 Subject: 03.16 Why is inc splitting messages improperly?
2091 From: Mayank Choudhary <micky at eng.sun.com>
2092 Date: Mon, 29 Apr 1996 09:39:29 -0700
2093
2094   MH considers "From " lines as message separators, so if this string
2095   is found within the body, inc splits the message.
2096
2097   Add the following line to your .forward
2098   
2099     "|/usr/bin/mailcompat <user-name>"
2100   
2101   where user-name is your login-id.
2102
2103   See mailcompat(1) for more information.
2104
2105 ------------------------------
2106   
2107 Subject: 03.17 Can MH thread messages?
2108 From: "John W. Coomes" <jcoomes at delirius.cs.uiuc.edu>
2109 Date: 30 Apr 1997 13:02:10 -0500
2110
2111   Sort of. You can resort your folders by Subject with:
2112
2113     sortm -textfield subject
2114
2115 ------------------------------
2116   
2117 Subject: 03.18 How can I avoid reading the HTML version of the message?
2118 From: Bill Wohler <wohler at gbr.newt.com>
2119 Date: 23 Jun 2000 10:19:34 -0700
2120
2121   You might find that you have two versions of the same message within
2122   the message. For example, one part might have a content type of
2123   text/plain and the other might be text/html.
2124
2125   You may find that mhshow (mhn -show) wants to show the HTML version
2126   This is a feature of the multipart/alternative content type. If you
2127   prefer reading the the plain text version over the HTML version,
2128   you'd have to remove the line in $MHLIB/mhn.defaults or
2129   ~/.mh_profile that starts with mhshow-show-text/html
2130   (mhn-show-text/html). Of course, the tradeoff is that you'd never be
2131   able to view text/html at all, but you probably wouldn't care.
2132
2133 ------------------------------
2134   
2135 Subject: 03.19 How do I view or save attachments?
2136 From: Bill Wohler <wohler at gbr.newt.com>
2137 Date: Mon, 5 Mar 2001 09:12:15 -0800
2138
2139   Use mhshow (mhn -show) and mhstore (mhn -store) respectively. See
2140   the man pages for more details.
2141
2142 ------------------------------
2143   
2144 Subject: 03.20 How do I view HTML attachments with Netscape?
2145 From: Bill Wohler <wohler at gbr.newt.com>
2146 Date: Mon, 5 Mar 2001 09:58:05 -0800
2147
2148   Add one of the following to ~/.mh_profile:
2149
2150     mhshow-show-text/html: %lnetscape -remote 'openURL(file:%f, new-window)'
2151     mhn-show-text/html: %lnetscape -remote 'openURL(file:%f, new-window)'
2152
2153   The % escapes are described in the mhshow (mhn) man page. The ",
2154   new-window" argument in the netscape invocation is optional, but
2155   handy. After reading the message, you can dismiss the window with
2156   M-w and go back to reading mail.
2157
2158 ------------------------------
2159   
2160 Subject: 03.21 Fixing folders: unable to allocate storage for msgstats
2161 From: Pete Phillips <pete at smtl.co.uk>
2162 Date: 30 Jan 2003 03:33:57 -0800
2163
2164   I found the following in my context file:
2165
2166     atr-cur-/tmp: 1
2167     atr-pseq-/tmp: 1
2168
2169   For some reason folders doesn't like this. Whether it's because of
2170   permission problems or just the size of my tmp directory (about 3/4
2171   of a GB) I don't know, but removing these lines from my context file
2172   fixed the problem.
2173
2174 ------------------------------
2175   
2176 Subject: 03.22 How do I recursively list message attachments?
2177 From: Joel Reicher <joel at panacea.null.org>
2178 Date: 31 Oct 2001 00:36:14 +1100
2179
2180   I haven't quite managed a recursive listing, but I have worked out a
2181   recursive store, which is still useful. Hinted by a builtin display
2182   string for mhshow, I found the following works for mhstore:
2183
2184     mhstore-store-message/rfc822: | mhstore -file -
2185
2186   With that, mhstore will happily recurse down storing everything on
2187   its way. Not very discriminate, but the line can be altered to limit
2188   without destroying the recursion:
2189
2190     mhstore-store-message/rfc822: | mhstore -auto -type message/rfc822 -type image/jpeg -file -
2191
2192   which also names the files automatically for good measure.
2193
2194   And, FWIW, I engage this by putting it in a separate file and
2195   invoking mhstore like
2196
2197     env MHSTORE=mhn.rec mhstore
2198
2199 ------------------------------
2200   
2201 Subject: 03.23 Why do folder and flist overlook some of my sub-folders?
2202 From: Richard Coleman <coleman at math.gatech.edu>
2203 Date: Mon, 10 Oct 2005 18:14:24 -0700
2204
2205   There was a bug in these commands which caused them to quit
2206   searching a folder for sub-folders too early if the folder contained
2207   sub-folders which were symbolic links. This has been improved in
2208   nmh-0.25, but folder and flist will still not recurse into folders
2209   that contain only symbolic links.
2210
2211 ------------------------------
2212
2213 Subject: 04.00 ***** Filing *****
2214 From: Bill Wohler <wohler at newt.com>
2215 Date: Fri, 1 Mar 1991 13:03:15 -0800
2216
2217 ------------------------------
2218
2219 Subject: 04.01 Can I append MH messages to a Unix mailbox format file?
2220 From: Richard Coleman <coleman at math.gatech.edu>
2221 Date: Tue, 20 Jan 1998 02:19:58 -0500
2222
2223   In nmh, use packf instead.
2224
2225 From: Bill Wohler <wohler at newt.com>
2226 Date: Fri, 1 Jan 1993 00:00:00 -0800
2227
2228   Yes, see $MHLIB/packmbox.
2229
2230 ------------------------------
2231   
2232 Subject: 04.02 Can I append MH messages to a GNU Emacs rmail BABYL-format file?
2233 From: Bill Wohler <wohler at newt.com>
2234 Date: Fri, 1 Mar 1991 13:03:15 -0800
2235
2236   To convert your MH folders to BABYL folders, first run the following
2237   script on your Mail directory.
2238
2239     #!/bin/sh
2240
2241     for f in Mail/*; do
2242         if [ -d $f ]; then
2243             touch msgbox
2244             folder=`basename $f`
2245             echo -n packing $folder ...
2246             packf +$folder
2247             echo done
2248             mv msgbox Mail-rmail/$folder
2249         fi
2250     done
2251
2252   This assumes you don't have nested folders. Your rmail folders will
2253   be left in $HOME/Mail-rmail in MMDF format which rmail can read.
2254   Then run rmail-input for each folder, which converts each folder
2255   into BABYL format.
2256
2257   Be sure not to append any messages before they are converted from
2258   MMDF to BABYL, since there may be really strange results.
2259
2260 ------------------------------
2261   
2262 Subject: 04.03 Why do I get ".../.mh_sequences is poorly formatted?"
2263 From: Richard Coleman <coleman at math.gatech.edu>
2264 Date: Tue, 20 Jan 1998 02:19:58 -0500
2265
2266   This bug has been fixed in nmh (as of version 0.20). There are no
2267   limitations on the length of an entry in the .mh_sequences file.
2268
2269 From: Jerry Peek <jpeek at jpeek.com>
2270 Date: Mon, 1 Aug 1994 00:00:00 -0800
2271
2272   There is a line length limit in this file. When sequences are
2273   unbroken (without gaps in numbering), that makes short entries in
2274   the .mh_sequences file, like this:
2275
2276     inftex: 72-8000
2277
2278   But when there are lots of numbering gaps, the entry gets long:
2279
2280     inftex: 76 79-81 87 95-96 105 109 120 124 135 141 158 163...
2281
2282   That's when you run into problems, and why it's good to keep the
2283   folder packed when you can. Simply run "folder -pack +folder".
2284
2285   If you're refiling a lot of messages in a large folder, you might
2286   not be able to use sequences. Use backquotes to give the message
2287   numbers directly to "refile". For example:
2288
2289     refile +tex/info-tex `pick -to info-tex`
2290
2291   That can still generate a long list of arguments to the "refile"
2292   command, and some Unixes can't handle that. In that case, use
2293   xargs(1):
2294
2295     pick -to info-tex | xargs refile +tex/info-tex
2296
2297   If worse comes to worst, fire up a Bourne shell and use a "while"
2298   loop:
2299
2300     pick -to info-tex | fmt | while read nums; do
2301         refile +tex/info-tex $nums
2302     done
2303
2304   The fmt(1) command breaks long lines into manageable chunks of 72
2305   characters or so, splitting arguments at whitespace. When you
2306   redirect the input of a while loop, a "read" command will read the
2307   incoming text and store it in a shell variable line by line. This is
2308   a quick-&-dirty way to write xargs(1) if you don't have it.
2309
2310 ------------------------------
2311   
2312 Subject: 04.04 How can you save News articles into an MH folder?
2313 From: Jerry Peek <jpeek at jpeek.com>
2314 Date: Mon, 1 May 1995 00:00:00 -0800
2315
2316   If your newsreader handles backquotes on its command line, you can
2317   use the mhpath command. For instance, if your "save" command is "s":
2318
2319     s `mhpath new +somefolder`
2320
2321   Or if your newsreader lets you define your own commands, as in shell
2322   aliases, you could define that as a command.
2323
2324   If your newsreader can pipe an article to the standard input of a
2325   program, use the "rcvstore" command (in the MH library). For
2326   instance, if your "pipe" command is "|":
2327
2328     | $MHLIB/rcvstore +somefolder
2329
2330   Of course, you can also put that in a little shell script.
2331
2332 ------------------------------
2333   
2334 Subject: !04.05 Are there any good tools to archive MH messages?
2335 From: Bill Wohler <wohler at newt.com>
2336 Date: Sun, 23 Sep 2007 18:35:53 -0700
2337
2338   For those of lesser means, I have three shell scripts for archiving,
2339   seeking, and extracting MH messages that I had been using for a
2340   couple of decades. Send mail if interested.
2341
2342   However, now that disk space is cheap and one can index years worth
2343   of mail in a minute or two, I haven't run those scripts in a few
2344   years. I intend to update them to index and archive a years-worth of
2345   mail at some point.
2346
2347   Since glimpse is no longer free (as in speech), I've switched to
2348   swish++. Other indexing tools (which are also compatible with MH-E)
2349   include mairix and namazu.
2350
2351 From: glimpse at cs.arizona.edu
2352 Date: Sun, 4 Mar 2001 10:26:24 -0800
2353
2354   Glimpse is a very powerful indexing and query system that allows you
2355   to search through all your files very quickly. It can be used by
2356   individuals for their personal file systems as well as by
2357   organizations for large data collections.
2358
2359     http://www.webglimpse.org/
2360
2361 ------------------------------
2362   
2363 Subject: 04.06 How can I remove duplicate messages?
2364 From: Bill Wohler <wohler at newt.com>
2365 Date: Sun, 17 Oct 2004 13:04:57 -0700
2366
2367   Don't let them get in there in the first place. Add the following to
2368   your .promailrc:
2369
2370     :0
2371     * ? formail -D 16384 $PM_CACHE/msgid
2372     /dev/null
2373
2374   If it's too late, you might be interested in mhfinddup, attached
2375   below, which is an embellishment of the Perl script in (see
2376   "Removing duplicate messages (Perl)").
2377
2378 From: Jerry Peek <jpeek at jpeek.com>
2379 Date: 20 Nov 1995 18:51:24 GMT
2380
2381   The easiest way I know of is to sort the folder by the Message-ID
2382   field using the sortm(1) command.
2383
2384   After the sort, each message should be next to its duplicates in the
2385   folder. Use a script (shell, Perl, etc.) to weed out the duplicates.
2386   (See "Removing duplicate messages (Bourne)").
2387
2388   The Perl script in (see "Removing duplicate messages (Perl)") does
2389   not require that you first sort the folder.
2390
2391 ------------------------------
2392   
2393 Subject: 04.07 How can I remove holes in numbering?
2394 From: Bill Wohler <wohler at newt.com>
2395
2396   folder -pack
2397
2398 ------------------------------
2399
2400 Subject: 05.00 ***** Composing & Replying *****
2401 From: Bill Wohler <wohler at newt.com>
2402 Date: Fri, 1 Mar 1991 13:03:15 -0800
2403
2404 ------------------------------
2405
2406 Subject: 05.01 Why does repl add a "Re:" to a message that already has one?
2407 From: Larry McVoy <lm at slovax.Eng.Sun.COM>
2408 Date: Fri, 1 Mar 1991 13:03:15 -0800
2409
2410   I carefully reconfigured and rebuilt MH from scratch and the problem
2411   went away.
2412
2413 ------------------------------
2414   
2415 Subject: 05.02 How do I include messages in repl with or without ">"?
2416 From: Richard Coleman <coleman at math.gatech.edu>
2417 Date: Tue, 20 Jan 1998 02:19:58 -0500
2418
2419   In nmh, to include a message in a reply with a leading ">", just use
2420   "repl -format".
2421
2422 From: Alan Thew <qq11 at liv.ac.uk>, Mike Schwager <schwager at cs.uiuc.edu>,
2423         James T Perkins <jamesp at sp-eug.com>
2424 Date: Fri, 1 Jan 1993 00:00:00 -0800
2425
2426   When making a reply, specify a filter file on the command line:
2427
2428     repl -filter repl.format
2429
2430   This filter file must be in your MH mail directory (usually "Mail",
2431   in your home directory). Here are a couple of example repl.format
2432   files:
2433
2434     overflowtext="",overflowoffset=0
2435     message-id:nocomponent,formatfield=\
2436     "In message %{text}, you wrote:"
2437     body:component="> ",overflowtext="> ",overflowoffset=0
2438
2439   or
2440
2441     overflowtext="",overflowoffset=0
2442     date:component="Your message dated",formatfield=\
2443     "%<(nodate{text})%{text}%|%(pretty{text})%>"
2444     body:component="> ",overflowtext="> ",overflowoffset=0
2445
2446   Setting overflowoffset to 0 keeps MH from doing anything to
2447   extra-long lines in the headers. In the body, however, this behavior
2448   is overridden so that long lines are automatically broken and a ">"
2449   is inserted before every line. You could put almost whatever you
2450   want between those quotes, although the "standard" ">" makes it
2451   easier to read notes that have been included several times. The
2452   examples differ with the descriptive text that is inserted before
2453   the included body.
2454
2455   It is suggested not to use the "prompter" editor in this case, since
2456   it is likely that you'll not want to use all of the included
2457   message. Indeed, it is proper etiquette to edit out all unnecessary
2458   include verbiage so readers don't have to wade through the morass to
2459   read your pearls of wisdom.
2460
2461   WARNING: the '>' appears on the first line ONLY in versions prior to
2462   6.7.2. Upgrade to MH 6.8.
2463
2464   See also MH book sections 7.8.4 (6.7.4), 7.8.5 (6.7.5), 10.4.1
2465   (9.4.1), or the URLs:
2466
2467     http://rand-mh.sourceforge.net/book/mh/reprep-2.html#ReaEdi
2468     http://rand-mh.sourceforge.net/book/mh/reprep-2.html#Inc
2469     http://rand-mh.sourceforge.net/book/mh/verrep.html#IncRep
2470
2471 ------------------------------
2472   
2473 Subject: 05.03 How can I eliminate duplicate copies of letters to myself?
2474 From: Bill Wohler <wohler at newt.com>
2475 Date: Fri, 1 Mar 1991 13:03:15 -0800
2476
2477   Add these two lines to your MH profile file:
2478
2479     Alternate-Mailboxes: user@host1, user@host2, ...
2480     repl: -nocc me
2481
2482   The Alternate-Mailboxes also tells scan which messages are really
2483   from you so that it can place the recipient in the scan line instead
2484   of the sender.
2485
2486 From: Jerry Peek <jpeek at jpeek.com>
2487 Date: Fri, 1 Mar 1991 13:03:15 -0800
2488
2489   To get one copy, you can either:
2490
2491   - Take out the "-nocc me"... then you'll get exactly one copy of
2492     your replies (assuming all your addresses are listed in
2493     Alternate-Mailboxes), or
2494
2495   - (See also "How can I save a copy of all messages I send?").
2496
2497     For more info, see the man pages comp(1), repl(1), forw(1),
2498     dist(1) and mh-mail(5).
2499
2500   See also MH book sections 7.8.2 (6.7.2), 9.8 (8.6), or the URLs:
2501
2502     http://rand-mh.sourceforge.net/book/mh/reprep-2.html#Sel
2503     http://rand-mh.sourceforge.net/book/mh/defmai.html
2504
2505 From: Alec Wolman <wolman at crl.dec.com>
2506 Date: Fri, 1 Mar 1991 13:03:15 -0800
2507
2508   Listing the name of a mailing list in Alternate-Mailboxes is also a
2509   convenient way to AVOID automatically cc-ing a mailing list when
2510   replying to a person who sent the message to the mailing-list.
2511
2512 From: Andre Srinivasan <asriniva at us.oracle.com>
2513 Date: Fri, 24 Jan 1997 09:33:19 -0800
2514
2515   Rather than specify the hostname as part of the mailbox, you can
2516   simply specify the username and it will match on any host:
2517
2518     Alternate-Mailboxes: asriniva
2519
2520 ------------------------------
2521   
2522 Subject: 05.04 How can I include my signature?
2523 From: Eric W. Ziegast <ziegast at uunet.uu.net>,
2524         Hardy Mayer <hardy at golem.ps.uci.edu>
2525 Date: Tue, 1 Nov 1994 00:00:00 -0800
2526
2527   There are several ways.
2528
2529   1) The MH way.
2530
2531   1a) In your Mail directory, create files that include your signature
2532       into the format of the message.
2533
2534       ~/Mail/components:
2535         To:
2536         cc:
2537         Subject:
2538         --------
2539
2540         --
2541         Eric Ziegast            ziegast at uunet.uu.net
2542         UUNET Technologies      uunet!ziegast
2543
2544       ~/Mail/replfmt
2545         body:component="> ",compwidth=2
2546         :--
2547         :Eric Ziegast           ziegast at uunet.uu.net
2548         :UUNET Technologies     uunet!ziegast
2549
2550      To use the replfmt file, add the following to your ~/.mh_profile:
2551
2552        repl: -filter replfmt
2553
2554      When comp is used, your signature is already there along with my
2555      headers. When repl is used, the mhl program takes the body of
2556      the letter you're replying to, prepends '> ' to each line and
2557      then adds your signature at the end (available after version
2558      6.7).
2559
2560   1b) Create an "editor" which can be called from whatnow to add the
2561       signature when desired or create a frontend to post (use the
2562       .mh_profile line "postproc: postproc" to call it) that always
2563       appends the .signature file before calling post to mail the
2564       message. David J. Fiander <david at golem.uucp>, David A.
2565       Truesdell <truesdel at nas.nasa.gov> and Tom Wilmore <sastjw at
2566       unx.sas.com> have sample scripts to do these.
2567
2568 From: Jerry Peek <jpeek at jpeek.com>
2569 Date: Tue, 1 Sep 1992 00:00:00 -0800
2570
2571   1c) mysend, a sendproc script, processes a message after "What now?
2572       send". See "What references exist for MH" to see where the MH
2573       book scripts can be ftped from. The script is explained in MH
2574       book Section 7.1.4 (13.13), or the URL:
2575       http://rand-mh.sourceforge.net/book/mh/senove.html#ASAtDm
2576
2577   2) Using your editor.  If you use vi, you can use something like:
2578
2579        map S :r ~/.signature
2580
2581      to load your signature out of .signature every time you
2582      hit 'S'.
2583
2584   3) Use your windowing system. xterm, for example, can provide key
2585      and button mappings for the utterly lazy.
2586
2587   4) If you use Emacs with MH-E:
2588
2589   4a) C-c C-s will append the signature.
2590
2591 From: Andre Srinivasan <andre at neuronet.pitt.edu>
2592 Date: Mon, 1 May 1995 00:00:00 -0800
2593
2594   4b) Add the following to your .emacs file:
2595
2596         (add-hook 'mh-compose-letter-function
2597             (function
2598              (lambda(a b c)
2599                (save-excursion
2600                  (goto-char (point-max))
2601                  (beginning-of-line)
2602                  (mh-insert-signature)))))
2603
2604       This hook is called after the draft buffer has been initialized,
2605       but before you have a chance to type anything.
2606
2607 From: Tom Christiansen <tchrist at perl.com>
2608 Date: Tue, 1 Nov 1994 00:00:00 -0800
2609
2610   Tired of the same old signature? Want different signatures for
2611   different newsgroups? Here's a program to help you out.
2612
2613   The way it works is to have .signature be a named pipe, so if you
2614   don't have named pipes, just say 'n'.
2615
2616   The sigrand program then feeds stuff down the pipe every time
2617   someone wants to read it. That way it works for more than just news,
2618   but for anything that wants to read your .signature, like a mailer.
2619
2620   You have your choice of three kinds of signatures:
2621
2622       1) random (short) fortune from "fortune -s"; you get these if
2623          you don't have a global sig file.
2624       2) random fortune from ~/News/SIGNATURES [global sig file]
2625       3) random fortune form ~/News/(newsgroup)/SIGNATURES [local sig files]
2626
2627   Send mail if interested.
2628
2629 Date: Tue, 1 Nov 1994 00:00:00 -0800
2630
2631   See also the Signature FAQ (see "What references exist for MH?").
2632
2633 ------------------------------
2634   
2635 Subject: 05.05 How do I call my editor with arguments?
2636 From: John Romine <jromine at ics.uci.edu>
2637 Date: Mon, 1 May 1995 00:00:00 -0800
2638
2639   Set your editor (in .mh_profile) to the following shellscript.
2640
2641     #/bin/sh
2642     <youreditor> <yourargs> "$@"
2643     exit 0
2644
2645 From: Ray Nickson <Ray.Nickson at comp.vuw.ac.nz>
2646 Date: Fri, 1 Mar 1991 13:03:15 -0800
2647
2648   You might find it useful to make <youreditor> $EDITOR, or to use
2649   different arguments depending on your EDITOR environment variable.
2650
2651 ------------------------------
2652   
2653 Subject: 05.06 How can I digestify messages in a folder for mail to another user?
2654 From: Jerry Peek <jpeek at jpeek.com>, Bill Wohler <wohler at newt.com>
2655 Date: Fri, 1 Mar 1991 13:03:15 -0800
2656
2657   How about:
2658
2659     forw [-digest tmp] [-form forwcomps] [-filter mhl.digest]
2660          messages +folder
2661
2662   These messages can be un-digestified :-) by the MH burst(1) program.
2663
2664   See also MH book sections 7.9.7 (6.8.7), 8.10 (7.9), or the URLs:
2665
2666     http://rand-mh.sourceforge.net/book/mh/forfor-2.html#CreDig
2667     http://rand-mh.sourceforge.net/book/mh/burdig.html
2668
2669 From: Glenn Vanderburg <glv at utdallas.edu>
2670 Date: Tue, 1 Nov 1994 00:00:00 -0800
2671
2672   There's another way, which is better if the recipient understands
2673   MIME.
2674
2675     forw -mime messages +folder
2676
2677   (Make sure that you either have "automhnproc: mhn" in your mh
2678   profile, or type "edit mhn" to whatnow before you send it.)
2679
2680   This bundles each message in a MIME message/rfc822 part, and then
2681   bundles the whole mess up in a multipart/digest part. You can still
2682   add your own text at the beginning. The MH burst program can also
2683   understand these messages and split them apart with no problem. This
2684   works beautifully with MIME-capable mail readers, especially exmh.
2685
2686 ------------------------------
2687   
2688 Subject: 05.07 How can I change my return address?
2689 From: Bill Wohler <wohler at newt.com>
2690 Date: Tue, 1 Dec 1992 00:00:00 -0800
2691
2692   If you find that your mailer creates a From header that others have
2693   trouble replying to, you can add a Reply-To header to override the
2694   From header in replies.
2695
2696   Copy the components and replcomps files which are normally found in
2697   $MHLIB into your Mail directory and add a line like the following
2698   after the Subject header replacing my address with your address:
2699
2700     Reply-To: jack@newt.com
2701
2702 ------------------------------
2703   
2704 Subject: 05.08 How can I change my From header?
2705 From: Bill Wohler <wohler at newt.com>
2706 Date: Mon, 27 Nov 1995 11:40:50 -0800
2707
2708   With either of the following solutions, you'll need to add an
2709   Alternate-Mailboxes entry in your MH profile so that scan prints
2710   "To: recipient" rather than your faked address. For example, if your
2711   real address is user@somedomain.com and you've added a From field
2712   of:
2713
2714     From: Joe Bob <joe.bob@somedomain.com>
2715
2716   you'll add the following to .mh_profile:
2717
2718     Alternate-Mailboxes: joe.bob@somedomain.com
2719
2720 From: Bill Wisner <wisner at netcom.com>
2721 Date: Tue, 1 Dec 1992 00:00:00 -0800
2722
2723   If you're just interested in changing the hostname, add a line to
2724   $MHLIB/mts.conf (mtstailor):
2725
2726     localname: desired_host_name
2727
2728 From: Jerry Peek <jpeek at jpeek.com>
2729 Date: Tue, 1 Dec 1992 00:00:00 -0800
2730
2731   Just put a "From:" header in your "components", "replcomps" and
2732   "forwcomps" files. MH will add a "Sender:" header with what it
2733   thinks is your real address.
2734
2735 ------------------------------
2736   
2737 Subject: 05.09 How can I save a copy of all messages I send?
2738 From: Ping Huang <pshuang at sgihub.corp.sgi.com>
2739 Date: Mon, 18 Dec 1995 17:51:33 -0800
2740
2741   I suggest the use of the Dcc: field (See "What is the Dcc header?"),
2742   since the use of "Dcc:" solves the issue of having the same
2743   Message-Id. The warning about using Dcc: in general contexts doesn't
2744   apply to self-blind-carbon copies, and if "Dcc:" is used and you are
2745   automatically sorting messages into folders based on mailing lists,
2746   messages which you send will get refiled in the same way. Some may
2747   prefer all outgoing messages to be segregated; others (including
2748   myself) prefer not to segregate outgoing messages.
2749
2750 From: Bill Wohler <wohler at newt.com>, Jerry Peek <jpeek at jpeek.com>
2751 Date: Mon, 1 Aug 1994 00:00:00 -0800
2752
2753   Copy the components and replcomps files which are normally found in
2754   $MHLIB into your Mail directory and add a line like the following
2755   after the cc header:
2756
2757     Fcc: +out
2758
2759   All outgoing messages will then be saved in the +out folder. If you
2760   make a distcomps file, it needs "Resent-Fcc:".
2761
2762 From: Jeppe Sigbrandt <jay at elec.gla.ac.uk>
2763 Date: Sat, 5 Apr 1997 02:04:53 +0100
2764
2765   You can also use @ in the Fcc field to file the outgoing message in
2766   the current folder.
2767
2768     Fcc: @
2769
2770   This is useful if you filter your mail (e.g., with procmail) and you
2771   read your mail in folders other than +inbox.
2772
2773 From: David S. Goldberg <dsg at linus.mitre.org>
2774 Date: 30 Oct 1995 10:23:55 -0500
2775
2776   You can get the Message-ID field by placing the folder in the "Fcc"
2777   field and adding:
2778
2779     send: -msgid
2780
2781   to your .mh_profile. Unfortunately, this Message-ID isn't as useful
2782   as sendmail's--it doesn't include the date.
2783
2784 ------------------------------
2785   
2786 Subject: 05.10 Can the folder in Fcc: be dynamically specified?
2787 From: Andy Rabagliati <andyr at wizzy.com>
2788 Date: Mon, 1 Aug 1994 00:00:00 -0800
2789
2790   My suggestion would be to run Tom Christiansen's rfi script. If you
2791   cannot find it on *.sources archive sites (please try first), I can
2792   mail it to you.
2793
2794   One good idea would be to write a whatnowproc that files the mail
2795   based on a procmail or deliver file. Then you can use the same file
2796   for incoming and outgoing mail.
2797
2798 ------------------------------
2799   
2800 Subject: 05.11 Can I post secure/encryped mail?
2801 From: Bill Wohler <wohler at newt.com>
2802 Date: Thu, 19 May 2005 18:06:39 -0700
2803
2804   MH-E 7.0 supports GPG out of the box.
2805
2806 From: Bill Wohler <wohler at newt.com>
2807 Date: Mon, 5 Mar 2001 05:30:43 -0800
2808
2809   PGP keys can be obtained via mail from <pgp-public-keys at
2810   pgp.mit.edu>, and via the Web at
2811   http://www.pgp.net/pgpnet/pks-commands.html. Many PGP front-ends
2812   (e.g., mailcrypt) automatically obtain keys for you.
2813
2814   See http://www.pgp.net/ for more info.
2815
2816 From: Vivek Khera <khera at kciLink.com>
2817 Date: 19 Jun 1995 22:06:37 GMT
2818
2819   A much more robust Perl script I wrote is appended below. [Send a
2820   note to Vivek for the script. --Ed] It works its way through
2821   aliases, and avoids problems with full names in the headers.
2822
2823   Here is my mhn profile entry to display the messages.
2824
2825     mhshow-show-application/x-pgp: %l pgp -m '%F'       # nmh
2826     mhn-show-application/x-pgp: %l pgp -m '%F'          # MH
2827
2828   to use the script, after you edit the message, at the What now?
2829   prompt, type "edit pgpmail" for plain ascii encryption or "pgpmail
2830   -m" for a MIME formatted encryption. If you want to add a digital
2831   signature, give the script the -s flag also.
2832
2833 From: Jeffrey C. Ollie <jeff at ollie.clive.ia.us>
2834 Date: Mon, 1 May 1995 00:00:00 -0800
2835
2836   TIS has a free, draft-standard compliant public key system that
2837   works with MH (PEM). Check it out on ftp.tis.com.
2838
2839 From: Kimmo Suominen <kim at tac.nyc.ny.us>
2840 Date: Mon, 1 May 1995 00:00:00 -0800
2841
2842   You could try looking at the URL http://www.tac.nyc.ny.us/ and
2843   following the link from the cover page. Everything you need for PGP
2844   to work with MH is there (scripts and mhn entries).
2845
2846 From: mathew at mantis.co.uk
2847 Date: Mon, 1 May 1995 00:00:00 -0800
2848
2849   Excellent stuff. I've tried altering it to conform to
2850   draft-borenstein-pgp-mime-00.txt.
2851
2852   Unfortunately, I can't get mhn to tag PGP-armoured text as
2853   application/pgp; format=text without it insisting on base64 encoding
2854   it. So I can't quite manage to implement the standard. *sigh*
2855
2856   Presumably mhn thinks that anything which isn't text/* must be
2857   encoded.
2858
2859 From: John R MacMillan <john at interlog.com>
2860 Date: Wed, 16 Apr 1997 00:06:59 -0700
2861
2862   Premail, in conjunction with MH, can display and compose security
2863   multiparts (e.g., multipart/signed and multipart/encrypted PGP mail,
2864   non-MIME PGP, and some S/MIME). Check out
2865
2866     http://www.c2.org/~raph/premail/
2867
2868   for details.
2869
2870 ------------------------------
2871   
2872 Subject: 05.12 How can I send multi-media (MIME) attachments?
2873 From: Brian Exelbierd <bex at ncsu.edu>
2874 Date: Mon, 09 Oct 1995 08:05:55 -0400
2875
2876   The short guide:
2877
2878   1. Compose a letter using comp.
2879
2880   2. When you get to a point where you want to include a MIME
2881      attachment, type the following to include a GIF image (note: the
2882      '#' must be in the first column):
2883
2884         #image/gif [Pictures at an Exhibition] /usr/lib/pictures/exhibition.gif
2885
2886   3. Finish your letter, adding more text or attachments as needed.
2887
2888   4. Save your letter and exit the editor. At the Whatnow prompt type
2889      "edit mhn". mhn will automatically format your letter with the
2890      MIME attachments leaving the original letter in ,##,orig where ##
2891      is the letter number.
2892
2893   5. Type "send" at the Whatnow prompt, and poof, you have just sent
2894      MIME mail. I strongly recommend you practice sending yourself
2895      MIME mail first.
2896
2897   For more information, see the mhn(1) man page,
2898   ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
2899   for a list of allowed media types in addition to image/gif, and
2900   Chapter 3 in the MH book or the URL:
2901
2902     http://rand-mh.sourceforge.net/book/overall/tocs/intmime.html
2903
2904 ------------------------------
2905   
2906 Subject: 05.13 What's the best way to send mail to a long list of people?
2907 From: Bill Wohler <wohler at newt.com>
2908 Date: Thu, 12 Oct 1995 07:53:53 -0700
2909
2910   There are three ways to keep the list of members from appearing in
2911   everyone's header.
2912
2913   If you're planning on mailing to these people regularly, the best
2914   way is to create an alias in /etc/aliases (/usr/lib/aliases). That
2915   way, recipients can send and reply to the list as well.
2916
2917   The other two ways allow you to manage the list privately, but the
2918   recipients cannot send to the list (unless you set something up with
2919   your deliver or procmail script). One is with a group list. It looks
2920   like this:
2921
2922     To: All-members: member1, member2, member3, ..., membern;
2923
2924   The recipients see this:
2925
2926     To: All-members:;
2927
2928   You can make this an MH alias as well.
2929
2930   The second way is to use a blind carbon copy (see "How do I send
2931   blind carbon copies?").
2932
2933   Or you could also use the undocumented Dcc field which is used like
2934   the Bcc field, but doesn't inject the "Blind-Carbon-Copy." Warning:
2935   (See "What is the Dcc header?")
2936
2937 ------------------------------
2938   
2939 Subject: 05.14 What is the Dcc header?
2940 From: jpeek at jpeek.com (Jerry Peek)
2941 Date: 14 Sep 96 05:51:13 GMT
2942
2943   If you put the alias in the Dcc field and leave the To: field empty,
2944   there's a good chance that the recipients will get a message with
2945   the header field:
2946
2947     Apparently-to: <someaddress>
2948
2949   and it might even list several addresses. To avoid that, use a To:
2950   field with some address (like yours) in it. I use a comment that
2951   tells people what's really happening--like this, more or less:
2952
2953     To: "Faculty members, c/o" <super@wierdlmpc.msci.memphis.edu> 
2954     dcc: faculty
2955
2956   There are some other choices, like using an un-replyable group list
2957   in the To: field, but I think they tend to confuse non-techies.
2958
2959 Date: Wed, 27 Sep 1995 09:46:37 -0700
2960 From: John Romine <jromine at yoyodyne.ICS.UCI.EDU>
2961
2962   The Dcc (Distribution Carbon Copy) field behaves much like the Bcc
2963   field, but does not add the "Blind-Carbon-Copy" notice. This header
2964   is removed before posting the message,and a copy of the message is
2965   distributed to each listed address. This could be considered a form
2966   of Blind Carbon Copy which is best used for sending to an address
2967   which would never reply (such as an auto-archiver).
2968
2969   People should not be using Dcc as a substitute-Bcc to send to other
2970   people. When users use Dcc as a substitute for Bcc, there is *no*
2971   indication to the "blind" recipients that they have received a blind
2972   copy. If those recipients should reply (and they have no indication
2973   why they shouldn't), the original author could be very embarassed
2974   (or worse).
2975
2976 ------------------------------
2977   
2978 Subject: 05.15 How can I make sense of the replcomps file?
2979 From: Bill Wohler <wohler at newt.com>
2980 Date: Thu, 9 Mar 2006 19:27:14 -0800
2981
2982   The best thing to do is curl up with the mh-format(5) man page, or
2983   Section 11.2 of the MH book, or the URL:
2984
2985     http://rand-mh.sourceforge.net/book/mh/mhstr.html
2986
2987   These will explain the default replcomps file, included here. Don't
2988   start with the first four lines--the latter group of lines are much
2989   easier to understand.
2990
2991     %; $Header$
2992     %;
2993     %; These next lines slurp in lots of addresses for To: and cc:.
2994     %; Use with repl -query or else you may get flooded with addresses!
2995     %;
2996     %; If no To:/cc:/Fcc: text, we output empty fields for prompter to fill in.
2997     %;
2998     %(lit)%(formataddr{reply-to})\
2999     %(formataddr %<{from}%(void{from})%|%(void{apparently-from})%>)\
3000     %(formataddr{resent-to})\
3001     %(formataddr{prev-resent-to})\
3002     %(formataddr{x-to})\
3003     %(formataddr{apparently-to})\
3004     %(void(width))%(putaddr To: )
3005     %(lit)%(formataddr{to})\
3006     %(formataddr{cc})\
3007     %(formataddr{x-cc})\
3008     %(formataddr{resent-cc})\
3009     %(formataddr{prev-resent-cc})\
3010     %(formataddr(me))\
3011     %(void(width))%(putaddr cc: )
3012     Fcc: %<{fcc}%{fcc}%|+outbox%>
3013     Subject: %<{subject}Re: %{subject}%>
3014     %;
3015     %; Make References: and In-reply-to: fields for threading.
3016     %; Use (void), (trim) and (putstr) to eat trailing whitespace.
3017     %;
3018     %<{message-id}In-reply-to: %{message-id}\n%>\
3019     %<{message-id}References: \
3020     %<{references}%(void{references})%(trim)%(putstr) %>\
3021     %(void{message-id})%(trim)%(putstr)\n%>\
3022     Comments: In-reply-to \
3023     %<{from}%(void{from})%?(void{apparently-from})%|%(void{sender})%>\
3024     %(trim)%(putstr)\n\
3025        message dated "%<(nodate{date})%{date}%|%(tws{date})%>."
3026     --------
3027
3028   In particular, note the following:
3029
3030     \   consider the following line to be part of the current line. If
3031         this continuation character is absent, a newline (\n) will
3032         always be inserted. Note that if the field is conditional, and
3033         the condition is false, and there isn't a trailing backslash,
3034         then a blank line will appear in your reply. Since the rest of
3035         the header will now be considered to be part of the body, this
3036         is probably not what you want.
3037     \n  inject an actual newline into the reply. Note that inserting a
3038         field without a trailing backslash (\) will cause that field
3039         to be emitted in the reply as well.
3040     %<{field}, %?{field}, %|, %>
3041         if field exists, else if field exists, else, endif.
3042         Conditional fields nearly always contain an explicit newline
3043         (\n) and end with a continuation character (\).
3044     %(command)  mh-format commands
3045     %{field}    value of the header field inserted at this point
3046
3047   To add new fields, you can either add fields based on whether
3048   certain fields exist in the original message (e.g.,
3049   %<{message-id}...), or hard-code them, as in the Fcc, Subject, or
3050   Comments fields above.
3051
3052 ------------------------------
3053   
3054 Subject: 05.16 How can I convert quoted-printable to 8bit in quoted text in replies?
3055 From: Jarle F. Greipsland <jarle at idt.unit.no>
3056 Date: 22 Aug 1995 10:42:07 +0200
3057
3058   The idea behind the solution is that I need mhn to store the
3059   contents of the mail in the native iso8859-1 format somewhere. I did
3060   this by creating a custom editor that is invoked when I reply to a
3061   message. This editor extracts the body of the message (sorry, no
3062   multipart stuff), indents it with '> ', appends it to the draft
3063   message and invokes the ordinary editor on it. Here are the details:
3064
3065   `isorepl' is a symbolic link from my $HOME/bin-directory to `repl'.
3066
3067   In my .mh_profile I added the following two lines:
3068
3069     isorepl: -form isoreplcomps -editor isoextract
3070     isoextract-next: vi
3071
3072   The isoreplcomps file in my Mail-directory contains:
3073
3074     %(lit)%(formataddr %<{reply-to}%?{from}%?{sender}%?{return-path}%>)\
3075     %<(nonnull)%(void(width))%(putaddr To: )\n%>\
3076     %(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
3077     %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
3078     %<{fcc}Fcc: %{fcc}\n%>\
3079     %<{subject}Subject: Re: %{subject}\n%>\
3080     %<{date}In-reply-to: Your message of "\
3081     %<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id}
3082                  %{message-id}%>\n%>\
3083     --------
3084     #<text/plain; charset=iso-8859-1
3085     %<{message-id}In message %{message-id} %>\
3086     %<{from}%(friendly{from}) writes%|You write%>:
3087
3088   This is a "Usenet-like" quoting style. Modify to suit your own
3089   taste. This form will setup the proper header, as well as the first
3090   line of the new message (In <mmmmbbbb> nnnn writes etc.).
3091
3092   The first editor, `isoextract', looks like this:
3093
3094     #!/bin/sh
3095     #
3096     # Called from within repl where the "editalt" variable is valid
3097     #
3098     # Point to a special MHN configuration file (save old one)
3099     OLDMHN="$MHN"
3100     MHN=$HOME/`mhparam Path`/isoquotemsg
3101     export MHN
3102
3103     # Extract message body to "native" format (should be iso-8859-1)
3104     # > More bla bla.
3105     mhn -file "$editalt" -store >> $1 2>/dev/null
3106
3107     MHN="$OLDMHN"
3108     myname=`basename $0`
3109     next=`mhparam ${myname}-next`
3110     if [ "x$next" != "x" ]; then
3111             exec $next "$@"
3112     fi
3113
3114   `isoquotemsg' has just one rule; how mhn should store a text message.
3115
3116     mhn-store-text: |sed -e 's/^[       ]*$//' \
3117                          -e 's/^\([>|]\)\(.*\)$/>\1\2/' \
3118                          -e 's/^\([^>|].*\)$/> \1/'
3119
3120   This tells mhn to pipe the message to stdout, where the sed commands
3121   will do the reformatting/quoting. (Note: the first pair of square
3122   brackets contains a space and a tab.)
3123
3124   So, when I do a `isorepl' to a message, `repl' will create the draft
3125   message with the proper headers (based on the `isoreplcomps' format
3126   file), fire off its first editor, `isoextract', with the name of the
3127   draft file as its parameter. `isoextract' then invokes mhn in a
3128   suitable environment, tells it that it is to use the file $editalt
3129   as its source, and orders it to store the contents. The store-text
3130   rule in the custom MHN-file tells it to just pipe the message (in
3131   native iso8859-1 form) through a small set of sed commands, and
3132   `isoextract' uses the normal shell construct to append the result to
3133   the draft file. Then, if there's defined a `isoextract-next' entry
3134   in the .mh_profile, isoextract exec's this editor.
3135
3136 ------------------------------
3137   
3138 Subject: 05.17 Can I have aliases include aliases?
3139 From: Bruce Cox <bruce at maths.su.oz.au>
3140 Date: Fri, 16 Aug 1996 14:26:12 +1000
3141
3142   Indeed, you can.
3143
3144   You just need to remember the way MH expands aliases. In particular,
3145   the right hand sides are only expanded by the aliases below them in
3146   your aliases file. So, if you put in:
3147
3148     dead-men: presidents, authors
3149     presidents: washington, lincoln, jefferson, roosevelt
3150     authors: thoreau, irving, london
3151
3152   and type:
3153
3154     ali dead-men
3155
3156   then you would get the response:
3157
3158     washington, lincoln, jefferson, roosevelt, thoreau, irving, london
3159
3160   If you had the dead-men line after the presidents and authors
3161   aliases, the response would be:
3162
3163     presidents, authors
3164
3165 ------------------------------
3166   
3167 Subject: 05.18 Why doesn't mhmail understand aliases?
3168 From: "John L. Romine" <jromine at yoyodyne.ics.uci.edu>
3169 Date: 25 Apr 1996 16:34:10 GMT
3170
3171   One way that mhmail might be run is from a shell script. This means
3172   that the user running it might not use MH, and would not have a
3173   .mh_profile, etc. If you want to use aliases with mhmail, expand
3174   them before passing them as arguments (e.g., "mhmail `ali joe`").
3175
3176 ------------------------------
3177   
3178 Subject: 05.19 How do I send blind carbon copies?
3179 From: Bill Wohler <wohler at newt.com>
3180 Date: Mon, 9 Sep 1996 00:32:14 -0700
3181
3182   Use the Bcc header field:
3183
3184     To: your-address-here
3185     Bcc: member1, member2, member3, ..., membern
3186
3187   The recipients see this:
3188
3189     To: your-address-here
3190
3191     ------- Blind-Carbon-Copy
3192
3193     Content of message, with headers
3194
3195   If you don't want the "Blind-Carbon-Copy" message, use the Dcc
3196   field, but this is discouraged in true blind carbon copies since the
3197   warning may prevent the recipient from embarrassing someone
3198   inadvertently. Read the warning in (see "What is the Dcc header?").
3199
3200 ------------------------------
3201   
3202 Subject: 05.20 When I forward a message, can I use its Subject?
3203 From: Jerry Peek <jpeek at jpeek.com>
3204 Date: Sun, 17 Nov 1996 20:16:31 -0800
3205
3206   Obtain forwedit.
3207
3208     http://rand-mh.sourceforge.net/book/examples/mh/bin/forwedit
3209
3210 ------------------------------
3211   
3212 Subject: 05.21 Why is the timezone field in my 'Date:' field wrong?
3213 From: Alex Tomlinson <tomlinson at acm.com>
3214 Date: Wed, 11 Jun 1997 09:16:41 -0500
3215
3216   If the date field in your mail header looks like this:
3217
3218     Date: Tue, 10 Jun 1997 15:59:03 +2228904
3219
3220   remove -lbsd from your MH configuration, add "curses -lcurses", and
3221   rebuild.
3222
3223 ------------------------------
3224   
3225 Subject: 05.22 Can I automate the comp -editor mhn process?
3226 From: Soren Dayton <csdayton at gargoyle164.cs.uchicago.edu>
3227 Date: Tue, 21 Jan 1997 17:23:32 GMT
3228
3229   Add
3230
3231     automhnproc: mhn
3232
3233   to your MH profile.
3234
3235 ------------------------------
3236   
3237 Subject: 05.23 How can I remove those "=20" characters when forwarding?
3238 From: Dave Marquardt <marquard at Austin.IBM.Com>
3239 Date: 12 Oct 2000 10:27:38 -0500
3240
3241   Use `forw -mime'.
3242
3243 ------------------------------
3244   
3245 Subject: 05.24 Can I use mh-format substitution with forw?
3246 From: Dave Marquardt <marquard at Austin.IBM.Com>
3247 Date: Tue, 3 Aug 1999 13:28:30 -0500 (EST)
3248
3249   The answer is no, and the real question is why not?
3250
3251 ------------------------------
3252   
3253 Subject: 05.25 How can I keep repl from breaking long lines?
3254 From: Jerry Peek <jpeek at jpeek.com>
3255 Date: Fri, 14 May 1999 11:15:07 -0400
3256
3257   Try adding width=10000 (or so) to your replcomps. It should work
3258   unless you have messages with lines longer than that...
3259
3260 ------------------------------
3261
3262 Subject: 05.26 How do I fix a bogus In-Reply-To or missing References field?
3263 From: Bill Wohler <wohler at newt.com>
3264 Date: Thu, 9 Mar 2006 21:42:21 -0800
3265
3266   In the past, the In-reply-to header field looked as it does in the
3267   new Comments field (see "How can I make sense of the replcomps
3268   file?"). However, the old format is no longer allowable under RFC
3269   2822 which specifies that this field should only include the
3270   Message-ID. You can fix the replcomps and replgroupcomps files by
3271   upgrading to nmh 1.1 (be sure to update your personal copies if
3272   applicable) or simply by fixing the In-reply-to field in your own
3273   replcomps file using the example in the question referenced in this
3274   paragraph.
3275
3276   In addition, older replcomps files lacked the References field which
3277   enables threading in capable UIs. You can get it in the same fashion
3278   as the In-reply-to field--by upgrading or copying.
3279
3280 ------------------------------
3281
3282 Subject: 06.00 ***** Posting *****
3283 From: Bill Wohler <wohler at newt.com>
3284 Date: Fri, 1 Mar 1991 13:03:15 -0800
3285
3286 ------------------------------
3287
3288 Subject: 06.01 What to do with "Problems with edit - draft removed".
3289 From: John Romine <jromine at ics.uci.edu>
3290 Date: Mon, 1 May 1995 00:00:00 -0800
3291
3292   If your users are using an AT&T version of "vi", it's exiting with
3293   non-zero status (supposedly a count of the "errors" during the
3294   edit). Move "vi" to "broken_vi" and put it its place :
3295
3296     #! /bin/sh
3297     /usr/ucb/broken_vi "$@"
3298     exit 0
3299
3300   Alternatively, compile MH with the ATTVIBUG option.
3301
3302   Then complain to your vendor that "vi" is broken, and they shouldfix it.
3303
3304 ------------------------------
3305   
3306 Subject: 06.02 Can I run my message through a program (e.g., ispell) before sending?
3307 From: Jerry Peek <jpeek at jpeek.com>
3308 Date: Fri, 1 Mar 1991 13:03:15 -0800
3309
3310   It's pretty simple. If your speller is called myspell, use:
3311
3312     What now? edit myspell
3313
3314   MH will actually execute:
3315
3316     myspell /your-mail-draft-directory/draftfile
3317
3318   and give the entire draft message to your speller. The header will
3319   probably be "misspelled," of course, though you might be able to
3320   tell the speller to ignore it--or you could hack up a little shell
3321   script to run the speller on just the message body, then tack the
3322   corrected body back onto the header before sending.
3323
3324   You can automate this some more. For example, if you want your
3325   speller to run after your first edit with "prompter" and also after
3326   you leave the "vi" editor, add these lines to your MH profile:
3327
3328       prompter-next: myspell
3329       vi-next: myspell
3330
3331   Then, at the "What now?" prompt:
3332
3333       What now? e
3334
3335   your speller will run. For more info, see the mh-profile(5) man page
3336   or section 7.2.1 (6.2.1) of the MH book, or the URL:
3337
3338     http://rand-mh.sourceforge.net/book/mh/chaedi.html#Edi
3339
3340 ------------------------------
3341   
3342 Subject: 06.03 What to do with "bad address 'xxx' - no at-sign after local-part".
3343 From: Owen Rees <rtor at ansa.co.uk>
3344 Date: Fri, 1 Jan 1993 00:00:00 -0800
3345
3346   You may find that post returns the following message:
3347
3348     post: bad address 'Mr. Foo Bar <fb@somewhere.edu>' - no at-sign
3349     after local-part (Bar), continuing...
3350
3351   The unquoted dot causes "Mr. Foo" to be parsed as the local part of
3352   the address. Either remove the dot, or rewrite the address as
3353   follows:
3354
3355     "Mr. Foo Bar" <fb@somewhere.edu>
3356     (Mr. Foo Bar) <fb@somewhere.edu>
3357     (Mr. Foo Bar) fb@somewhere.edu
3358
3359 ------------------------------
3360   
3361 Subject: 06.04 Fixing "post: problem initializing server; [BHST] no servers available"
3362 From: Peter Marvit <marvit at hplabs.hpl.hp.com>,
3363         Eric Bracken <bracken at bacon.performance.com>
3364 Date: Tue, 1 Nov 1994 00:00:00 -0800
3365
3366   The error message itself is essentially correct. However, what this
3367   really means is: MH's post cannot connect to a running sendmail over
3368   an SMTP port (MH configured with SMTP and SENDMTS).
3369
3370   The potential problems:
3371
3372   1. Your local sendmail daemon is dying or not running for some
3373      reason.
3374
3375   2. You use BIND and your local nameserver is not responding.
3376      Solution: Delete "/etc/resolv.conf."
3377
3378   3. Your $MHLIB/mts.conf (mtstailor) has its "servers:" pointing to a
3379      non-existent machine or a machine which is a) not reachable or b)
3380      not running the sendmail daemon.
3381
3382 From: Bdale Garbee <bdale at col.hp.com>,
3383         Eric Bracken <bracken at bacon.performance.com>
3384 Date: Sun, 1 May 1994 00:00:00 -0800
3385
3386   4. The hostname localhost [127.0.0.1] is missing from /etc/hosts.
3387
3388      Solution: add an entry for "localhost" to /etc/hosts or your DNS
3389      database or add the following to $MHLIB/mts.conf (mtstailor):
3390
3391        servers: 127.0.0.1 \01localnet
3392
3393 From: Larry Daffner <ldaffner at convex.com>
3394 Date: 3 Mar 1996 14:39:54 -0600
3395
3396   5. Your load average is so high that sendmail is refusing
3397      connections.
3398
3399      Solution: Change your configuration from "mta: sendmail/smtp" to
3400      "mta: sendmail" so that a sendmail processes is spawned to
3401      deliver the message. This is a double-edged sword since the extra
3402      process only makes the load worse.
3403
3404 From: Corbin Covault <cec8 at po.cwru.edu>
3405 Date: Sun, 02 Sep 2001 02:13:42 -0400
3406
3407   6. Sendmail may not be located on the path that MH expects.
3408
3409      Solution: Try specifying the path explicitly by adding a line to
3410      mts.conf thus:
3411   
3412        sendmail: /usr/sbin/sendmail
3413   
3414      or wherever your sendmail daemon executable lives.
3415
3416 From: Neil W Rickert <rickert+nn at cs.niu.edu>
3417 Date: 13 Apr 2001 18:47:43 -0500
3418
3419   7. You don't want to use an available server.
3420
3421      Solution: Try
3422
3423        postproc: /usr/local/lib/mh/spost
3424
3425      in your MH profile (but check the path first). That should use
3426      command line sendmail.
3427
3428 ------------------------------
3429   
3430 Subject: 06.05 Fixing "post: problem initializing server; [RPLY] 503 Sender already specified"
3431 From: Paul Pomes <ppomes at Qualcomm.com>
3432 Date: Mon, 1 Mar 1993 00:00:00 -0800
3433
3434   The problem in sendmail is that the RSET after the ONEX does not
3435   reset all the state information.  Normally sendmail fork()s after
3436   the Mail from: statement and a RSET causes that child to exit. This
3437   automatically cleans up.  If the fork() is suppressed by ONEX, then
3438   the source must be modified to do the cleanup.  See "srvrsmtp.c
3439   patch" in the Appendix.  If you don't have the sources, modify your
3440   MH sources to not use the ONEX verb.
3441
3442 ------------------------------
3443   
3444 Subject: 06.06 Fixing "post: unexpected response; [BHST] no socket opened"
3445 From: Steve Lembark <lembark at wrkhors.la.ca.us>, Bill Wohler <wohler at newt.com>
3446 Date: Mon, 1 Aug 1994 00:00:00 -0800
3447
3448   This problem happens when there is no interface defined within the
3449   tcp system.  A couple of workarounds include:
3450
3451   o Use a hostname (other than the local host) instead of localhost in
3452     the "servers" entry of the $MHLIB/mts.conf (mtstailor) file.
3453   o Recompile MH with sendmail instead of sendmail/smtp (not very
3454     elegant).
3455
3456   A better fix would be to define your tcp interface.
3457
3458   Here, you run ifconfig and route (as root) to define the loopback
3459   device and route. You should add them to rc.local so they are
3460   effected at every boot.
3461
3462     # ifconfig lo 127.0.0.1                     # Linux
3463     # ifconfig lo0 127.0.0.1            # Sun
3464
3465     # route 127.0.0.1
3466
3467   If all is well, "ifconfig lo" (or lo0), will show something like
3468   this (on my Linux system):
3469
3470     lo        Link encap Local Loopback
3471               inet addr 127.0.0.1  Bcast 127.255.255.255  Mask 255.0.0.0
3472               UP LOOPBACK RUNNING  MTU 2000  Metric 0
3473               RX packets 0 errors 0 dropped 0 overrun 0
3474               TX packets 519 errors 0 dropped 0 overrun 0
3475
3476   and "netstat -r" will show:
3477
3478     # netstat -r
3479     Destination net/address   Gateway address    Flags RefCnt    Use Iface
3480     127.0.0.0                 *                  UN         0    519 lo
3481
3482   If you're not on a network and running DNS, your /etc/hosts will
3483   need at least:
3484
3485     127.0.0.1   your_host_name localhost        # loopback address
3486
3487   Note: put your name FIRST on the localhost line. This official name
3488   is used by sendmail to determine your return address.
3489
3490   If you are on a network and running DNS, you might find that putting
3491   your host name in the localhost entry might gum up other things, in
3492   which case you'll want your hostname to have its own proper address.
3493
3494   This might not do it though. David Youatt <dpy at sgi.com> says that
3495   his network was happy but he still had the problem until he upgraded
3496   his system and got the latest revision of sendmail as well. He says:
3497   "Turns out that that the problem I was having seems to be caused (at
3498   least partly, maybe entirely) by the version of sendmail that is
3499   shipped with IRIX 5.2 (sendmail 5.65, I think). The version shipped
3500   w/IRIX 5.3 (in beta) is sendmail 8.6.9 and works fine."
3501
3502   I'm not entirely happy with this section, so please give me some
3503   feedback. If you have this problem, please send me <wohler at
3504   newt.com> a brief description so I'll know which problems and
3505   solutions seem to be the most prevalent.
3506
3507 ------------------------------
3508   
3509 Subject: 06.07 How do I fix the "X-Authentication-Warning" header?
3510 From: Bill Wohler <wohler at newt.com>
3511 Date: Mon, 9 Sep 1996 01:32:15 -0700
3512
3513   (See "Fixing "Sender didn't use the HELO protocol"".)
3514
3515 ------------------------------
3516   
3517 Subject: 06.08 Fixing "post: unexpected response; [RPLY] 503 Need MAIL before RCPT"
3518 From: Bjoern Stabell <bjoerns at acm.org>
3519 Date: Mon, 1 May 1995 00:00:00 -0800
3520
3521   I inserted:
3522
3523     clientname: localhost
3524
3525   in the $MHLIB/mts.conf (mtstailor) file, and that fixed the problem.
3526
3527 ------------------------------
3528   
3529 Subject: 06.09 Fixing "post: problem initializing server; [BHST] premature end-of-file on socket"
3530 From: Ginko <gianluca at noroboter.rotoni.com>
3531 Date: Thu, 8 Mar 2001 09:18:14 +0000 (UTC)
3532
3533   I have sendmail under control of tcpwrapper started by inetd and
3534   didn't want to take it away, the very simple fix to this problem was
3535   to allow the localhost on /etc/hosts.allow on the sendmail entry.
3536
3537 From: Stefan Huebner <sh at muc.de>
3538 Date: Wed, 11 Sep 1996 20:06:49 +0200
3539
3540   Use spost instead of post.  To do this:
3541
3542     % mv post post.orig
3543     % ln -s spost post
3544
3545 From: Chuck Mattern <cmattern at mindspring.com>
3546 Date: Mon, 1 May 1995 00:00:00 -0800
3547
3548   If you are running sendmail instead of smail, make sure that all
3549   smtp entries in /etc/inetd.conf are commented out. If you do edit
3550   /etc/inetd.conf, don't forget to run to restart inetd with "kill -1
3551   <inetd PID>".
3552
3553 ------------------------------
3554   
3555 Subject: 06.10 Fixing "Sender didn't use the HELO protocol"
3556 From: rickert at cs.niu.edu (Neil Rickert)
3557 Date: Tue, 20 Mar 2001 22:01:16 -0800
3558
3559   If you are sharing your $MHLIB/mts.conf (mtstailor) file among
3560   several machines, and you are connecting to the local sendmail, then
3561   use 'localhost' as the hostname argument to the clientname parameter
3562   (described below).
3563
3564   Otherwise, place mts.conf somewhere under /etc on each system, and
3565   install a symlink to it on the shared file system.
3566
3567 From: labrown at dg-rtp.dg.com (Lance A. Brown)
3568 Date: 23 Apr 1996 14:43:04 -0400
3569
3570   You can solve this by putting
3571
3572     localname:      localhostname
3573     localdomain:    local.domain.name
3574
3575   in your $MHLIB/mts.conf (mtstailor) file. This will make MH send a
3576   HELO string in the SMTP transaction.
3577
3578 From: Terry Manderson <terry at azure.dstc.edu.au>
3579 Date: Mon, 1 May 1995 00:00:00 -0800
3580
3581   Add
3582
3583     clientname sender
3584
3585   to $MHLIB/mts.conf (mtstailor) where sender is the name of the
3586   machine sending the message. The error message occurs because newer
3587   MTA's require SMTP's "HELO" command which MH omits in some
3588   configurations. When you add the above line, it forces MH to use the
3589   HELO command.
3590
3591 From: Bill Wohler <wohler at newt.com>
3592 Date: Fri, 1 Mar 1991 13:03:15 -0800
3593
3594   You get a header like:
3595
3596     X-Authentication-Warning: screamer.rtp.ericsson.se: Host
3597     rcur7.rtp.ericsson.se didn't use HELO protocol
3598
3599   Easy possibilities are: apply the patch to MH that comes with
3600   Sendmail 8.X.X and makes it use HELO, or comment out the line that
3601   says
3602
3603     Opauthwarnings
3604
3605   in your sendmail.cf.
3606
3607 ------------------------------
3608   
3609 Subject: 06.11 Fixing "post: problem initializing server; [RPLY] 553 Local configuration error, hostname not recognized as local"
3610 From: "Matthew V. J. Whalen" <whalenm at aol.net>
3611 Date: Mon, 1 May 1995 00:00:00 -0800
3612
3613   Change your "mts" in "conf/MH" from "sendmail/smtp" to just
3614   "sendmail."
3615
3616 From: Bill Wohler <wohler at newt.com>
3617 Date: Mon, 1 May 1995 00:00:00 -0800
3618
3619   The solution above will keep MH from using any SMTP server on your
3620   network. require sendmail to be installed on all machines. You could
3621   take advantage of the "sendmail/smtp" option to have MH talk to a
3622   non-local sendmail. In $MHLIB/mts.conf (mtstailor) add:
3623
3624     servers <SMTP-server>
3625
3626   It may also be caused by old versions of sendmail.
3627
3628 ------------------------------
3629
3630 Subject: 07.00 ***** Mail Filters *****
3631 From: Bill Wohler <wohler at newt.com>
3632 Date: Fri, 1 Mar 1991 13:03:15 -0800
3633
3634 ------------------------------
3635
3636 Subject: 07.01 What mail filters are available?
3637 From: Bill Wohler <wohler at newt.com>
3638 Date: Sun, 11 Mar 2001 10:27:24 -0800
3639
3640   The list currently includes slocal (included with MH), deliver,
3641   procmail and mailagent. They are briefly described here. Slocal is
3642   probably the most popular by virtue of being included in the
3643   distribution. The next most popular entry is procmail, followed by
3644   deliver.
3645
3646   Slocal comes with MH. It can be used to process incoming mail based
3647   on the contents of any of the headers. Actions include filing
3648   messages, running commands, printing messages on your terminal and
3649   so on. The configuration is made in ~/.maildelivery. People seem to
3650   have trouble with slocal bugs, and you can't use it if you don't
3651   have write permission on your system maildrop so a lot of people
3652   have opted for the alternatives, but it's easy to use and comes with
3653   MH.
3654
3655   procmail is quite popular and has a very powerful configuration
3656   file. However, the syntax is its own, but it is easy to learn given
3657   a couple of good examples. Its advantages are its small size and
3658   speed. Like deliver, procmail may be installed as a delivery agent
3659   so you would not even have to have a .forward file.
3660
3661   Deliver can run any script or program (called ~/.deliver), so you
3662   really can do anything you want to incoming mail. One feature that
3663   it sports that no other does is that you can install it as a local
3664   mailer in place of /bin/mail. If it's the local mailer, you don't
3665   need to have a .forward--~/.deliver is run anyway. In addition, it
3666   allows the system administrator to write some programs to filter
3667   everybody's mail. It came with my Linux system, so installation was
3668   non-existent.
3669
3670   I started with slocal, and then moved to deliver. I switched to
3671   procmail because of a bug in deliver (which I think has since been
3672   fixed) whereby a blank line would be inserted into the header before
3673   header fields with numbers in them.
3674
3675   I am still using procmail and probably will do so indefinitely since
3676   it is powerful, there are many spam filters written in it, and it
3677   coexists with MH and Gnus so well.
3678
3679   My recommendation is to use the one that is installed on your system
3680   or get procmail. Here are the URLs for the filters mentioned in this
3681   document:
3682
3683     http://www.procmail.org/
3684
3685 From: "Eric D. Friedman" <friedman at hydra.acs.uci.edu>
3686 Date: 28 Aug 1996 08:28:46 GMT
3687
3688   See http://www.faqs.org/faqs/mail/filtering-faq/index.html.
3689
3690 From: Stephen R. van den Berg <berg at pool.informatik.rwth-aachen.de>
3691 Date: Mon, 1 Aug 1994 00:00:00 -0800
3692
3693   Procmail can be used to create mail-servers, mailing lists, sort
3694   your incoming mail into separate folders/files (real convenient when
3695   subscribing to one or more mailing lists or for prioritizing your
3696   mail), preprocess your mail, start any programs upon mail arrival
3697   (e.g. to generate different chimes on your workstation for different
3698   types of mail) or selectively forward certain incoming mail
3699   automatically to someone.
3700
3701 From: Raphael Manfredi <Raphael_Manfredi at pobox.com>
3702 Date: Tue, 28 Jul 1998 13:22:07 +0200
3703
3704   "mailagent" is yet another mail filter, written in perl, which will
3705   let you do anything with your mail. It has all the features you may
3706   expect from a filter: mailing lists sorting, forwarding to MTA or to
3707   inews, pre-processing of message before saving into folder, vacation
3708   mode, etc. It was initially written as an Elm-filter replacement,
3709   but has now enough power to also supplant MMDF's .maildelivery.
3710   There is also a support for @SH mail hooks, which allows you to
3711   automatically distribute patches or software via command mails.
3712
3713   The mailagent was designed to make mail filtering as easy as it can
3714   be. It is highly configurable and fairly complete. Rules are
3715   specified in a lex-like style, with the full power of perl's regular
3716   expressions. The automaton supports the notion of mode, and header
3717   selection has many magic features built-in, to ease the rule writing
3718   process.
3719
3720   The distribution comes with a set of examples, an exhaustive test
3721   suite, and naturally a detailed manual page. It should be noted that
3722   the mailagent will work even if your system administrator forbids "|
3723   programs" hooks in the ~/.forward, provided you have access to some
3724   sort of cron daemon.
3725
3726     http://www.cpan.org/authors/Raphael_Manfredi/
3727
3728 ------------------------------
3729   
3730 Subject: 07.02 Why slocal writes messages to system mailbox that from(1) can't read.
3731 From: Bill Wohler <wohler at newt.com>
3732 Date: Mon, 1 May 1995 00:00:00 -0800
3733
3734   Upgrade to MH 6.8 and set the RPATHS option. Better yet, use a more
3735   MH-like command instead of from: "scan -file $MAIL".
3736
3737 ------------------------------
3738   
3739 Subject: 07.03 Where can I read about slocal and the format of .maildelivery?
3740 From: Bill Wohler <wohler at newt.com>
3741 Date: Fri, 1 Mar 1991 13:03:15 -0800
3742
3743   See the slocal man page.
3744
3745   Here is brief example of a .maildelivery file that stores messages
3746   to babble in a folder and the system mailbox, stores mh-users in a
3747   folder but not the system mailbox, and puts the rest in the system
3748   mailbox.
3749
3750     to  mh-users  | A "$MHLIB/rcvstore -create +lists/mh-users"
3751     cc  mh-users  | A "$MHLIB/rcvstore -create +lists/mh-users"
3752     to  babble    | R "$MHLIB/rcvstore -create +lists/babble"
3753     cc  babble    | R "$MHLIB/rcvstore -create +lists/babble"
3754     default -     > ? /usr/spool/mail/wohler
3755
3756   Your .forward file may look like (quotes necessary):
3757
3758     "| $MHLIB/slocal -user your_login"
3759
3760   In some implementations, the "-user your_login" is not needed. If
3761   not, manually running slocal with the flag will produce an error.
3762
3763   See also chapter 12 (11) in the MH book, or the URL:
3764
3765     http://rand-mh.sourceforge.net/book/mh/tocs/prmaau.html
3766
3767   Alternatives to slocal include deliver, procmail, and mailagent.
3768   (See "What mail filters are available?")
3769
3770 ------------------------------
3771   
3772 Subject: 07.04 How do I debug my .maildelivery file?
3773 From: Bill Wohler <wohler at newt.com>
3774 Date: Mon, 1 Mar 1993 00:00:00 -0800
3775
3776   Use as many of the following as necessary.
3777
3778   Put a message into a file and call slocal directly on it.
3779
3780     $MHLIB/slocal -user $USER -verbose -debug < test-msg
3781
3782   Modify your .forward to look like:
3783
3784     "|/bin/sh -c 'exec >> /tmp/out 2>&1;
3785     $MHLIB/slocal -user $USER -verbose -debug'"
3786
3787   Or modify a rule in .maildelivery to look like this:
3788
3789     to foo | R "set -xv; exec >/tmp/out 2>&1; $MHLIB/rcvstore +foo"
3790
3791   The previous examples are broken up for readability; the text must
3792   appear on one line.
3793
3794   See also MH book section 12.11 (11.11), or the URL:
3795
3796     http://rand-mh.sourceforge.net/book/mh/debugti.html
3797
3798 ------------------------------
3799   
3800 Subject: 07.05 Why isn't slocal working?
3801 From: Bill Wohler <wohler at newt.com>
3802 Date: Mon, 1 Mar 1993 00:00:00 -0800
3803
3804   If slocal doesn't appear to be doing anything, run the following
3805
3806     $MHLIB/slocal -user your_login -verbose < file
3807
3808   where "file" is some message in a mail folder. If you get something
3809   like:
3810
3811     .maildelivery: ownership/modes bad (0, 154,154,0100666)
3812
3813   your .maildelivery is writable by too many people. Make it writable
3814   only by you by running "chmod 644 .maildelivery".
3815
3816   See also "How do I debug my .maildelivery file?"
3817
3818 ------------------------------
3819   
3820 Subject: 07.06 Are there any good biff applications for MH?
3821 From: Rob Austein <sra at epilogue.com>
3822 Date: Tue, 01 Dec 1998 03:02:34 -0500
3823
3824   I've been been using a program called xlbiff (X Literate Biff) and
3825   have been quite happy with it. By default, xlbiff generates its
3826   pop-up listings by running scan on your mail drop file, but it's not
3827   a big deal to customize xlbiff for more complicated setups if you
3828   make heavy use of procmail, multiple mail drops, and so on.
3829
3830 From: Richard Coleman <coleman at math.gatech.edu>
3831 Date: 07 Jul 1997 03:31:42 -0400
3832
3833   nmh (new MH) has an additional command (flist) that will tell you
3834   which folders have unseen messages. I can't imagine using MH without
3835   it.
3836
3837 From: crow at tivoli.com (David L. Crow)
3838 Date: 7 Jul 97 09:36:32 GMT
3839
3840   I have used the following X resource with xbiff before:
3841
3842     xbiff*checkCommand: grep -q '^unread' `mhpath +inbox`/.mh_sequences \
3843                         && exit 0 || exit 2
3844
3845   This should be all one line, but I split it with a line continuation
3846   character for readability.
3847
3848 ------------------------------
3849   
3850 Subject: 07.07 How do I read new messages filed by procmail?
3851 From: Bill Wohler <wohler at newt.com>
3852 Date: Sun, 17 Oct 2004 15:17:14 -0700
3853
3854   If you use MH-E, use "F n (mh-index-new-messages)" to display unseen
3855   messages.
3856
3857 From: Neil W Rickert <rickert+nn at cs.niu.edu>
3858 Date: 23 Apr 2002 20:38:57 GMT
3859
3860   Here is my "unseen" shell script:
3861
3862   #! /bin/sh -
3863
3864   case "$1" in
3865    "") grep unseen $HOME/Mail/context $HOME/Mail/*/.mh_sequences |
3866           sed     -e '/\/fromme\//d' \
3867                   -e "s=$HOME/Mail/==" \
3868                   -e 's=/.mh_sequences:unseen=='
3869       ;;
3870    "+") shift
3871       mark -sequence unseen -add "$@"
3872       ;;
3873    "-") shift
3874       mark -sequence unseen -delete "$@"
3875       ;;
3876    *) echo "Invalid arguments $*"
3877       ;;
3878   esac
3879
3880 From: Paul Fox <pgf-spam at foxharp.boston.ma.us>
3881 Date: Tue, 23 Apr 2002 20:13:42 GMT
3882
3883   I have procmail deliver to a set of mbox files and use "inc -f foo"
3884   to inc from them. The names of the mbox files are the same as the MH
3885   folders which makes it easy to write a script that does something
3886   like this:
3887
3888       cd Mailboxes
3889       for x in *; do
3890           inc -f $x +$x
3891       done
3892
3893 ------------------------------
3894
3895 Subject: 08.00 ***** MH-E *****
3896 From: Bill Wohler <wohler at newt.com>
3897 Date: Fri, 1 Mar 1991 13:03:15 -0800
3898
3899 ------------------------------
3900
3901 Subject: 08.01 I have a question about MH-E
3902 From: Bill Wohler <wohler at newt.com>
3903 Date: Sat, 3 Mar 2001 13:51:29 -0800
3904
3905   Let me send you over to:
3906
3907     http://mh-e.sourceforge.net/
3908
3909   This is the SourceForge MH-E project. It has mailing lists and files
3910   to download, and will let you submit patches or support requests.
3911
3912   The Support Requests section may already contain an answer to your
3913   question. If not, you can post your question:
3914
3915     http://sourceforge.net/tracker/?group_id=13357&atid=213357
3916
3917 ------------------------------
3918
3919 Subject: 09.00 ***** Xmh *****
3920 From: Bill Wohler <wohler at newt.com>
3921 Date: Fri, 1 Mar 1991 13:03:15 -0800
3922
3923 ------------------------------
3924
3925 Subject: 09.01 How can I get xmh to use Emacs as the editor?
3926 From: Bob Ellison <ellison at sei.cmu.edu>
3927 Date: Fri, 1 Mar 1991 13:03:15 -0800
3928
3929   The modifications to xmh to support an external editor, annotations,
3930   and an append command can be found in the these places.
3931
3932     ftp://ftp.x.org/R5contrib/xmh-mods-R5-1.7.Z                         37k
3933     ftp://ftp.sei.cmu.edu/pub/xmh/xmh-mods-R5-1.7.Z                     37k
3934     ftp://ftp.sei.cmu.edu/pub/xmh/xmh-mods-R6-1.0.Z                     37k
3935
3936 From: Andrew Wason <aw at bae.bellcore.com>
3937 Date: Fri, 1 Mar 1991 13:03:15 -0800
3938
3939   As of R5, xmh has a new action proc called XmhShellCommand. A string
3940   parameter will be executed as a shell command with the currently
3941   selected messages as parameters (or the current message if there are
3942   no selected messages).
3943
3944   Using this new action, a couple of shell scripts, a window version
3945   of emacs (e.g. xemacs) and some elisp code, xmh can use emacs as its
3946   editor instead of the built in Athena text widget editor. This
3947   doesn't require any source code changes to xmh. These are included
3948   in the Appendix "Switching xmh's editor".
3949
3950 ------------------------------
3951   
3952 Subject: 09.02 Does xmh support subfolders?
3953 From: Steve Malowany <malowany at cenparmi.concordia.ca>
3954 Date: Fri, 1 Mar 1991 13:03:15 -0800
3955
3956   Yes. Create one by invoking "Create Folder" as usual, and enter
3957   something like: existing-folder/new-sub-folder. You can then access
3958   the subfolder by popping up a menu over the "existing-folder" button
3959   item.
3960
3961   But:
3962
3963 From: John Cooper <jsc at saxon.Eng.Sun.COM>
3964 Date: Fri, 1 Mar 1991 13:03:15 -0800
3965
3966   The R5 version of xmh does *not* handle nested sub-folders. If you
3967   create a folder as 'grab/some/bandwidth', xmh displays this folder
3968   name for the remainder of the session where it was created, BUT if
3969   you later re-run xmh, the folder is no longer visible to xmh.
3970
3971   See also MH book section 15.6.2 (15.6.2), or the URL:
3972
3973     http://rand-mh.sourceforge.net/book/xmh/orgfol.html#FolaSub
3974
3975 ------------------------------
3976   
3977 Subject: 09.03 How do I precede included messages with ">" when replying in xmh?
3978 From: Len Makin <len at mel.dit.csiro.au>
3979 Date: Fri, 1 Mar 1991 13:03:15 -0800
3980
3981   Include the following line in your ~/app-defaults/XMh file:
3982
3983     Xmh*replyInsertFilter: "sed 's/^/> /'"
3984
3985   or,
3986
3987     Xmh.ReplyInsertFilter: $MHLIB/mhl -form repl.filter
3988
3989 From: Andy Linton <andy.linton at comp.vuw.ac.nz>
3990 Date: Fri, 1 Mar 1991 13:03:15 -0800
3991
3992   Using this means that you can chose to insert the original by use of
3993   the "Insert" button in the Draft message pane. See "How do I include
3994   messages in repl with or without ">"?" to find examples of
3995   repl.filter.
3996
3997   See also MH book sections 15.1.4 (15.1.4), 16.3.3 (16.3.3), or the URLs:
3998
3999     http://rand-mh.sourceforge.net/book/xmh/senmai.html#MorRep
4000     http://rand-mh.sourceforge.net/book/xmh/resfun.html#Rep
4001
4002 ------------------------------
4003
4004 Subject: Glossary
4005 From: Bill Wohler <wohler at newt.com>
4006 Date: Wed, 29 Sep 2004 00:04:34 -0700
4007
4008   MH    Mail Handler
4009   MHLIB Where MH support routines and files are kept; usually /usr/lib/mh
4010         or /usr/local/lib/mh.
4011   POP3  Post Office Protocol, RFC 1939
4012   MMDF  Multi-channel Memo Distribution Facility
4013   MIME  Multipurpose Internet Mail Extensions, RFC 1521
4014   IMAP  Internet Message Access Protocol, RFC 1064, 1176
4015   TIS   Trusted Information Systems
4016   PEM   Privacy Enhanced Mail
4017   PGP   Pretty Good Privacy
4018   SMTP  Simple Mail Transport Protocol (STD 10; RFC 821)
4019
4020 ------------------------------
4021   
4022 Subject: Acknowledgments
4023 From: Bill Wohler <wohler at newt.com>
4024 Date: Mon, 9 Sep 1996 01:37:27 -0700
4025
4026 I'd like to thank the following people for providing ideas on the
4027 layout of this article:
4028
4029 Joe Wells <jbw at bigbird.bu.edu>        Richard M. Stallman <rms at gnu.org>
4030 David Elliott <dce at smsc.sony.com>     Tom Christiansen <tchrist at perl.com>
4031 Eugene N. Miya <eugene at nas.nasa.gov>
4032
4033 We are also grateful to Kim F. Storm <storm at olicom.dk> and Edward
4034 Vielmetti <emv at ox.com> and the folks mentioned in the text of this
4035 document who have provided answers or other information to make this a
4036 better document.  I regret that it is possible that some names have
4037 been accidently omitted.  I would also like to thank all the readers
4038 of comp.mail.mh.
4039
4040 I'd also like to thank John Romine <jromine at yoyodyne.ICS.UCI.EDU> for
4041 maintaining MH and the MH Web page, Jerry Peek <jpeek at jpeek.com> for
4042 writing the MH bible and for all his hard work with the entire MH
4043 project, Stephen Gildea <gildea at stop.mail-abuse.org> for maintaining MH-E
4044 in years past and always sending me lots of great comments, Kimmo
4045 Suominen <kim at tac.nyc.ny.us> for maintaining the MH patch page, and
4046 Richard Coleman <coleman at math.gatech.edu> for taking MH to nmh.
4047
4048 ------------------------------
4049   
4050 Subject: Switching xmh's editor
4051 From: Andrew Wason <aw at bae.bellcore.com>
4052 Date: Fri, 1 Mar 1991 13:03:15 -0800
4053
4054 #! /bin/sh
4055 # This is a shell archive.  Remove anything before this line, then unpack
4056 # it by saving it into a file and typing "sh file".  To overwrite existing
4057 # files, type "sh file -c".  You can also feed this as standard input via
4058 # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
4059 # will see the following message at the end:
4060 #               "End of shell archive."
4061 # Contents:  README Xmh.ad xmh-command.el xmhcommand xmhemacs
4062 # Wrapped by aw@jello on Fri Nov 15 17:10:34 1991
4063 PATH=/bin:/usr/bin:/usr/ucb ; export PATH
4064 if test -f 'README' -a "${1}" != "-c" ; then
4065   echo shar: Will not clobber existing file \"'README'\"
4066 else
4067 echo shar: Extracting \"'README'\" \(1269 characters\)
4068 sed "s/^X//" >'README' <<'END_OF_FILE'
4069 XThis is a short description of what to do with each of the enclosed files.
4070 X
4071 XXmh.ad
4072 X  Merge this in with your xmh resources.  If you already have
4073 X  user defined buttons, then you may need to renumber the
4074 X  buttons in this resource file.
4075 X
4076 Xxmh-command.el
4077 X  Byte compile this file and put it in your GNU emacs load-path.
4078 X
4079 Xxmhcommand
4080 Xxmhemacs
4081 X  Put these somewhere in your path.
4082 X
4083 X
4084 XOnce you have installed these, restart the R5 xmh with the new
4085 Xresources.  When you press the repl, forw or comp buttons
4086 Xan xemacs window will come up with your draft message.
4087 X
4088 XOnce you have written your mail, save it and exit GNU emacs (C-xC-c).
4089 XYou will be prompted if you want to send the current message.
4090 XIf you enter 'y', the message will be sent and the output will
4091 Xbe displayed in an emacs window (in case you use -verbose or -snoop).
4092 XThen you will be prompted to exit emacs.  Enter 'y' when you are ready.
4093 X
4094 XIf you answered 'n' when prompted to send the message,
4095 Xthen the draft message will be deleted and emacs will exit.
4096 X
4097 XYou can modify the Xmh.ad resources to add more buttons.
4098 XAny MH command which accepts "+folder msg" can be used
4099 X(e.g. a replx shell script which includes the body of the
4100 Xmessage being replied to can be bound to a replx button)
4101 X
4102 X
4103 XAndrew Wason
4104 Xaw at bae.bellcore.com
4105 END_OF_FILE
4106 if test 1269 -ne `wc -c <'README'`; then
4107     echo shar: \"'README'\" unpacked with wrong size!
4108 fi
4109 # end of 'README'
4110 fi
4111 if test -f 'Xmh.ad' -a "${1}" != "-c" ; then
4112   echo shar: Will not clobber existing file \"'Xmh.ad'\"
4113 else
4114 echo shar: Extracting \"'Xmh.ad'\" \(457 characters\)
4115 sed "s/^X//" >'Xmh.ad' <<'END_OF_FILE'
4116 XXmh*CommandButtonCount:                        3
4117 X
4118 XXmh*commandBox.button1.label:          repl
4119 XXmh*commandBox.button1.translations:\
4120 X       #override\n\
4121 X       <Btn1Up>:       XmhShellCommand(xmhcommand y repl) unset()
4122 X
4123 XXmh*commandBox.button2.label:          forw
4124 XXmh*commandBox.button2.translations:\
4125 X       #override\n\
4126 X       <Btn1Up>:       XmhShellCommand(xmhcommand y forw) unset()
4127 X
4128 XXmh*commandBox.button3.label:          comp
4129 XXmh*commandBox.button3.translations:\
4130 X       #override\n\
4131 X       <Btn1Up>:       XmhShellCommand(xmhcommand n comp) unset()
4132 END_OF_FILE
4133 if test 457 -ne `wc -c <'Xmh.ad'`; then
4134     echo shar: \"'Xmh.ad'\" unpacked with wrong size!
4135 fi
4136 # end of 'Xmh.ad'
4137 fi
4138 if test -f 'xmh-command.el' -a "${1}" != "-c" ; then
4139   echo shar: Will not clobber existing file \"'xmh-command.el'\"
4140 else
4141 echo shar: Extracting \"'xmh-command.el'\" \(1294 characters\)
4142 sed "s/^X//" >'xmh-command.el' <<'END_OF_FILE'
4143 X;;; These functions are for use with xemacs and xmh.
4144 X;;; The R5 xmh has a new action - XmhShellCommand which executes
4145 X;;; a shell command with the current msg as an arg.
4146 X;;; By executing something like:
4147 X;;;    XmhShellCommand(xmhcommand repl)
4148 X;;; you can use xemacs as your editor with xmh.
4149 X;;;
4150 X;;; The following elisp functions perform the basic whatnowproc functionality
4151 X;;; (quitting and deleting, sending)
4152 X;;;
4153 X;;; Andrew Wason  aw at bae.bellcore.com
4154 X
4155 X
4156 X;;; Override C-xC-c
4157 X(define-key indented-text-mode-map "\C-x\C-c" 'xmh-command-send-or-delete)
4158 X
4159 X
4160 X(setq mhdraft (getenv "mhdraft"))      ; save the filename of the draft
4161 X
4162 X
4163 X(find-file mhdraft)                    ; load the draft letter
4164 X(indented-text-mode)
4165 X(setq draft-buffer (current-buffer))   ; save the buffer the draft is in
4166 X
4167 X
4168 X(defun xmh-command-send-or-delete ()
4169 X  "Prompt to send or delete letter, then quit."
4170 X  (interactive)
4171 X  (set-buffer draft-buffer)
4172 X  (if (y-or-n-p "Send message? ")
4173 X      (progn
4174 X       (save-buffer)                           ; save the draft buffer
4175 X       (message "Sending...")
4176 X       (pop-to-buffer "MH mail delivery"); pop to a buffer for "send" output
4177 X       (erase-buffer)
4178 X       (call-process "send" nil t t mhdraft)   ; call MH "send"
4179 X       (if (y-or-n-p "Exit? ")
4180 X           (kill-emacs)))                      ; exit emacs
4181 X    (delete-file mhdraft)                      ; delete the draft letter
4182 X    (kill-emacs)))                             ; exit emacs
4183 END_OF_FILE
4184 if test 1294 -ne `wc -c <'xmh-command.el'`; then
4185     echo shar: \"'xmh-command.el'\" unpacked with wrong size!
4186 fi
4187 # end of 'xmh-command.el'
4188 fi
4189 if test -f 'xmhcommand' -a "${1}" != "-c" ; then
4190   echo shar: Will not clobber existing file \"'xmhcommand'\"
4191 else
4192 echo shar: Extracting \"'xmhcommand'\" \(669 characters\)
4193 sed "s/^X//" >'xmhcommand' <<'END_OF_FILE'
4194 X#!/bin/sh
4195 X# This shell should be invoked by the xmh XmhShellCommand() action as
4196 X#   XmhShellCommand(xmhcommand y repl)
4197 X#   XmhShellCommand(xmhcommand n comp) etc.
4198 X# If the second arg is y, then the message list will be used.
4199 X
4200 X# We invoke the passed MH command on the identified message
4201 X# (we must strip the message number and folder from the pathname)
4202 X(if [ $1 = "y" ]
4203 Xthen
4204 X       $2 -whatnowproc xmhemacs +`dirname \`echo $3 | \
4205 X               sed "s;\\\`mhpath +\\\`/;;"\`` `basename $3`
4206 X
4207 X# You can use this more readable version instead if you have ksh
4208 X#      $2 -whatnowproc xmhemacs +$(dirname $(echo $3 | \
4209 X#              sed "s;$(mhpath +)/;;")) $(basename $3)
4210 X
4211 Xelse
4212 X       $2 -whatnowproc xmhemacs
4213 Xfi)&
4214 END_OF_FILE
4215 if test 669 -ne `wc -c <'xmhcommand'`; then
4216     echo shar: \"'xmhcommand'\" unpacked with wrong size!
4217 fi
4218 chmod +x 'xmhcommand'
4219 # end of 'xmhcommand'
4220 fi
4221 if test -f 'xmhemacs' -a "${1}" != "-c" ; then
4222   echo shar: Will not clobber existing file \"'xmhemacs'\"
4223 else
4224 echo shar: Extracting \"'xmhemacs'\" \(116 characters\)
4225 sed "s/^X//" >'xmhemacs' <<'END_OF_FILE'
4226 X#!/bin/sh
4227 X# Invoke xemacs and load the xmh-command.el stuff.
4228 X# xmhemacs is used by xmhcommand
4229 Xxemacs -l xmh-command
4230 END_OF_FILE
4231 if test 116 -ne `wc -c <'xmhemacs'`; then
4232     echo shar: \"'xmhemacs'\" unpacked with wrong size!
4233 fi
4234 chmod +x 'xmhemacs'
4235 # end of 'xmhemacs'
4236 fi
4237 echo shar: End of shell archive.
4238 exit 0
4239
4240 ------------------------------
4241   
4242 Subject: babyl2mh.pl
4243 From: Vivek Khera <khera at cs.duke.edu>
4244 Date: Fri, 1 Mar 1991 13:03:15 -0800
4245
4246 #!/usr/gnu/bin/perl
4247 # incorporate an RMAIL babyl file into an MH folder
4248 #
4249 # usage: babyl2mh +folder babyl-file
4250 #
4251 # V. Khera <khera at cs.duke.edu> 17-JUL-1991
4252
4253 # where to find rcvstore
4254 $rcvstore = "/usr/local/lib/mh/rcvstore";
4255
4256 #
4257 # pull out command line args
4258 #
4259 die "usage: babyl2mh +folder babyl-file\n" unless @ARGV == 2;
4260
4261 $folder = shift;
4262 # make sure folder name starts with a "+"
4263 (substr($folder,0,1) eq "+") || (substr($folder,0,0) = "+");
4264 $bfname = shift;
4265
4266 print "Incorporating RMAIL file $bfname into MH folder $folder\n";
4267
4268 #
4269 # read in babyl file.
4270 #
4271 $/ = "\037";    # this separates the records in a babyl file
4272 $* = 1;         # records are multi-lines
4273
4274 open(BABYL,$bfname) || die "Couldn't open $bfname\n";
4275
4276 $_ = <BABYL>;   # discard header.
4277
4278 $msgnum = 0;
4279
4280 while (<BABYL>) {
4281   chop;         # get rid of delimeter
4282   s/\f(.|\n)*\*\*\* EOOH \*\*\*\n//;    # remove duplicate header information
4283   open(RCVSTORE,"|" . $rcvstore . " $folder");
4284   print RCVSTORE $_;
4285   $msgnum++;
4286   print "Message $msgnum done.\n";
4287 }
4288
4289 ------------------------------
4290   
4291 Subject: inco - babyl to MH converter
4292 From: Juergen Nickelsen <nickel at cs.tu-berlin.de>
4293 Date: Fri, 1 Mar 1991 13:03:15 -0800
4294
4295 #!/bin/sh
4296 # Usage: inco [from [folder]]
4297 # "from" defaults to $HOME/Mail/outbound, "folder" to +inbox.
4298
4299 lispfile=/tmp/inco.$$.el
4300 input=${1-$HOME/Mail/outbound}
4301 tmpmbox=/tmp/inc.$$.mbox
4302 folder=${2-+inbox}
4303
4304 if [ $# -ge 3 ]; then
4305         echo Usage: `basename $0` [ from [ folder ]]
4306         exit 2
4307 fi
4308
4309 trap "rm -f $lispfile $tmpmbox ; exit 1" 1 2 15
4310
4311 touch $tmpmbox
4312 chmod 600 $tmpmbox
4313
4314 echo '(rmail-input "'$input'")
4315 (rmail-last-message)
4316 (setq last (rmail-what-message))
4317 (rmail-show-message 1)
4318 (while (not (equal (rmail-what-message) last))
4319   (rmail-output "'$tmpmbox'")
4320   (rmail-delete-forward nil))
4321 (rmail-output "'$tmpmbox'")
4322 (kill-buffer (current-buffer))
4323 ' > $lispfile
4324
4325 emacs -batch -l $lispfile
4326 inc -file $tmpmbox $folder
4327
4328 > $input
4329 rm -f $lispfile $tmpmbox
4330
4331 ------------------------------
4332   
4333 Subject: t2h - add hyperlinks to message viewed
4334 From: TANAKA Tomoyuki <tanaka at step.mother.com>
4335 Date: Mon, 13 Sep 1999 11:35:43 -0600
4336
4337 #! /bin/sed -f
4338 # "t2h" by TT  news:alt.tanaka-tomoyuki  http://listen.to/TT
4339 # USE: t2h <file.txt >file.html
4340 # Or:  show | t2h | lynx -
4341
4342 s/&/\&amp;/g
4343 s/</\&lt;/g
4344 s/>/\&gt;/g
4345
4346 s/http:[^ "&)   ]*/<a href="&">&<\/a>/g
4347 s/news:[^ "&)   ]*/<a href="&">&<\/a>/g
4348 s/ftp:[^ "&)    ]*/<a href="&">&<\/a>/g
4349 s/telnet:[^ "&) ]*/<a href="&">&<\/a>/g
4350
4351 1i\
4352 <PRE>
4353
4354 $a\
4355 </PRE>
4356
4357 ------------------------------
4358   
4359 Subject: srvrsmtp.c patch
4360 From: Paul Pomes <ppomes at Qualcomm.com>
4361 Date: Fri, 1 Mar 1991 13:03:15 -0800
4362
4363 >From the 5.67 sources:
4364
4365   *** srvrsmtp.c-       Mon Feb 22 12:25:54 1993
4366   --- srvrsmtp.c        Mon Feb 22 12:29:09 1993
4367   ***************
4368   *** 384,389 ****
4369   --- 384,395 ----
4370                           message("250", "Reset state");
4371                           if (InChild)
4372                                   finis();
4373   +
4374   +                       /* clean up a bit if running in parent */
4375   +                       hasmail = FALSE;
4376   +                       dropenvelope(CurEnv);
4377   +                       CurEnv = newenvelope(CurEnv);
4378   +                       CurEnv->e_flags = BlankEnvelope.e_flags;
4379                           break;
4380
4381                     case CMDVRFY:               /* vrfy -- verify address */
4382
4383 ------------------------------
4384   
4385 Subject: IRIX config file
4386 From: Jack Repenning <jackr at informix.com>
4387 Date: 25 Jul 1995 02:35:41 GMT
4388
4389 # Irix 5.3 (based on examples/sys5r4)
4390 bboards on
4391 bin     /usr/local/bin/mh
4392 cc      cc
4393 ccoptions -g
4394 chown /bin/chown
4395 curses  -lcurses
4396 etc     /usr/local/lib/mh
4397 ldoptions -L/usr/local/lib/mh
4398 mail    /usr/mail
4399 mailgroup: mail
4400 manuals local
4401 mts     sendmail/smtp
4402 pop on
4403 popdir /usr/local/bin
4404 ranlib off
4405 #sharedlib sys5
4406 #slibdir /usr/local/lib/mh
4407 signal void
4408 sprintf int
4409 options BIND
4410 options DBMPWD
4411 options DUMB
4412 options FOLDPROT='"0700"'
4413 options MHE
4414 options MHRC
4415 options MIME
4416 options MORE='"/usr/bsd/more"'
4417 options MSGPROT='"0600"'
4418 options RENAME
4419 options RPATHS
4420 options SBACKUP='"\\#"'
4421 #options SENDMTS
4422 options SGI
4423 #options SMTP
4424 options SOCKETS
4425 options SVR4
4426 options SYS5
4427 options SYS5DIR
4428 options UNISTD
4429 options _XOPEN_SOURCE
4430 options VSPRINTF
4431
4432 From: David Paschich <dpassage at bigbook.com>
4433 Date: 23 Apr 96 21:27:12 GMT
4434
4435 # @(#)$Id$
4436 # a 4.2BSD VAX system running SendMail
4437 bin     /usr/local/bin/mh
4438 bboards off
4439 etc     /usr/local/lib/mh
4440 mail    /var/mail
4441 manuals local
4442 mandir  /usr/local/man
4443 chown   /sbin/chown
4444 ranlib  off
4445 mts     sendmail
4446 signal  void
4447 options BIND LOCKF FOLDPROT='"0700"' MHE MHRC MORE='"/usr/bsd/more"'
4448 options MSGPROT='"0600"' RPATHS SENDMTS SGI SMTP SOCKETS SYS5
4449 options TYPESIG="void" ncr MIME VSPRINTF UNISTD SYSVR4 SYS5DIR
4450
4451 ------------------------------
4452   
4453 Subject: HP-UX 10.20 config file
4454 From: Marko Heikkinen <hema at iki.fi>
4455 Date: 06 Jan 1997 17:19:07 +0000
4456
4457 bin     /opt/mail/bin
4458 bboards on
4459 etc     /opt/mail/lib/mh
4460 editor  prompter
4461 remove  mv -f
4462 mail    /var/mail
4463 mandir  /opt/man
4464 manuals standard
4465 chown   /bin/chown
4466 cc      cc
4467 ccoptions       +DA1.0 +DS1.0
4468 curses  -lcurses
4469 mts     sendmail/smtp
4470 pop     off
4471 slibdir: /opt/mail/lib
4472 options SYS5
4473 options MHE 
4474 options MIME
4475 options ATZ
4476 options BIND
4477 options MHE
4478 options MIME
4479 options ATZ
4480 options BIND
4481 options MHE
4482 options MHRC
4483 options MORE='"/opt/gnu/bin/less"'
4484 options MSGPROT='"0600"'
4485 options NDIR
4486 options NTOHLSWAP
4487 options POPUUMBOX
4488 options SOCKETS
4489 options SYS5
4490 options TZNAME
4491 options TYPESIG=void
4492 options VSPRINTF
4493 options WHATNOW
4494 options _STRINGS
4495 signal void
4496 curses  -lcurses -ltermlib
4497 sprintf int
4498
4499 ------------------------------
4500
4501 Subject: Removing duplicate messages (Bourne)
4502 From: Jerry Peek <jpeek at jpeek.com>
4503 Date: 20 Nov 1995 18:51:24 GMT
4504
4505   Here's a simple-minded Bourne shell version.  It uses
4506   "scan" to get the message number and message-id of each message.  If
4507   a message has the same message-id as the previous message, the
4508   script adds its message number to the "remove" shell variable.
4509
4510
4511         #!/bin/sh
4512         lastmsgid=hahahaha
4513         remove=
4514         scan -width 300 -format '%(msg) %{message-id}' |
4515         while read msg msgid; do
4516             if [ "$msgid" = "$lastmsgid" ]; then
4517                 remove="$remove $msg"
4518             else
4519                 lastmsgid="$msgid"
4520             fi
4521         done
4522         rmm $remove
4523
4524   That's pretty simple-minded.  For example, if the $remove variable
4525   gets too big, your system may complain.  And I'm sure there are some
4526   more-efficient ways to find the list of duplicate message-ids.  But
4527   that's the idea.
4528   
4529 Subject: Removing duplicate messages (Perl)
4530 From: rtor at ansa.co.uk (Owen Rees)
4531 Date: 20 Nov 1995 12:39:47 GMT
4532
4533   I wrote a perl script to do this some time ago. All the usual dire
4534   warnings about destructive technology apply - take a backup, do it on
4535   a copy, try it on a small test case first etc. Don't use this script
4536   unless you are prepared to accept the consequences.
4537
4538 #!/usr/local/bin/perl
4539
4540 $version = "rmmdup 1";
4541
4542 if (@ARGV == 0) { $folder = ""; }
4543 elsif (@ARGV == 1) { $folder = $ARGV[0];
4544                      unless ( $folder =~ /^\+.+$/ )
4545                       { die "usage $0 [+folder]\n"; };
4546                    }
4547 else { die "usage $0 [+folder]\n"; };
4548
4549 $rmmlist = "";
4550
4551 open (scan, "scan $folder -format '%(msg) %{message-id}'|");
4552 while (<scan>)
4553  { if ( ($msg,$msgid) = /^(\d+) (<.*>)$/)
4554     { if ($msgs{$msgid})
4555        { print "$msg duplicates $msgs{$msgid}\n";
4556          $rmmlist .= " $msg";
4557        }
4558       else { $msgs{$msgid} = $msg; };
4559     };
4560  };
4561 if ( $rmmlist ) { exec "rmm $folder $rmmlist"; };
4562 exit;
4563
4564 Subject: Removing duplicate messages (Perl)
4565 From: Bill Wohler <wohler at newt.com>
4566 Date: Sun, 17 Oct 2004 13:00:20 -0700
4567
4568 #!/usr/bin/perl -w
4569 #
4570 # Id: mhfinddup 6593 2004-09-02 16:34:24Z wohler 
4571
4572 =head1 NAME
4573
4574 mhfinddup - find duplicate messages
4575
4576 =head1 SYNOPSIS
4577
4578 mhfinddup [options] [folder ...]
4579
4580 =head1 DESCRIPTION
4581
4582 B<mhfinddup> finds and removes duplicate MH messages in the folders listed on
4583 the command line (default: current folder). By default, you deal with
4584 duplicate messages interactively. You can either remove the duplicate, not
4585 remove the duplicate, or view the original and duplicate message before
4586 deciding.
4587
4588 If you use the B<-msgid> option to B<send>, then you probably don't want to
4589 list any F<+outbox> folders if you are using the B<--no-same-folder> option
4590 and you want to preserve your sent messages as well as your messages to
4591 mailing lists.
4592
4593 Note that if you specify one or more folders, or if you use the B<--all>
4594 option, B<mhfinddup> recursively descends the given folders.
4595
4596 =head1 CONTEXT
4597
4598 Context is per B<flist>(1). That is, if F<+folder> is given, it will become
4599 the current folder. If multiple folders are given, the last one specified will
4600 become the current folder.
4601
4602 =head1 OPTIONS
4603
4604 =over 4
4605
4606 =item --all
4607
4608 Look for duplicates in all folders. If any folders are specified, this option
4609 is ignored.
4610
4611 =item --debug
4612
4613 Turn on debugging messages.
4614
4615 =item --help
4616
4617 Display the usage of this command.
4618
4619 =item --list
4620
4621 List duplicated messages.
4622
4623 =item --no-same-folder
4624
4625 Since it is common to use C<refile -link> to file a message in multiple
4626 folders, this script doesn't consider messages in different folders to be
4627 duplicates. Specify this option to list or remove duplicates across folders.
4628
4629 =item --rmm
4630
4631 Remove messages non-interactively. Use with care! For safety, the B<--list>
4632 option takes precedence if specified and is a good option to use before using
4633 B<--rmm>.
4634
4635 =item --version
4636
4637 Display program version.
4638
4639 =back
4640
4641 =head1 RETURN VALUE
4642
4643 Returns 0 if all is well; non-zero otherwise.
4644
4645 =head1 EXAMPLES
4646
4647 =over 0
4648
4649 =item mhfinddup
4650
4651 Interactively remove duplicates from the current folder.
4652
4653 =item mhfinddup --all --list --no-same-folder
4654
4655 List all duplicates regardless if they are in different folders or not.
4656
4657 =item mhfinddup --rmm +lists
4658
4659 Remove all duplicates in F<+lists>, recursively.
4660
4661 =back
4662
4663 =head1 SEE ALSO
4664
4665 B<rmm>(1), B<mhl>(1), B<scan>(1)
4666
4667 =head1 VERSION
4668
4669 Revision: 6593 
4670
4671 =head1 AUTHOR
4672
4673 Bill Wohler <wohler at newt.com>
4674
4675 Copyright (c) 2003 Newt Software. All rights reserved.
4676
4677 This program is free software; you can redistribute it and/or
4678 modify it under the terms of the GNU General Public License
4679 as published by the Free Software Foundation; either version 2
4680 of the License, or (at your option) any later version.
4681
4682 This program is distributed in the hope that it will be useful,
4683 but WITHOUT ANY WARRANTY; without even the implied warranty of
4684 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
4685 GNU General Public License for more details.
4686
4687 You should have received a copy of the GNU General Public License
4688 along with this program; if not, you can find it at
4689 http://www.gnu.org/copyleft/gpl.html or write to the Free Software
4690 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
4691
4692 =head1 METHODS
4693
4694 =cut
4695
4696 # Packages and pragmas.
4697 use Getopt::Long;
4698
4699 use strict;
4700
4701 # Constants.
4702 my $cmd;                                # name by which command called
4703 ($cmd = $0) =~ s|^\./||;                # ...minus the leading ./
4704 my $ver = '6593';                       # program version with CVS noise
4705
4706 # Variables (may be overridden by arguments).
4707 my $all = 0;                            # look in all folders
4708 my $debug = 0;                          # verbose mode
4709 my $help = 0;                           # display usage
4710 my $version = 0;                        # display version
4711 my $list = 0;                           # list duplicates
4712 my $no_same_folder = 0;                 # consider duplicates across folders
4713 my $rmm = 0;                            # remove duplicates without asking
4714
4715 # Constants.
4716 my $mhl = "/usr/lib/mh/mhl";
4717 my $tmp = "/tmp/mhfinddup$$";
4718
4719 # Parse command line.
4720 # The use of the posix_default option is to ensure that folders like +a are
4721 # not confused with --all. I'd really prefer to set prefix_pattern to "(--|-)"
4722 # so that abbreviations of options can be used without being confused with
4723 # folders, but I couldn't make it so.
4724 my %opts;
4725 Getopt::Long::Configure("pass_through", "posix_default");
4726 GetOptions('all'                => \$all,
4727            'debug'              => \$debug,
4728            'help'               => \$help,
4729            'list'               => \$list,
4730            'no-same-folder'     => \$no_same_folder,
4731            'rmm'                => \$rmm,
4732            'version'            => \$version,
4733           ) or usage();
4734
4735 show_version() if ($version);
4736 usage() if ($help || int(@ARGV) != int(map(/^\+/, @ARGV)));
4737
4738 my @folders = expand_folders(@ARGV);
4739 print("Expanded " . join(" ", @ARGV) . " into\n" . join("\n", @folders) . "\n")
4740     if ($debug);
4741
4742 print("Scanning for duplicate messages...\n");
4743 my %msgs;
4744 foreach my $folder (sort @folders) {
4745     print("Scanning $folder...\n") if ($debug);
4746     open (SCAN,
4747           "MHCONTEXT=$tmp scan +$folder -format '%(msg) %{message-id}'|");
4748     while (<SCAN>) {
4749         if (my ($msg, $msgid) = /^(\d+) (<.*>)$/) {
4750             if ($msgs{$msgid}) {
4751                 $msgs{$msgid} =~ m|^\+(.*)/(\d+)$|;
4752                 my($f, $m) = ($1, $2);
4753                 if ($folder eq $f || $no_same_folder) {
4754                     handle_dup($f, $m, $folder, $msg);
4755                 }
4756             } else {
4757                 $msgs{$msgid} = "+$folder/$msg";
4758             }
4759         }
4760     }
4761     close(SCAN);
4762 }
4763
4764 unlink("$tmp");
4765
4766 sub expand_folders {
4767     my @folders = @_;
4768
4769     print("Getting list of folders...");
4770     open(FOLDERS,
4771          "flist -recurse "
4772           . (($all == 1 && @folders == 0) ? "-all" : join(" ", @folders))
4773           . "|")
4774         or die("Could not determine folders\n");
4775     @folders = ();
4776     chomp(my $current_folder = `mhparam Current-Folder`);
4777     $current_folder = quotemeta($current_folder);
4778     while (<FOLDERS>) {
4779         chomp;
4780         my ($folder, $a, $b, $c, $d, $e, $f, $g, $count) = split;
4781         if ($folder =~ /^$current_folder\+$/) {
4782             $folder =~ s/\+$//; # remove current folder indication
4783         }
4784         next if ($count == 0);
4785         push(@folders, $folder);
4786     }
4787     close(FOLDERS);
4788     print("done\n");
4789
4790     return(@folders);
4791 }
4792
4793 sub handle_dup {
4794     my($f1, $m1, $f2, $m2) = @_;
4795
4796     my $ans;
4797
4798  repeat:
4799     print("+$f2/$m2 duplicate of +$f1/$m1");
4800
4801     if ($list) {
4802         print("\n");
4803     } else {
4804         if ($rmm) {
4805             $ans = "y";
4806             print("\n");
4807         } else {
4808             print(", remove? [Yns?] ");
4809             chomp($ans = <STDIN>);
4810         }
4811
4812         if ($ans eq "y" || $ans eq "") {
4813             system("rmm +$f2 $m2");
4814         } elsif ($ans eq "s") {
4815             system("$mhl `mhpath +$f1 $m1` `mhpath +$f2 $m2`");
4816             goto repeat;
4817         } elsif ($ans eq "?") {
4818             print("y, remove message (default)\n" .
4819                   "n, don't remove message\n" .
4820                   "s, show messages\n" .
4821                   "?, show this message\n");
4822             goto repeat;
4823         }
4824     }
4825 }
4826
4827 \f
4828 =head2 usage
4829
4830 Display usage information and exit.
4831
4832 =cut
4833
4834 sub usage {
4835     print <<EOF;
4836 Usage: $cmd [options] [folder ...]
4837 --all                   remove duplicates in all folders
4838 --debug                 print actions that program takes
4839 --help                  display this message
4840 --list                  list duplicates only
4841 --no-same-folder        consider duplicates even if in different folders
4842 --rmm                   remove duplicates without asking
4843 --version               display program version
4844 EOF
4845     exit(1);
4846 }
4847
4848 =head2 show_version
4849
4850 Display version information and exit.
4851
4852 =cut
4853
4854 sub show_version {
4855     print("$cmd version $ver\n".
4856           "Copyright (c) 2003 Bill Wohler <wohler at newt.com>\n\n".
4857           "$cmd comes with ABSOLUTELY NO WARRANTY.\n\n".
4858           "This is free software, and you are welcome\n".
4859           "to redistribute it under certain conditions.\n\n".
4860           "See `http://www.gnu.org/copyleft/gpl.html' for details.\n");
4861     exit(0);
4862 }
4863
4864
4865 Local Variables:
4866 mode: outline
4867 outline-regexp: "^Subject:"
4868 fill-prefix: "  "
4869 End: