Fix missing va_end call in uip/mhmisc.c
[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 From: Philipp Takacs <philipp at bureaucracy.de>
1176 Date: Sun, 25 Oct 2015 15:42:23 +0100
1177
1178   There is other software which support IMAP and MH, like Mutt and
1179   mailsync. mailsync is based on C-client. To use MH you need a
1180   '.mh-profile' in your $HOME with your MH-Path. Here is a example config for a MH
1181   store:
1182
1183   store test {
1184     pat     \#mh/test/*
1185     prefix  \#mh/test/
1186   }
1187    
1188
1189 ------------------------------
1190
1191 Subject: 02.06 Why does "mailgroup mail" only affect inc but not slocal?
1192 From: John Romine <jromine at ics.uci.edu>
1193 Date: Fri, 1 Jan 1993 00:00:00 -0800
1194
1195   If "mailgroup" is set, inc is made set-group-id to this group name.
1196   Some SYS5 systems want this to be set to "mail". Set this if
1197   /usr/spool/mail (or /usr/mail) is not world-writable. These changes
1198   were contributed by Peter Marvit, and "inc" is very careful about
1199   its use of the set-gid privilege.
1200
1201   Note that slocal doesn't know how to deal with this, and will not
1202   work under these systems; just making it set-group-id will open a
1203   security hole (since it doesn't know when to drop the set-gid
1204   privileges). If you're using "mailgroup", you should remove slocal
1205   (and its man page) from your system.
1206
1207   Alternatives to slocal include deliver, procmail, and mailagent.
1208   (See "What mail filters are available?")
1209
1210 ------------------------------
1211
1212 Subject: 02.07 How can I build MH on Solaris 2?
1213 From: Richard Coleman <coleman at math.gatech.edu>
1214 Date: Tue, 20 Jan 1998 02:19:58 -0500
1215
1216   nmh builds out of the box on Solaris.
1217
1218 From: Bill Wohler <wohler at newt.com>
1219 Date: Sun, 8 Sep 1996 15:56:31 -0700
1220
1221   See http://www.gw.com/mail/mh/patches/solaris/ for patches you may need.
1222
1223 From: Neil Rickert <rickert at cs.niu.edu>,
1224         Scott K. Hutton <shutton at habanero.ucs.indiana.edu>,
1225         Casper H.S. Dik <casper at fwi.uva.nl>
1226 Date: Sun, 8 Sep 1996 15:57:25 -0700
1227
1228   First, don't use the BSD compatible stuff. Make sure that the Sun or
1229   GNU compiler appear before the BSD compiler in your PATH (e.g.,
1230   /usr/ccs/bin).
1231
1232   Second, don't use GNU make. Make sure that the Sun make appears
1233   before the GNU make in your PATH.
1234
1235   Use conf/examples/solaris2.sun.com and fix the paths, if necessary.
1236   Optionally change the following to use the GNU compiler, to perform
1237   optimization, and to create shared libraries.
1238
1239     cc              gcc
1240     ccoptions       -O -g -msupersparc
1241     slflags         -shared
1242
1243   Fix mhn.c with the diff in
1244
1245     http://www.gw.com/mail/mh/patches/solaris/si_value_2.3.
1246
1247   Optionally incorporate the Content-Length header fix. (See "How can
1248   I get MH to interpret the Content-Length field?")
1249
1250   Linking with /usr/ucblib/libucb.so is incompatible with including
1251   <dirent.h>.
1252
1253   When compiling, you can ignore the following warning:
1254
1255     fmtcompile.c, line 238: warning: semantics of "/" change in ANSI C;
1256     use explicit cast
1257
1258   If you're using AFS, you'll have to replace any occurrence of "ln"
1259   with "ln -s" wherever the make dies when it tries to make a link "on
1260   a different file system."
1261
1262   See also ftp://ftp.fwi.uva.nl/pub/solaris/solaris2.faq.
1263
1264 Date: Thu, 1 Dec 1994 00:00:00 -0800
1265
1266   Unset LD_LIBRARY_PATH.
1267
1268 From: Gary Strand <strandwg at ncar.ucar.edu>
1269 Date: Mon, 1 May 1995 00:00:00 -0800
1270
1271   To cure slocal's Segmentation Fault problems, I decided to try 'cc'
1272   instead of 'gcc' (an alleged no-no under Solaris) and MH built just
1273   fine, and it's working perfectly.
1274
1275 From: "Jason R. Mastaler" <jason at Mastaler.COM>
1276 Date: Mon, 25 Sep 1995 17:35:13 -0400
1277
1278   Don't use "ldoptions -s" with gcc. It may cause the compile to fail
1279   with:
1280
1281     gcc: Internal compiler error: program ld got fatal signal 11
1282     *** Error code 1
1283
1284 From: "Jeffrey T. Eaton" <jeaton at galt.com>
1285 Date: Fri, 04 Apr 1997 15:30:36 GMT
1286
1287   Fixed [DBM_PAGFNO_NOT_AVAILABLE error] by getting the latest gdbm
1288   package, compiling and installing it and the dbm/ndbm compatability
1289   stuff, and moving Sun's broken ndbm.h out of /usr/include.
1290
1291   To fix "../sbr/libmh.so: undefined reference to
1292   `__builtin_va_arg_incr'", add "option __BUILTIN_VA_ARG_INCR" to your
1293   MH configuration.
1294
1295 ------------------------------
1296
1297 Subject: 02.08 How can I build MH on Linux?
1298 From: Richard Coleman <coleman at math.gatech.edu>
1299 Date: Tue, 20 Jan 1998 02:19:58 -0500
1300
1301   nmh should build out of the box for most Linux systems.
1302
1303 From: Bill Wohler <wohler at newt.com>
1304 Date: Tue, 9 Feb 1999 23:04:53 -0800
1305
1306   The Debian distribution of Linux comes with an MH and nmh packages.
1307   See
1308
1309     http://www.debian.org/.
1310
1311   See also http://www.gw.com/mail/mh/patches/linux/.
1312
1313 From: "James A. Robinson" <jimr at simons-rock.edu>
1314 Date: 17 Apr 96 20:39:02 GMT
1315
1316   Somebody on Debian ported it to Linux ELF. Look on
1317   ftp://ftp.debian.org/debian/stable/binary/mail/mh_6.8.4-13.deb for
1318   the .deb package of MH (it's a compressed tar file). The source is
1319   in ftp://ftp.debian.org/debian/stable/source/mail/mh_6.8.4-orig.tar.gz
1320   and mh_6.8.4-13.diff.gz.
1321
1322 From: Brian Kirouac <bri at psa.pencom.com>
1323 Date: 18 Apr 96 14:00:20 GMT
1324
1325   If you are running Redhat and have rpm available you can also use
1326   ftp://???/pub/redhat-3.0.3/i386/RedHat/RPMS/mh-6.8.3-5.i386.rpm. The
1327   source code is in
1328   ftp://???/pub/redhat-3.0.3/i386/SRPMS/mh-6.8.3-5.i386.rpm
1329
1330 From: "Brandon S. Allbery" <bsa at kf8nh.wariat.org>
1331 Date: Sun, 26 Nov 1995 16:18:50 -0800
1332
1333   The current patch is the first one listed below. The old patch only
1334   works with libc-4.4, which is no longer used. The current patch is
1335   split into two pieces, as with the previous patch, but now the
1336   divisions are purely functional: the first diff enables MH to
1337   compile, the second allows creation of a shared library. [The paths
1338   are up to date, but I think the info in this paragraph is old. --Ed]
1339
1340   Recent versions of GNU make choke on MH's makefiles. Unfortunately,
1341   the shared library patches depend on "export". If you have problems
1342   building MH, remove the "export" lines from all of the makefiles (if
1343   you applied the shared library patches) and try using BSD pmake
1344   instead.
1345
1346   If you don't want to compile MH, the second file contains
1347   pre-compiled ready-to-run binaries which can simply be extracted in
1348   the root directory.
1349
1350     ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/mh-6.8.3-diffs.tar.gz
1351     ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/mh-6.8.3-bin.tar.gz
1352
1353   The sizes are 650k and 22k respectively.
1354
1355   Note that these files are occasionally "cleaned up" by accident so
1356   please let me know if they are missing.
1357
1358 ------------------------------
1359
1360 Subject: 02.09 How can I build MH on IRIX?
1361 From: Richard Coleman <coleman at math.gatech.edu>
1362 Date: Tue, 20 Jan 1998 02:19:58 -0500
1363
1364   nmh should build out of the box for Irix.
1365
1366 From: Bill Wohler <wohler at newt.com>
1367 Date: Sun, 8 Sep 1996 15:33:22 -0700
1368
1369   See http://www.gw.com/mail/mh/patches/sgi/ for patches you may need.
1370
1371 From: Arne K. Frick <frick at info.uni-karlsruhe.de>
1372 Date: 06 Jun 1995 18:30:01 GMT
1373
1374   There is a file at viz.tamu.edu:/pub/sgi (see FAQ) containing a diff
1375   and sample configuration. If you cannot locate it, I can mail it to
1376   you. Note, however, that I had tremendous difficulties with them
1377   under 5.3:
1378
1379   1. Be sure to use /bin/make, NOT GNU make.
1380   2. patch vomits over the diff.  You can get around this by increasing the
1381      "fuzz factor" to 4.
1382   3. The Makefile target for the shared library doesn't work.  I had to do it
1383      by hand.
1384
1385   But I'm stuck compiling mhn.c.
1386
1387 From: Shankar Unni <shankar at sgi.com>
1388 Date: 9 Jun 1995 01:53:48 GMT
1389
1390   The fix for compiling mhn.c is in
1391
1392     http://www.gw.com/mail/mh/patches/solaris/si_value_2.3.
1393
1394 From: Jack Repenning <jackr at informix.com>
1395 Date: 25 Jul 1995 02:35:41 GMT
1396
1397   (See "IRIX config file") below.
1398
1399 ------------------------------
1400
1401 Subject: 02.10 How can I get MH to interpret the Content-Length field?
1402 From: Casper H.S. Dik <Casper.Dik at Holland.Sun.COM>
1403 Date: Sun, 8 Sep 1996 15:38:30 -0700
1404
1405   Apply http://www.gw.com/mail/mh/patches/solaris/content_length to
1406   your MH distribution and add the configuration option
1407   "CONTENT_LENGTH". It also includes the si_ fix in
1408
1409     http://www.gw.com/mail/mh/patches/solaris/si_value_2.3
1410
1411 ------------------------------
1412
1413 Subject: 02.11 How can I build MH on HP-UX?
1414 From: Bill Wohler <wohler at newt.com>
1415 Date: Sun, 8 Sep 1996 15:50:54 -0700
1416
1417   If you find that your zotnet/tws directory isn't compiling, upgrade
1418   your MH (see "What is the current version/status of MH?") which
1419   includes fixes to lexedit.sed.
1420
1421   See http://www.gw.com/mail/mh/patches/hp/ for for patches you may need.
1422
1423 ------------------------------
1424
1425 Subject: 02.12 Can I prevent adding the local hostname to addresses behind firewalls?
1426
1427 From: Ted Remillard <tedr at hood.sd.com>
1428 Date: 24 Jun 1996 08:53:42 -0700
1429
1430   You can get MH to stop managing the headers and let the email server
1431   to do it. To do this, build MH with the options DUMB and REALLYDUMB.
1432   In the $MHLIB/mts.conf (mtstailor) file, set the server option to
1433   the IP address of the email server. After this is done, MH sends
1434   email directly to the email server and Local email To: and From:
1435   fields just have the user's simple email address, e.g., <fred>, and
1436   the remote email From: header will contain user@domainname, e.g.,
1437   <fred@sd.com>.
1438
1439   Don't forget to define the REALLYDUMB option in the file
1440   sbr/addrsbr.c described below.
1441
1442 From: Bret Rothenberg <bretr at endeavour.exar.com>
1443 Date: Tue, 23 Jan 1996 12:25:24 -0800 (PST)
1444
1445   Yes, use the "localname" parameter in "$MHLIB/mts.conf" (mtstailor)
1446   to specify the desired hostname.
1447
1448 From: Ken Hornstein <kenh at cmf.nrl.navy.mil>
1449 Date: 18 Aug 1995 23:51:48 -0400
1450
1451   If you're behind a firewall and sendmail gives you fits because MH
1452   adds the node name or site name to each address in the To: and CC:
1453   fields, you'll need to modify the MH source.
1454
1455   The relevant source has to do with the REALLYDUMB option in
1456   sbr/addrsbr.c. Essentially what you need to do is set it up so
1457   REALLYDUMB is turned on (normally, it's turned off if you have MMDF
1458   or SMTP turned on). This will do what you want. I did this at our
1459   site, and it's been working great. The stuff for REALLYDUMB starts
1460   around line 613.
1461
1462 ------------------------------
1463
1464 Subject: 02.13 Is there a patch to fix this or that?
1465 From: Kimmo Suominen <kim at tac.nyc.ny.us>
1466 Date: Sat, 3 Mar 2001 13:40:35 -0800
1467
1468   The MH Patch Archive has been opened at
1469
1470     http://www.gw.com/mail/mh/patches/
1471
1472   It is a collection of patches to MH (the RAND MH Message Handling
1473   System), a set of electronic mail programs in the public domain.
1474   Since the last complete release of MH (version 6.8.3) UNIX systems
1475   have evolved making changes in the MH code necessary. Several new
1476   UNIX systems have emerged requiring new configuration templates and
1477   examples. This archive tries to collect all these fixes and
1478   enhancements that in the past have been available only through
1479   word-of-mouth and occasional reposts to newsgroups or mailing lists.
1480
1481   The initial archive layout and the very time consuming collecting
1482   and categorizing of patches has been done by Jerry Peek.
1483
1484   I will be the primary maintainer of the archive. Even though I will
1485   be monitoring several sources for new material (mainly the
1486   comp.mail.mh newsgroup but also the mailing lists <mh-workers at
1487   ics.uci.edu>, <mh-e-users at lists.sourceforge.net> and
1488   <exmh-workers at redhat.com>), I'd like to encourage everyone to
1489   submit patches also directly to the archive at <mh-archive at
1490   gw.com>.
1491
1492 ------------------------------
1493
1494 Subject: 02.14 How can I build MH on OS/2?
1495 From: Sanjay Aiyagari <sanjay at sandbox.snetnsa.com>
1496 Date: 21 Nov 1996 19:37:10 GMT
1497
1498     ftp://ftp.jaist.ac.jp/pub/os/os2/network/MH/
1499
1500 ------------------------------
1501
1502 Subject: 02.15 Do any POP/IMAP servers handle MH format?
1503 From: "Carl S. Gutekunst" <csg at eng.sun.com>
1504 Date: 27 May 1997 07:24:34 GMT
1505
1506   The University of Washington POP3 and IMAP servers can be backended
1507   by a variety of stores, including MH. This is the basis for
1508   Netscape's store, curiously enough. I haven't looked closely at how
1509   Mark Crispin implemented support for the new IMAP4 features when
1510   using an MH backend; it seems like there is a lot of computation
1511   when opening a folder for the first time, writing in the UID fields
1512   and such. But it basically appears to work.
1513
1514 From: Lyndon Nerenberg <lyndon at MessagingDirect.COM>
1515 Date: 27 Jul 1999 11:36:25 -0600
1516
1517   But [the UW IMAP server] can't delete/expunge from MH folders. (At
1518   least I've never been able to get it to work, and I've tried just
1519   about everything.) #mh in UW imapd isn't something I'd recommend to
1520   any serious MH user.
1521
1522 From: Mark Crispin <mrc at CAC.Washington.EDU>
1523 Date: Tue, 27 Jul 1999 14:43:25 -0700
1524
1525   > But it can't delete/expunge from MH folders.
1526
1527   That's a very old version. delete/expunge has been in imap-4.x for a
1528   long while. However, there's no sticky flags.
1529
1530   > #mh in UW imapd isn't something I'd recommend to any serious MH user.
1531
1532   The converse is also true. The two don't play ball very well.
1533
1534 From: Dieter Weber <dieter at Compatible.COM>
1535 Date: 11 Feb 2003 04:23:38 -0800
1536
1537   The UW imap server supports MH folders. In order to see the MH
1538   mailboxes, you need to "subscribe" to the folders or add them to the
1539   .mailboxlist file in your home directory.
1540
1541 ------------------------------
1542
1543 Subject: 02.16 How can I build MH on Windows?
1544 From: Satyaki Das <satyaki at theforce.stanford.edu>
1545 Date: Wed, 19 Jun 2002 20:57:19 -0700
1546
1547   I have gotten MH-E to work on Windows (under Cygwin) using Earl
1548   Hood's patched nmh. It was really quite simple, but not very
1549   portable. I just needed to add/subtract "c:/cygwin" from a couple of
1550   places. Now it can read and send mail (even does PGP attachments).
1551   Thought this might be of interest to those of you stuck using
1552   Windows at work.
1553
1554 From: Earl Hood <ehood at earlhood.com>
1555 Date: Sat, 08 Jun 2002 20:30:44 GMT
1556
1557   I've made a tar/bz2 bundle available at
1558
1559     <http://www.nacs.uci.edu/indiv/ehood/tmp/nmh-1.0.4-ehood-cygwin.tar.bz2>
1560
1561   This includes the patched source with binaries pre-built.
1562
1563   I just remembered that I also had to hack the makefiles to get
1564   things to install since windoze executables have to end with .exe. I
1565   hacked the generated makefiles, so if you rerun configure, you may
1566   lose the hacks. Also, I believe the install will fail when trying to
1567   install the documentation, so to force things do:
1568
1569     make -i install
1570
1571   The binaries and support files should get installed (under
1572   /usr/local/nmh), but the docs probably won't.
1573
1574   Then you will need to edit /usr/local/nmh/etc/mts.conf to reflect
1575   your local configuration.
1576
1577   If anyone has any problems installing, I could zip up my
1578   /usr/local/nmh since I think it contains everything needed for
1579   runtime usage.
1580
1581 From: Bill Goffe <goffe at oswego.edu>
1582 Date: 25 May 1999 18:13:55 GMT
1583
1584   If you have Windows, consider looking at VMware
1585
1586     http://www.vmware.com/
1587
1588   which provides a virtual machine where you can run Unix and
1589   therefore MH under Windows.
1590
1591 From: Ted Nolan <ted at ags.ga.erg.sri.com>
1592 Date: 24 May 99 17:20:27 GMT
1593
1594   The latest Cygnus Cygwin, GNU tools that run under Windows,
1595
1596     http://www.cygwin.com/
1597
1598   seems to work pretty well and may well be able to build nmh.
1599
1600 ------------------------------
1601
1602 Subject: !02.17 How can I build MH on a Mac?
1603 From: Dr Eberhard W Lisse <el at lisse.na>
1604 Date: Sun, 05 Jun 2005 13:43:19 +0100
1605
1606   nmh compiles on the G4 iBook running Mac OS X 10.3.7 more or less
1607   out of the box with the powerpc HOST option. Use make all install.
1608
1609   Use fink to install the nmh package on Max OS X 10.3.9 (and 10.4.1).
1610
1611   metamail does not work out of the box. However,
1612   metamail-2.7.19-1030.src.rpm (SuSE) which compiles and installs
1613   cleanly.
1614
1615   For exmh, first use fink to install the tcltk package. Then use fink
1616   to install exmh.
1617
1618 ------------------------------
1619
1620 Subject: 03.00 ***** Scanning & Reading *****
1621 From: Bill Wohler <wohler at newt.com>
1622 Date: Fri, 1 Mar 1991 13:03:15 -0800
1623
1624 ------------------------------
1625
1626 Subject: 03.01 What do I do if scan shows the wrong date?
1627 From: Bill Wohler <wohler at newt.com>
1628 Date: Fri, 1 Jan 1993 00:00:00 -0800
1629
1630   Upgrade to MH 6.8 or nmh.
1631
1632 From: Darryl Okahata <darrylo at sr.hp.com>
1633 Date: 19 Jan 2000 23:01:10 -0800
1634
1635   MH 6.8.3 and nmh 1.0 still have a minor buglet where sortm doesn't
1636   always sort messages properly. If a (questionable) mail client sends
1637   messages with 2-digit years, like:
1638
1639     Date: Sat, 23 Oct 09 22:02:01 EST
1640
1641   or sends out buggy dates like (as buggy versions of Elm do):
1642
1643     Date: Sat, 23 Oct 100 22:02:01 EST
1644
1645   then sortm will not sort these messages properly.
1646
1647   I have submitted patches to nmh-workers.
1648
1649 ------------------------------
1650
1651 Subject: 03.02 How would one go about reading Usenet with MH?
1652 From: Bill Wohler <wohler at newt.com>
1653 Date: Sun, 26 Nov 1995 12:32:09 -0800
1654
1655   You can post via mail. Send your article to <mail2news at
1656   news.demon.co.uk> with a legitimate Newsgroups field.
1657
1658 From: Jerry Peek <jpeek at jpeek.com>
1659 Date: Tue, 1 Nov 1994 00:00:00 -0800
1660
1661   You can save articles in the news readers for later perusal with MH.
1662
1663   First, create a symbolic link from your mail directory (e.g.,
1664   usenet) to your news directory (e.g., "ln -s ~/News ~/Mail/usenet").
1665   You can then treat your news directory as a mail folder. Thus, to
1666   select a news group, use "folder +usenet/comp/mail/mh".
1667
1668   To set the default save location correctly in rn, use:
1669
1670     rn -M -/
1671
1672   or in your nn presentation sequence:
1673
1674     news.announce.              +$F/$N
1675     comp.mail.mh                +
1676     .
1677     .
1678
1679   If there's news spooled on your machine (that is, not via NNTP) then
1680   you can read a newsgroup with commands like:
1681
1682     show first +/usr/spool/news/comp/mail/mh
1683     next
1684     ...
1685
1686   You can also use sequences to keep track of what you've read. MH
1687   will automatically set a "cur" sequence in each newsgroup you read
1688   that way. So, to continue reading the newsgroup sometime later,
1689   after you've read some other folder, you can do:
1690
1691     next +/usr/spool/news/comp/mail/mh
1692
1693   and you'll read the next (new) article (if any) in that newsgroup.
1694
1695   Note that this can eventually make your private context file pretty
1696   huge; if there's a group you don't read often, you can remove its
1697   context entries with a command like:
1698
1699     rmf +/usr/spool/news/comp/mail/mh
1700
1701   Don't try that on a folder full of mail (a folder that isn't
1702   read-only), though... in that case, it'll remove all the messages!
1703
1704   I haven't looked into posting. It seems like it shouldn't be hard.
1705   You could set up a "sendproc" that would look at outgoing email
1706   messages. If the message had a Newsgroups: header field, your
1707   sendproc could call inews(1) instead of post(8). I haven't seen much
1708   in the MH manpages or documentation about sendprocs (though I
1709   haven't looked for a couple of years...). See the "mysend" script in
1710   the MH book section 7.1.4 (13.13), or the URL:
1711
1712     http://rand-mh.sourceforge.net/book/mh/senove.html#ASAtDm
1713
1714   A threaded news reader like trn or tin is so much nicer, though,
1715   that reading news with MH may not be worth the hassle.
1716
1717   See also MH book section 9.9 (8.7), or the URL:
1718
1719     http://rand-mh.sourceforge.net/book/mh/shafol.html
1720
1721 From: Stephen Gildea <gildea at stop.mail-abuse.org>
1722 Date: Fri, 1 Mar 1991 13:03:15 -0800
1723
1724   Although news readers are better, if one really wants to use MH, bbc
1725   will do the job. For example, "bbc comp.mail.mh" reads this
1726   newsgroup. To enable bbc, you have to specify "bboards" when you
1727   build MH.
1728
1729 From: Kimmo Suominen <kim at tac.nyc.ny.us>
1730 Date: 15 Aug 1996 18:18:10 GMT
1731
1732   Sendmail v8 comes with MAILER(pop) which was written for the MH
1733   spop. Since I use bboards with NNTP, I never looked at the bboards
1734   setup.
1735
1736 Date: Tue, 1 Nov 1994 00:00:00 -0800
1737
1738   See mhunify in (see also "What other MH software is available?").
1739
1740 ------------------------------
1741
1742 Subject: 03.03 How can I search through multiple folders?
1743 From: Jerry Peek <jpeek at jpeek.com>
1744 Date: Mon, 1 Mar 1993 00:00:00 -0800
1745
1746   Recurse through the folders (in csh and sh):
1747
1748   % foreach f (`folders -f`)            $ for f in `folders -f`
1749   ? pick [switches] +$f                 > pick [switches] +$f
1750   ? end                                 > done
1751
1752   Or create a folder that contains links to all messages (in csh and sh):
1753
1754     % foreach f (`folders -f | grep -v -x ln`)
1755     ? refile -src +$f -link all +ln
1756     ? end
1757
1758     $ for f in `folders -f | grep -v -x ln`
1759     > do refile -src +$f -link all +ln
1760     > done
1761
1762   and in the future, refile messages with "refile +folder +ln". To
1763   find something, use:
1764
1765     % pick [switches] +ln
1766
1767   See MH book sections 8.2.9 (7.2.9), 8.9.3 (7.8.3), or the URLs:
1768
1769     http://rand-mh.sourceforge.net/book/mh/finpic.html#SeMTOnFo
1770     http://rand-mh.sourceforge.net/book/mh/usilin.html#AFoFuoLi
1771
1772 ------------------------------
1773
1774 Subject: 03.04 Why don't MH format commands such as %(friendly) work?
1775 From: Anthony Baxter <anthony at aaii.oz.au>
1776 Date: Sun, 1 May 1994 00:00:00 -0800
1777
1778   The BERK option disables address parsing and therefore functions
1779   such as %(friendly). Recompile MH without the BERK option.
1780
1781 ------------------------------
1782
1783 Subject: 03.05 Why doesn't "show" display all of a MIME message?
1784 From: Jerry Peek <jpeek at jpeek.com>
1785 Date: Mon, 1 Aug 1994 00:00:00 -0800
1786
1787   It's not the fault of the "show" command or of MH in general. It's
1788   your system's configuration. Check the $MHLIB/mhn.defaults
1789   (mhn_defaults) file; if it doesn't have defaults for all content
1790   types, add them. Or, if you can't (or shouldn't) change mhn.defaults
1791   (mhn_defaults), you can put default entries in your MH profile file
1792   for those content types.
1793
1794   Here's the part of the mhshow(1) (mhn(1)) manpage that explains how
1795   content types are handled. The example is for mhshow, but if you're
1796   using mhn, you'd replace mhshow with mhn:
1797
1798     First, mhshow will look for an entry of the form:
1799
1800       mhshow-show-<type>/<subtype>
1801
1802     to determine the command to use to display the content. If this
1803     isn't found, mhshow will look for an entry of the form:
1804
1805       mhshow-show-<type>
1806
1807     to determine the display command. If this isn't found, mhshow has
1808     two default values:
1809
1810       mhshow-show-text/plain: %pmoreproc '%F'
1811       mhshow-show-message/rfc822: %pshow -file '%F'
1812
1813     If neither apply, mhshow will check to see if the message has a
1814     application/octet-stream content with parameter "type=tar". If so,
1815     mhshow will use an appropriate command. If not, mhshow will
1816     complain.
1817
1818   So, add defaults that cover the types MH doesn't handle right now
1819   (or doesn't handle the way you want it to). Your defaults will
1820   override corresponding defaults in the $MHLIB/mhn.defaults
1821   (mhn_defaults) file. For example, if you don't have an HTML
1822   editor/browser on your system, you could tell MH to use the "less"
1823   paginator for HTML message parts:
1824
1825     mhshow-show-text/x-html: less %F
1826
1827   You can put that line in your MH profile.
1828
1829   You can even set different defaults for different terminal types
1830   (say, your VT100 at home and your X setup at work). Make a file in
1831   the same format as mhn.defaults (mhn_defaults); store its pathname
1832   in the MHSHOW (MHN) environment variable. Add a test to your shell
1833   setup file (.bash_profile, .profile, .login) that tests the value of
1834   the TERM variable -- and, if you have an mhshow (mhn) setup file for
1835   that terminal type, store its pathname in the MHSHOW (MHN) variable.
1836
1837   See also MH book sections 6.2.3, 9.4.4, 9.4.5, or the URLs:
1838
1839     http://rand-mh.sourceforge.net/book/mh/remime.html#HomhShMe
1840     http://rand-mh.sourceforge.net/book/mh/confmhn.html#ShComhsh
1841     http://rand-mh.sourceforge.net/book/mh/confmhn.html#DiOChSmc
1842
1843 From: Michael K. Neylon <mneylon at engin.umich.edu>
1844 Date: Tue, 1 Nov 1994 00:00:00 -0800
1845
1846   If you are not using the X Window System, you may have to add this
1847   line to your MH profile:
1848
1849     mhshow-charset-iso-8859-1: /bin/sh -c '%s'                  # nmh
1850     mhn-charset-iso-8859-1: /bin/sh -c '%s'                     # MH
1851
1852 ------------------------------
1853
1854 Subject: 03.06 Can I get show not to run "less" so much on MIME messages?
1855 From: Richard Coleman <coleman at math.gatech.edu>
1856 Date: Tue, 20 Jan 1998 02:19:58 -0500
1857
1858   On nmh, you can do this just by "show -nocheckmime". This will
1859   disable the detection of MIME messages.
1860
1861 From: Bill Wohler <wohler at newt.com>
1862 Date: Tue, 1 Nov 1994 00:00:00 -0800
1863
1864   If you say, "show all," and one of the messages was a MIME message,
1865   your pager will be run several times on each message, rather than
1866   once on all the messages as a whole. If you find this annoying, set
1867   the environment variable NOMHNPROC:
1868
1869     % setenv NOMHNPROC ""                       # csh
1870     $ NOMHNPROC=                                # sh and bash
1871     $ export NOMHNPROC
1872
1873   See also MH book sections 6.2.3, 6.2.10, or the URLs:
1874
1875     http://rand-mh.sourceforge.net/book/mh/remime.html#HomhShMe
1876     http://rand-mh.sourceforge.net/book/mh/remime.html#Alttomhn
1877
1878 ------------------------------
1879
1880 Subject: 03.07 Why do I get "mhn: don't know how to display content"?
1881 From: Richard Coleman <coleman at math.gatech.edu>
1882 Date: Tue, 20 Jan 1998 02:19:58 -0500
1883
1884   This has already been fixed in nmh.
1885
1886 From: Keith Moore <moore at cs.utk.edu>
1887 Date: Sun, 8 Sep 1996 15:49:50 -0700
1888
1889   MH 6.8.3 has a bug where it will not handle multipart/foo correctly
1890   if it doesn't know about foo. The patch:
1891
1892     http://www.gw.com/mail/mh/patches/all/mhn_multipart
1893
1894   tells it to treat such things as if they were multipart/mixed.
1895
1896   (See also "Why doesn't "show" display all of a MIME message?").
1897
1898 ------------------------------
1899
1900 Subject: 03.08 How can I automatically delete MH backup files?
1901 From: mccammaa at expt05.stp.xfi.bp.com (Andy McCammont)
1902 Date: 22 May 1995 06:27:36 -0400
1903
1904   On System V system, add this to your crontab. If you don't have one,
1905   put this in a file, and run "crontab file". If your system does not
1906   support personal crontab files, get your system administrator to add
1907   an equivalent line to the system crontab file or daily clean-up
1908   script. Note that some administrators set the prefix character to
1909   '#'.
1910
1911     # Remove old MH files
1912     5 5 * * * find /PATH/TO/HOME/Mail -name ",*" -mtime +5 -exec rm {} \;
1913
1914 ------------------------------
1915
1916 Subject: 03.09 Fixing "cannot fopen and lock /var/spool/mail/(user)"
1917 From: Patrick.Wambacq at esat.kuleuven.ac.be
1918 Date: Mon, 30 Sep 96 15:00:16 +0200
1919
1920   One should put the following lines in the $MHLIB/mts.conf
1921   (mtstailor) file:
1922
1923     lockldir:
1924     lockstyle: 1
1925
1926   This prevents MH from using kernel level locking, and uses lock
1927   files instead. It solved the problem for me on two different
1928   architectures. When the lockldir entry is left empty as above, the
1929   lock file is put in the same directory as the file to be locked. If
1930   another directory is wanted, its name should be put here.
1931
1932 From: alhy at MAILBOX.SLAC.Stanford.EDU
1933 Date: Mon, 9 Sep 1996 01:01:16 -0700
1934
1935   Often, this is caused by an NFS file lock. Don't ask me how it got
1936   there in the first place. To remove the file lock, do the following:
1937
1938     # cd /var/spool/mail
1939     # cp user /tmp/user.tmp; rm user    # save mail; remove locked file
1940     # chown user /tmp/user.tmp          # allow user to inc old mail
1941     # su - user
1942     user% inc -file user.tmp            # incorporate user's old mail
1943
1944   Any mail that you receive in the fraction of a second that the
1945   second set of commands takes will be lost.
1946
1947   (See also "Why does inc hang (on Sun)?")
1948
1949 ------------------------------
1950
1951 Subject: 03.10 Can I read my mail with a Web browser?
1952 From: Jerry Heyman <jerry@fourwinds.cx>
1953 Date: Sat, 09 Oct 2004 12:41:03 -0400
1954
1955   See http://www.squirrelmail.org/
1956
1957     SquirrelMail is a standards-based webmail package written in PHP4.
1958     It includes built-in pure PHP support for the IMAP and SMTP
1959     protocols, and all pages render in pure HTML 4.0 (with no
1960     JavaScript required) for maximum compatibility across browsers. It
1961     has very few requirements and is very easy to configure and
1962     install. SquirrelMail has all the functionality you would want
1963     from an email client, including strong MIME support, address
1964     books, and folder manipulation.
1965
1966   No MH support. Unless you're willing to write it...
1967
1968 From: J C Lawrence <claw at kanga.nu>
1969 Date: Wed, 10 Dec 2003 09:54:15 -0500
1970
1971   UW-imap can read MH folders although it doesn't maintain sequence
1972   files properly. Drop any of the IMAP web front ends in front of
1973   that.
1974
1975 From: aeriksson at fastmail.fm
1976 Date: Wed, 10 Dec 2003 22:36:52 +0100
1977
1978   Have a peek at http://wmh.sf.net/. It's been a while since I worked
1979   on it, but it does give me what I need.
1980
1981 Date: Mon, 05 Oct 1998 11:02:52 -0500
1982 From: Kent Landfield <kent at nfr.net>
1983
1984   Hypermail now supports MIME and alternate mailbox formats and sorts
1985   by author, date, and thread and can be read by a WWW reader.
1986
1987     http://www.landfield.com/hypermail/
1988
1989 From: "Patrick A. Coronato" <coronato at me216.teb.allied.com>
1990 Date: 8 Sep 1995 16:36:03 GMT
1991
1992   MHonArc, by Earl Hood from Convex, will read MH mailboxes as well as
1993   Unix mailboxes, create HTML "archives" and will also sort by date,
1994   thread and author and has support for MIME. Also, MHonArc is written
1995   in the Perl language. (You should go to this site if nothing more
1996   than to see the cool logo!)
1997
1998     http://www.mhonarc.org/
1999
2000 ------------------------------
2001
2002 Subject: 03.11 How can I run inc automatically with POP?
2003 From: Bill Wohler <wohler at newt.com>
2004 Date: Mon, 27 Nov 1995 12:23:51 -0800
2005
2006   If MH has been compiled with RPOP, then the POP server host either
2007   needs to have your host in /etc/hosts.equiv or in your .rhosts file.
2008   Then add to your MH profile:
2009
2010     inc: -host cuckoo
2011
2012   given that "cuckoo" is the name of the your POP server.
2013
2014 From: Andy Norman <ange at hplb.hpl.hp.com>
2015 Date: Mon, 1 May 1995 00:00:00 -0800
2016
2017   Assuming your POP server is called cuckoo, add an entry to your MH
2018   profile for 'inc' like so:
2019
2020     inc: -noaudit -norpop -noapop -host cuckoo
2021
2022   Add the following to ~/.netrc and ensure it is readable only by you
2023   (e.g., chmod 600 .netrc):
2024
2025     machine cuckoo.domain.name login joeuser password secret
2026
2027   Replace the hostname, login and password with your own, of course.
2028   The hostname probably has to be fully qualified (i.e., include the
2029   full domain name). This example assumes that you can send mail by
2030   other means (e.g., with SMTP).
2031
2032 ------------------------------
2033
2034 Subject: 03.12 Why does inc hang (on Sun)?
2035 From: ericding at mit.edu (Eric J. Ding)
2036 Date: 30 Apr 1996 00:22:01 -0400
2037
2038   This may be due to a non-robust implementation of lockf() over NFS.
2039   Try setting lockstyle to 1 in the $MHLIB/mts.conf (mtstailor) file
2040   so that MH uses dotfile locking rather than FLOCK or LOCKF.
2041
2042 ------------------------------
2043
2044 Subject: 03.13 How can I get POP to work?
2045 From: Jonathan George <jmg at hpopd.pwd.hp.com>
2046 Date: Tue, 23 Apr 1996 10:23:16 GMT
2047
2048   If you get the error:
2049
2050     inc: -ERR Unknown command: "rpop"
2051
2052   you're trying to use "rpop" as the mechanism to authenticate the
2053   user. This mechanism is specified in RFC 1225 and then removed by
2054   RFC 1460.
2055
2056   Your POP server is (rightly) rejecting this.
2057
2058   The POP specification (RFC 1939) states that authentication is done
2059   either via a USER/PASS pair or via the APOP command.
2060
2061   Try running inc with -noapop -norpop flags.
2062
2063 ------------------------------
2064
2065 Subject: 03.14 How do I persuade mhshow (mhn) not to bring up a new window?
2066 From: Joel Reicher <joel at panacea.null.org>
2067 Date: Tue, 13 Nov 2001 16:49:04 +1100
2068
2069   I personally think [the solution below] is not the right solution.
2070   There's a reason that new window is opened--to ensure the correct
2071   characters are available. The "right" solution is surely to set the
2072   MM_CHARSET env var to iso-8859-1 and make the appropriate
2073   adjustments to the pager (in the case of less, setting
2074   LESSCHARSET=latin1).
2075
2076 From: Larry Daffner <ldaffner at convex.com>
2077 Date: 27 Mar 1996 16:53:39 -0600
2078
2079   Add one of the following to your .mh_profile:
2080
2081      mhshow-charset-iso-8859-1: %s                              # nmh
2082      mhn-charset-iso-8859-1: %s                                 # MH
2083
2084 ------------------------------
2085
2086 Subject: 03.15 How do I turn off of all the mhshow (mhn) prompts?
2087 From: Bill Wohler <wohler at newt.com>
2088 Date: Sun, 11 Mar 2001 11:33:10 -0800
2089
2090   In nmh, use mhshow -nopause.
2091
2092 From: Larry Daffner <ldaffner at convex.com>
2093 Date: 27 Mar 1996 16:53:39 -0600
2094
2095   The "part xxx" message is controlled by the -list switch to mhn so
2096   add "mhn: -nolist" to your .mh_profile. To remove the pause, add an
2097   entry for "mhn-show-text/plain: more '%F'" to override the default
2098   which includes the "%p" escape. All of this is covered in the mhn
2099   man page (sort of--you need to add 2+2). It's a bit long, but well
2100   worth reading.
2101
2102 ------------------------------
2103
2104 Subject: 03.16 Why is inc splitting messages improperly?
2105 From: Mayank Choudhary <micky at eng.sun.com>
2106 Date: Mon, 29 Apr 1996 09:39:29 -0700
2107
2108   MH considers "From " lines as message separators, so if this string
2109   is found within the body, inc splits the message.
2110
2111   Add the following line to your .forward
2112
2113     "|/usr/bin/mailcompat <user-name>"
2114
2115   where user-name is your login-id.
2116
2117   See mailcompat(1) for more information.
2118
2119 ------------------------------
2120
2121 Subject: 03.17 Can MH thread messages?
2122 From: "John W. Coomes" <jcoomes at delirius.cs.uiuc.edu>
2123 Date: 30 Apr 1997 13:02:10 -0500
2124
2125   Sort of. You can resort your folders by Subject with:
2126
2127     sortm -textfield subject
2128
2129 ------------------------------
2130
2131 Subject: 03.18 How can I avoid reading the HTML version of the message?
2132 From: Bill Wohler <wohler at gbr.newt.com>
2133 Date: 23 Jun 2000 10:19:34 -0700
2134
2135   You might find that you have two versions of the same message within
2136   the message. For example, one part might have a content type of
2137   text/plain and the other might be text/html.
2138
2139   You may find that mhshow (mhn -show) wants to show the HTML version
2140   This is a feature of the multipart/alternative content type. If you
2141   prefer reading the the plain text version over the HTML version,
2142   you'd have to remove the line in $MHLIB/mhn.defaults or
2143   ~/.mh_profile that starts with mhshow-show-text/html
2144   (mhn-show-text/html). Of course, the tradeoff is that you'd never be
2145   able to view text/html at all, but you probably wouldn't care.
2146
2147 ------------------------------
2148
2149 Subject: 03.19 How do I view or save attachments?
2150 From: Bill Wohler <wohler at gbr.newt.com>
2151 Date: Mon, 5 Mar 2001 09:12:15 -0800
2152
2153   Use mhshow (mhn -show) and mhstore (mhn -store) respectively. See
2154   the man pages for more details.
2155
2156 ------------------------------
2157
2158 Subject: 03.20 How do I view HTML attachments with Netscape?
2159 From: Bill Wohler <wohler at gbr.newt.com>
2160 Date: Mon, 5 Mar 2001 09:58:05 -0800
2161
2162   Add one of the following to ~/.mh_profile:
2163
2164     mhshow-show-text/html: %lnetscape -remote 'openURL(file:%f, new-window)'
2165     mhn-show-text/html: %lnetscape -remote 'openURL(file:%f, new-window)'
2166
2167   The % escapes are described in the mhshow (mhn) man page. The ",
2168   new-window" argument in the netscape invocation is optional, but
2169   handy. After reading the message, you can dismiss the window with
2170   M-w and go back to reading mail.
2171
2172 ------------------------------
2173
2174 Subject: 03.21 Fixing folders: unable to allocate storage for msgstats
2175 From: Pete Phillips <pete at smtl.co.uk>
2176 Date: 30 Jan 2003 03:33:57 -0800
2177
2178   I found the following in my context file:
2179
2180     atr-cur-/tmp: 1
2181     atr-pseq-/tmp: 1
2182
2183   For some reason folders doesn't like this. Whether it's because of
2184   permission problems or just the size of my tmp directory (about 3/4
2185   of a GB) I don't know, but removing these lines from my context file
2186   fixed the problem.
2187
2188 ------------------------------
2189
2190 Subject: 03.22 How do I recursively list message attachments?
2191 From: Joel Reicher <joel at panacea.null.org>
2192 Date: 31 Oct 2001 00:36:14 +1100
2193
2194   I haven't quite managed a recursive listing, but I have worked out a
2195   recursive store, which is still useful. Hinted by a builtin display
2196   string for mhshow, I found the following works for mhstore:
2197
2198     mhstore-store-message/rfc822: | mhstore -file -
2199
2200   With that, mhstore will happily recurse down storing everything on
2201   its way. Not very discriminate, but the line can be altered to limit
2202   without destroying the recursion:
2203
2204     mhstore-store-message/rfc822: | mhstore -auto -type message/rfc822 -type image/jpeg -file -
2205
2206   which also names the files automatically for good measure.
2207
2208   And, FWIW, I engage this by putting it in a separate file and
2209   invoking mhstore like
2210
2211     env MHSTORE=mhn.rec mhstore
2212
2213 ------------------------------
2214
2215 Subject: 03.23 Why do folder and flist overlook some of my sub-folders?
2216 From: Richard Coleman <coleman at math.gatech.edu>
2217 Date: Mon, 10 Oct 2005 18:14:24 -0700
2218
2219   There was a bug in these commands which caused them to quit
2220   searching a folder for sub-folders too early if the folder contained
2221   sub-folders which were symbolic links. This has been improved in
2222   nmh-0.25, but folder and flist will still not recurse into folders
2223   that contain only symbolic links.
2224
2225 ------------------------------
2226
2227 Subject: 04.00 ***** Filing *****
2228 From: Bill Wohler <wohler at newt.com>
2229 Date: Fri, 1 Mar 1991 13:03:15 -0800
2230
2231 ------------------------------
2232
2233 Subject: 04.01 Can I append MH messages to a Unix mailbox format file?
2234 From: Richard Coleman <coleman at math.gatech.edu>
2235 Date: Tue, 20 Jan 1998 02:19:58 -0500
2236
2237   In nmh, use packf instead.
2238
2239 From: Bill Wohler <wohler at newt.com>
2240 Date: Fri, 1 Jan 1993 00:00:00 -0800
2241
2242   Yes, see $MHLIB/packmbox.
2243
2244 ------------------------------
2245
2246 Subject: 04.02 Can I append MH messages to a GNU Emacs rmail BABYL-format file?
2247 From: Bill Wohler <wohler at newt.com>
2248 Date: Fri, 1 Mar 1991 13:03:15 -0800
2249
2250   To convert your MH folders to BABYL folders, first run the following
2251   script on your Mail directory.
2252
2253     #!/bin/sh
2254
2255     for f in Mail/*; do
2256         if [ -d $f ]; then
2257             touch msgbox
2258             folder=`basename $f`
2259             echo -n packing $folder ...
2260             packf +$folder
2261             echo done
2262             mv msgbox Mail-rmail/$folder
2263         fi
2264     done
2265
2266   This assumes you don't have nested folders. Your rmail folders will
2267   be left in $HOME/Mail-rmail in MMDF format which rmail can read.
2268   Then run rmail-input for each folder, which converts each folder
2269   into BABYL format.
2270
2271   Be sure not to append any messages before they are converted from
2272   MMDF to BABYL, since there may be really strange results.
2273
2274 ------------------------------
2275
2276 Subject: 04.03 Why do I get ".../.mh_sequences is poorly formatted?"
2277 From: Richard Coleman <coleman at math.gatech.edu>
2278 Date: Tue, 20 Jan 1998 02:19:58 -0500
2279
2280   This bug has been fixed in nmh (as of version 0.20). There are no
2281   limitations on the length of an entry in the .mh_sequences file.
2282
2283 From: Jerry Peek <jpeek at jpeek.com>
2284 Date: Mon, 1 Aug 1994 00:00:00 -0800
2285
2286   There is a line length limit in this file. When sequences are
2287   unbroken (without gaps in numbering), that makes short entries in
2288   the .mh_sequences file, like this:
2289
2290     inftex: 72-8000
2291
2292   But when there are lots of numbering gaps, the entry gets long:
2293
2294     inftex: 76 79-81 87 95-96 105 109 120 124 135 141 158 163...
2295
2296   That's when you run into problems, and why it's good to keep the
2297   folder packed when you can. Simply run "folder -pack +folder".
2298
2299   If you're refiling a lot of messages in a large folder, you might
2300   not be able to use sequences. Use backquotes to give the message
2301   numbers directly to "refile". For example:
2302
2303     refile +tex/info-tex `pick -to info-tex`
2304
2305   That can still generate a long list of arguments to the "refile"
2306   command, and some Unixes can't handle that. In that case, use
2307   xargs(1):
2308
2309     pick -to info-tex | xargs refile +tex/info-tex
2310
2311   If worse comes to worst, fire up a Bourne shell and use a "while"
2312   loop:
2313
2314     pick -to info-tex | fmt | while read nums; do
2315         refile +tex/info-tex $nums
2316     done
2317
2318   The fmt(1) command breaks long lines into manageable chunks of 72
2319   characters or so, splitting arguments at whitespace. When you
2320   redirect the input of a while loop, a "read" command will read the
2321   incoming text and store it in a shell variable line by line. This is
2322   a quick-&-dirty way to write xargs(1) if you don't have it.
2323
2324 ------------------------------
2325
2326 Subject: 04.04 How can you save News articles into an MH folder?
2327 From: Jerry Peek <jpeek at jpeek.com>
2328 Date: Mon, 1 May 1995 00:00:00 -0800
2329
2330   If your newsreader handles backquotes on its command line, you can
2331   use the mhpath command. For instance, if your "save" command is "s":
2332
2333     s `mhpath new +somefolder`
2334
2335   Or if your newsreader lets you define your own commands, as in shell
2336   aliases, you could define that as a command.
2337
2338   If your newsreader can pipe an article to the standard input of a
2339   program, use the "rcvstore" command (in the MH library). For
2340   instance, if your "pipe" command is "|":
2341
2342     | $MHLIB/rcvstore +somefolder
2343
2344   Of course, you can also put that in a little shell script.
2345
2346 ------------------------------
2347
2348 Subject: !04.05 Are there any good tools to archive MH messages?
2349 From: Bill Wohler <wohler at newt.com>
2350 Date: Sun, 23 Sep 2007 18:35:53 -0700
2351
2352   For those of lesser means, I have three shell scripts for archiving,
2353   seeking, and extracting MH messages that I had been using for a
2354   couple of decades. Send mail if interested.
2355
2356   However, now that disk space is cheap and one can index years worth
2357   of mail in a minute or two, I haven't run those scripts in a few
2358   years. I intend to update them to index and archive a years-worth of
2359   mail at some point.
2360
2361   Since glimpse is no longer free (as in speech), I've switched to
2362   swish++. Other indexing tools (which are also compatible with MH-E)
2363   include mairix and namazu.
2364
2365 From: glimpse at cs.arizona.edu
2366 Date: Sun, 4 Mar 2001 10:26:24 -0800
2367
2368   Glimpse is a very powerful indexing and query system that allows you
2369   to search through all your files very quickly. It can be used by
2370   individuals for their personal file systems as well as by
2371   organizations for large data collections.
2372
2373     http://www.webglimpse.org/
2374
2375 ------------------------------
2376
2377 Subject: 04.06 How can I remove duplicate messages?
2378 From: Bill Wohler <wohler at newt.com>
2379 Date: Sun, 17 Oct 2004 13:04:57 -0700
2380
2381   Don't let them get in there in the first place. Add the following to
2382   your .promailrc:
2383
2384     :0
2385     * ? formail -D 16384 $PM_CACHE/msgid
2386     /dev/null
2387
2388   If it's too late, you might be interested in mhfinddup, attached
2389   below, which is an embellishment of the Perl script in (see
2390   "Removing duplicate messages (Perl)").
2391
2392 From: Jerry Peek <jpeek at jpeek.com>
2393 Date: 20 Nov 1995 18:51:24 GMT
2394
2395   The easiest way I know of is to sort the folder by the Message-ID
2396   field using the sortm(1) command.
2397
2398   After the sort, each message should be next to its duplicates in the
2399   folder. Use a script (shell, Perl, etc.) to weed out the duplicates.
2400   (See "Removing duplicate messages (Bourne)").
2401
2402   The Perl script in (see "Removing duplicate messages (Perl)") does
2403   not require that you first sort the folder.
2404
2405 ------------------------------
2406
2407 Subject: 04.07 How can I remove holes in numbering?
2408 From: Bill Wohler <wohler at newt.com>
2409
2410   folder -pack
2411
2412 ------------------------------
2413
2414 Subject: 05.00 ***** Composing & Replying *****
2415 From: Bill Wohler <wohler at newt.com>
2416 Date: Fri, 1 Mar 1991 13:03:15 -0800
2417
2418 ------------------------------
2419
2420 Subject: 05.01 Why does repl add a "Re:" to a message that already has one?
2421 From: Larry McVoy <lm at slovax.Eng.Sun.COM>
2422 Date: Fri, 1 Mar 1991 13:03:15 -0800
2423
2424   I carefully reconfigured and rebuilt MH from scratch and the problem
2425   went away.
2426
2427 ------------------------------
2428
2429 Subject: 05.02 How do I include messages in repl with or without ">"?
2430 From: Richard Coleman <coleman at math.gatech.edu>
2431 Date: Tue, 20 Jan 1998 02:19:58 -0500
2432
2433   In nmh, to include a message in a reply with a leading ">", just use
2434   "repl -format".
2435
2436 From: Alan Thew <qq11 at liv.ac.uk>, Mike Schwager <schwager at cs.uiuc.edu>,
2437         James T Perkins <jamesp at sp-eug.com>
2438 Date: Fri, 1 Jan 1993 00:00:00 -0800
2439
2440   When making a reply, specify a filter file on the command line:
2441
2442     repl -filter repl.format
2443
2444   This filter file must be in your MH mail directory (usually "Mail",
2445   in your home directory). Here are a couple of example repl.format
2446   files:
2447
2448     overflowtext="",overflowoffset=0
2449     message-id:nocomponent,formatfield=\
2450     "In message %{text}, you wrote:"
2451     body:component="> ",overflowtext="> ",overflowoffset=0
2452
2453   or
2454
2455     overflowtext="",overflowoffset=0
2456     date:component="Your message dated",formatfield=\
2457     "%<(nodate{text})%{text}%|%(pretty{text})%>"
2458     body:component="> ",overflowtext="> ",overflowoffset=0
2459
2460   Setting overflowoffset to 0 keeps MH from doing anything to
2461   extra-long lines in the headers. In the body, however, this behavior
2462   is overridden so that long lines are automatically broken and a ">"
2463   is inserted before every line. You could put almost whatever you
2464   want between those quotes, although the "standard" ">" makes it
2465   easier to read notes that have been included several times. The
2466   examples differ with the descriptive text that is inserted before
2467   the included body.
2468
2469   It is suggested not to use the "prompter" editor in this case, since
2470   it is likely that you'll not want to use all of the included
2471   message. Indeed, it is proper etiquette to edit out all unnecessary
2472   include verbiage so readers don't have to wade through the morass to
2473   read your pearls of wisdom.
2474
2475   WARNING: the '>' appears on the first line ONLY in versions prior to
2476   6.7.2. Upgrade to MH 6.8.
2477
2478   See also MH book sections 7.8.4 (6.7.4), 7.8.5 (6.7.5), 10.4.1
2479   (9.4.1), or the URLs:
2480
2481     http://rand-mh.sourceforge.net/book/mh/reprep-2.html#ReaEdi
2482     http://rand-mh.sourceforge.net/book/mh/reprep-2.html#Inc
2483     http://rand-mh.sourceforge.net/book/mh/verrep.html#IncRep
2484
2485 ------------------------------
2486
2487 Subject: 05.03 How can I eliminate duplicate copies of letters to myself?
2488 From: Bill Wohler <wohler at newt.com>
2489 Date: Fri, 1 Mar 1991 13:03:15 -0800
2490
2491   Add these two lines to your MH profile file:
2492
2493     Alternate-Mailboxes: user@host1, user@host2, ...
2494     repl: -nocc me
2495
2496   The Alternate-Mailboxes also tells scan which messages are really
2497   from you so that it can place the recipient in the scan line instead
2498   of the sender.
2499
2500 From: Jerry Peek <jpeek at jpeek.com>
2501 Date: Fri, 1 Mar 1991 13:03:15 -0800
2502
2503   To get one copy, you can either:
2504
2505   - Take out the "-nocc me"... then you'll get exactly one copy of
2506     your replies (assuming all your addresses are listed in
2507     Alternate-Mailboxes), or
2508
2509   - (See also "How can I save a copy of all messages I send?").
2510
2511     For more info, see the man pages comp(1), repl(1), forw(1),
2512     dist(1) and mh-mail(5).
2513
2514   See also MH book sections 7.8.2 (6.7.2), 9.8 (8.6), or the URLs:
2515
2516     http://rand-mh.sourceforge.net/book/mh/reprep-2.html#Sel
2517     http://rand-mh.sourceforge.net/book/mh/defmai.html
2518
2519 From: Alec Wolman <wolman at crl.dec.com>
2520 Date: Fri, 1 Mar 1991 13:03:15 -0800
2521
2522   Listing the name of a mailing list in Alternate-Mailboxes is also a
2523   convenient way to AVOID automatically cc-ing a mailing list when
2524   replying to a person who sent the message to the mailing-list.
2525
2526 From: Andre Srinivasan <asriniva at us.oracle.com>
2527 Date: Fri, 24 Jan 1997 09:33:19 -0800
2528
2529   Rather than specify the hostname as part of the mailbox, you can
2530   simply specify the username and it will match on any host:
2531
2532     Alternate-Mailboxes: asriniva
2533
2534 ------------------------------
2535
2536 Subject: 05.04 How can I include my signature?
2537 From: Eric W. Ziegast <ziegast at uunet.uu.net>,
2538         Hardy Mayer <hardy at golem.ps.uci.edu>
2539 Date: Tue, 1 Nov 1994 00:00:00 -0800
2540
2541   There are several ways.
2542
2543   1) The MH way.
2544
2545   1a) In your Mail directory, create files that include your signature
2546       into the format of the message.
2547
2548       ~/Mail/components:
2549         To:
2550         cc:
2551         Subject:
2552         --------
2553
2554         --
2555         Eric Ziegast            ziegast at uunet.uu.net
2556         UUNET Technologies      uunet!ziegast
2557
2558       ~/Mail/replfmt
2559         body:component="> ",compwidth=2
2560         :--
2561         :Eric Ziegast           ziegast at uunet.uu.net
2562         :UUNET Technologies     uunet!ziegast
2563
2564      To use the replfmt file, add the following to your ~/.mh_profile:
2565
2566        repl: -filter replfmt
2567
2568      When comp is used, your signature is already there along with my
2569      headers. When repl is used, the mhl program takes the body of
2570      the letter you're replying to, prepends '> ' to each line and
2571      then adds your signature at the end (available after version
2572      6.7).
2573
2574   1b) Create an "editor" which can be called from whatnow to add the
2575       signature when desired or create a frontend to post (use the
2576       .mh_profile line "postproc: postproc" to call it) that always
2577       appends the .signature file before calling post to mail the
2578       message. David J. Fiander <david at golem.uucp>, David A.
2579       Truesdell <truesdel at nas.nasa.gov> and Tom Wilmore <sastjw at
2580       unx.sas.com> have sample scripts to do these.
2581
2582 From: Jerry Peek <jpeek at jpeek.com>
2583 Date: Tue, 1 Sep 1992 00:00:00 -0800
2584
2585   1c) mysend, a sendproc script, processes a message after "What now?
2586       send". See "What references exist for MH" to see where the MH
2587       book scripts can be ftped from. The script is explained in MH
2588       book Section 7.1.4 (13.13), or the URL:
2589       http://rand-mh.sourceforge.net/book/mh/senove.html#ASAtDm
2590
2591   2) Using your editor.  If you use vi, you can use something like:
2592
2593        map S :r ~/.signature
2594
2595      to load your signature out of .signature every time you
2596      hit 'S'.
2597
2598   3) Use your windowing system. xterm, for example, can provide key
2599      and button mappings for the utterly lazy.
2600
2601   4) If you use Emacs with MH-E:
2602
2603   4a) C-c C-s will append the signature.
2604
2605 From: Andre Srinivasan <andre at neuronet.pitt.edu>
2606 Date: Mon, 1 May 1995 00:00:00 -0800
2607
2608   4b) Add the following to your .emacs file:
2609
2610         (add-hook 'mh-compose-letter-function
2611             (function
2612              (lambda(a b c)
2613                (save-excursion
2614                  (goto-char (point-max))
2615                  (beginning-of-line)
2616                  (mh-insert-signature)))))
2617
2618       This hook is called after the draft buffer has been initialized,
2619       but before you have a chance to type anything.
2620
2621 From: Tom Christiansen <tchrist at perl.com>
2622 Date: Tue, 1 Nov 1994 00:00:00 -0800
2623
2624   Tired of the same old signature? Want different signatures for
2625   different newsgroups? Here's a program to help you out.
2626
2627   The way it works is to have .signature be a named pipe, so if you
2628   don't have named pipes, just say 'n'.
2629
2630   The sigrand program then feeds stuff down the pipe every time
2631   someone wants to read it. That way it works for more than just news,
2632   but for anything that wants to read your .signature, like a mailer.
2633
2634   You have your choice of three kinds of signatures:
2635
2636       1) random (short) fortune from "fortune -s"; you get these if
2637          you don't have a global sig file.
2638       2) random fortune from ~/News/SIGNATURES [global sig file]
2639       3) random fortune form ~/News/(newsgroup)/SIGNATURES [local sig files]
2640
2641   Send mail if interested.
2642
2643 Date: Tue, 1 Nov 1994 00:00:00 -0800
2644
2645   See also the Signature FAQ (see "What references exist for MH?").
2646
2647 ------------------------------
2648
2649 Subject: 05.05 How do I call my editor with arguments?
2650 From: John Romine <jromine at ics.uci.edu>
2651 Date: Mon, 1 May 1995 00:00:00 -0800
2652
2653   Set your editor (in .mh_profile) to the following shellscript.
2654
2655     #/bin/sh
2656     <youreditor> <yourargs> "$@"
2657     exit 0
2658
2659 From: Ray Nickson <Ray.Nickson at comp.vuw.ac.nz>
2660 Date: Fri, 1 Mar 1991 13:03:15 -0800
2661
2662   You might find it useful to make <youreditor> $EDITOR, or to use
2663   different arguments depending on your EDITOR environment variable.
2664
2665 ------------------------------
2666
2667 Subject: 05.06 How can I digestify messages in a folder for mail to another user?
2668 From: Jerry Peek <jpeek at jpeek.com>, Bill Wohler <wohler at newt.com>
2669 Date: Fri, 1 Mar 1991 13:03:15 -0800
2670
2671   How about:
2672
2673     forw [-digest tmp] [-form forwcomps] [-filter mhl.digest]
2674          messages +folder
2675
2676   These messages can be un-digestified :-) by the MH burst(1) program.
2677
2678   See also MH book sections 7.9.7 (6.8.7), 8.10 (7.9), or the URLs:
2679
2680     http://rand-mh.sourceforge.net/book/mh/forfor-2.html#CreDig
2681     http://rand-mh.sourceforge.net/book/mh/burdig.html
2682
2683 From: Glenn Vanderburg <glv at utdallas.edu>
2684 Date: Tue, 1 Nov 1994 00:00:00 -0800
2685
2686   There's another way, which is better if the recipient understands
2687   MIME.
2688
2689     forw -mime messages +folder
2690
2691   (Make sure that you either have "automhnproc: mhn" in your mh
2692   profile, or type "edit mhn" to whatnow before you send it.)
2693
2694   This bundles each message in a MIME message/rfc822 part, and then
2695   bundles the whole mess up in a multipart/digest part. You can still
2696   add your own text at the beginning. The MH burst program can also
2697   understand these messages and split them apart with no problem. This
2698   works beautifully with MIME-capable mail readers, especially exmh.
2699
2700 ------------------------------
2701
2702 Subject: 05.07 How can I change my return address?
2703 From: Bill Wohler <wohler at newt.com>
2704 Date: Tue, 1 Dec 1992 00:00:00 -0800
2705
2706   If you find that your mailer creates a From header that others have
2707   trouble replying to, you can add a Reply-To header to override the
2708   From header in replies.
2709
2710   Copy the components and replcomps files which are normally found in
2711   $MHLIB into your Mail directory and add a line like the following
2712   after the Subject header replacing my address with your address:
2713
2714     Reply-To: jack@newt.com
2715
2716 ------------------------------
2717
2718 Subject: 05.08 How can I change my From header?
2719 From: Bill Wohler <wohler at newt.com>
2720 Date: Mon, 27 Nov 1995 11:40:50 -0800
2721
2722   With either of the following solutions, you'll need to add an
2723   Alternate-Mailboxes entry in your MH profile so that scan prints
2724   "To: recipient" rather than your faked address. For example, if your
2725   real address is user@somedomain.com and you've added a From field
2726   of:
2727
2728     From: Joe Bob <joe.bob@somedomain.com>
2729
2730   you'll add the following to .mh_profile:
2731
2732     Alternate-Mailboxes: joe.bob@somedomain.com
2733
2734 From: Bill Wisner <wisner at netcom.com>
2735 Date: Tue, 1 Dec 1992 00:00:00 -0800
2736
2737   If you're just interested in changing the hostname, add a line to
2738   $MHLIB/mts.conf (mtstailor):
2739
2740     localname: desired_host_name
2741
2742 From: Jerry Peek <jpeek at jpeek.com>
2743 Date: Tue, 1 Dec 1992 00:00:00 -0800
2744
2745   Just put a "From:" header in your "components", "replcomps" and
2746   "forwcomps" files. MH will add a "Sender:" header with what it
2747   thinks is your real address.
2748
2749 ------------------------------
2750
2751 Subject: 05.09 How can I save a copy of all messages I send?
2752 From: Ping Huang <pshuang at sgihub.corp.sgi.com>
2753 Date: Mon, 18 Dec 1995 17:51:33 -0800
2754
2755   I suggest the use of the Dcc: field (See "What is the Dcc header?"),
2756   since the use of "Dcc:" solves the issue of having the same
2757   Message-Id. The warning about using Dcc: in general contexts doesn't
2758   apply to self-blind-carbon copies, and if "Dcc:" is used and you are
2759   automatically sorting messages into folders based on mailing lists,
2760   messages which you send will get refiled in the same way. Some may
2761   prefer all outgoing messages to be segregated; others (including
2762   myself) prefer not to segregate outgoing messages.
2763
2764 From: Bill Wohler <wohler at newt.com>, Jerry Peek <jpeek at jpeek.com>
2765 Date: Mon, 1 Aug 1994 00:00:00 -0800
2766
2767   Copy the components and replcomps files which are normally found in
2768   $MHLIB into your Mail directory and add a line like the following
2769   after the cc header:
2770
2771     Fcc: +out
2772
2773   All outgoing messages will then be saved in the +out folder. If you
2774   make a distcomps file, it needs "Resent-Fcc:".
2775
2776 From: Jeppe Sigbrandt <jay at elec.gla.ac.uk>
2777 Date: Sat, 5 Apr 1997 02:04:53 +0100
2778
2779   You can also use @ in the Fcc field to file the outgoing message in
2780   the current folder.
2781
2782     Fcc: @
2783
2784   This is useful if you filter your mail (e.g., with procmail) and you
2785   read your mail in folders other than +inbox.
2786
2787 From: David S. Goldberg <dsg at linus.mitre.org>
2788 Date: 30 Oct 1995 10:23:55 -0500
2789
2790   You can get the Message-ID field by placing the folder in the "Fcc"
2791   field and adding:
2792
2793     send: -msgid
2794
2795   to your .mh_profile. Unfortunately, this Message-ID isn't as useful
2796   as sendmail's--it doesn't include the date.
2797
2798 ------------------------------
2799
2800 Subject: 05.10 Can the folder in Fcc: be dynamically specified?
2801 From: Andy Rabagliati <andyr at wizzy.com>
2802 Date: Mon, 1 Aug 1994 00:00:00 -0800
2803
2804   My suggestion would be to run Tom Christiansen's rfi script. If you
2805   cannot find it on *.sources archive sites (please try first), I can
2806   mail it to you.
2807
2808   One good idea would be to write a whatnowproc that files the mail
2809   based on a procmail or deliver file. Then you can use the same file
2810   for incoming and outgoing mail.
2811
2812 ------------------------------
2813
2814 Subject: 05.11 Can I post secure/encryped mail?
2815 From: Bill Wohler <wohler at newt.com>
2816 Date: Thu, 19 May 2005 18:06:39 -0700
2817
2818   MH-E 7.0 supports GPG out of the box.
2819
2820 From: Bill Wohler <wohler at newt.com>
2821 Date: Mon, 5 Mar 2001 05:30:43 -0800
2822
2823   PGP keys can be obtained via mail from <pgp-public-keys at
2824   pgp.mit.edu>, and via the Web at
2825   http://www.pgp.net/pgpnet/pks-commands.html. Many PGP front-ends
2826   (e.g., mailcrypt) automatically obtain keys for you.
2827
2828   See http://www.pgp.net/ for more info.
2829
2830 From: Vivek Khera <khera at kciLink.com>
2831 Date: 19 Jun 1995 22:06:37 GMT
2832
2833   A much more robust Perl script I wrote is appended below. [Send a
2834   note to Vivek for the script. --Ed] It works its way through
2835   aliases, and avoids problems with full names in the headers.
2836
2837   Here is my mhn profile entry to display the messages.
2838
2839     mhshow-show-application/x-pgp: %l pgp -m '%F'       # nmh
2840     mhn-show-application/x-pgp: %l pgp -m '%F'          # MH
2841
2842   to use the script, after you edit the message, at the What now?
2843   prompt, type "edit pgpmail" for plain ascii encryption or "pgpmail
2844   -m" for a MIME formatted encryption. If you want to add a digital
2845   signature, give the script the -s flag also.
2846
2847 From: Jeffrey C. Ollie <jeff at ollie.clive.ia.us>
2848 Date: Mon, 1 May 1995 00:00:00 -0800
2849
2850   TIS has a free, draft-standard compliant public key system that
2851   works with MH (PEM). Check it out on ftp.tis.com.
2852
2853 From: Kimmo Suominen <kim at tac.nyc.ny.us>
2854 Date: Mon, 1 May 1995 00:00:00 -0800
2855
2856   You could try looking at the URL http://www.tac.nyc.ny.us/ and
2857   following the link from the cover page. Everything you need for PGP
2858   to work with MH is there (scripts and mhn entries).
2859
2860 From: mathew at mantis.co.uk
2861 Date: Mon, 1 May 1995 00:00:00 -0800
2862
2863   Excellent stuff. I've tried altering it to conform to
2864   draft-borenstein-pgp-mime-00.txt.
2865
2866   Unfortunately, I can't get mhn to tag PGP-armoured text as
2867   application/pgp; format=text without it insisting on base64 encoding
2868   it. So I can't quite manage to implement the standard. *sigh*
2869
2870   Presumably mhn thinks that anything which isn't text/* must be
2871   encoded.
2872
2873 From: John R MacMillan <john at interlog.com>
2874 Date: Wed, 16 Apr 1997 00:06:59 -0700
2875
2876   Premail, in conjunction with MH, can display and compose security
2877   multiparts (e.g., multipart/signed and multipart/encrypted PGP mail,
2878   non-MIME PGP, and some S/MIME). Check out
2879
2880     http://www.c2.org/~raph/premail/
2881
2882   for details.
2883
2884 ------------------------------
2885
2886 Subject: 05.12 How can I send multi-media (MIME) attachments?
2887 From: Brian Exelbierd <bex at ncsu.edu>
2888 Date: Mon, 09 Oct 1995 08:05:55 -0400
2889
2890   The short guide:
2891
2892   1. Compose a letter using comp.
2893
2894   2. When you get to a point where you want to include a MIME
2895      attachment, type the following to include a GIF image (note: the
2896      '#' must be in the first column):
2897
2898         #image/gif [Pictures at an Exhibition] /usr/lib/pictures/exhibition.gif
2899
2900   3. Finish your letter, adding more text or attachments as needed.
2901
2902   4. Save your letter and exit the editor. At the Whatnow prompt type
2903      "edit mhn". mhn will automatically format your letter with the
2904      MIME attachments leaving the original letter in ,##,orig where ##
2905      is the letter number.
2906
2907   5. Type "send" at the Whatnow prompt, and poof, you have just sent
2908      MIME mail. I strongly recommend you practice sending yourself
2909      MIME mail first.
2910
2911   For more information, see the mhn(1) man page,
2912   ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
2913   for a list of allowed media types in addition to image/gif, and
2914   Chapter 3 in the MH book or the URL:
2915
2916     http://rand-mh.sourceforge.net/book/overall/tocs/intmime.html
2917
2918 ------------------------------
2919
2920 Subject: 05.13 What's the best way to send mail to a long list of people?
2921 From: Bill Wohler <wohler at newt.com>
2922 Date: Thu, 12 Oct 1995 07:53:53 -0700
2923
2924   There are three ways to keep the list of members from appearing in
2925   everyone's header.
2926
2927   If you're planning on mailing to these people regularly, the best
2928   way is to create an alias in /etc/aliases (/usr/lib/aliases). That
2929   way, recipients can send and reply to the list as well.
2930
2931   The other two ways allow you to manage the list privately, but the
2932   recipients cannot send to the list (unless you set something up with
2933   your deliver or procmail script). One is with a group list. It looks
2934   like this:
2935
2936     To: All-members: member1, member2, member3, ..., membern;
2937
2938   The recipients see this:
2939
2940     To: All-members:;
2941
2942   You can make this an MH alias as well.
2943
2944   The second way is to use a blind carbon copy (see "How do I send
2945   blind carbon copies?").
2946
2947   Or you could also use the undocumented Dcc field which is used like
2948   the Bcc field, but doesn't inject the "Blind-Carbon-Copy." Warning:
2949   (See "What is the Dcc header?")
2950
2951 ------------------------------
2952
2953 Subject: 05.14 What is the Dcc header?
2954 From: jpeek at jpeek.com (Jerry Peek)
2955 Date: 14 Sep 96 05:51:13 GMT
2956
2957   If you put the alias in the Dcc field and leave the To: field empty,
2958   there's a good chance that the recipients will get a message with
2959   the header field:
2960
2961     Apparently-to: <someaddress>
2962
2963   and it might even list several addresses. To avoid that, use a To:
2964   field with some address (like yours) in it. I use a comment that
2965   tells people what's really happening--like this, more or less:
2966
2967     To: "Faculty members, c/o" <super@wierdlmpc.msci.memphis.edu>
2968     dcc: faculty
2969
2970   There are some other choices, like using an un-replyable group list
2971   in the To: field, but I think they tend to confuse non-techies.
2972
2973 Date: Wed, 27 Sep 1995 09:46:37 -0700
2974 From: John Romine <jromine at yoyodyne.ICS.UCI.EDU>
2975
2976   The Dcc (Distribution Carbon Copy) field behaves much like the Bcc
2977   field, but does not add the "Blind-Carbon-Copy" notice. This header
2978   is removed before posting the message,and a copy of the message is
2979   distributed to each listed address. This could be considered a form
2980   of Blind Carbon Copy which is best used for sending to an address
2981   which would never reply (such as an auto-archiver).
2982
2983   People should not be using Dcc as a substitute-Bcc to send to other
2984   people. When users use Dcc as a substitute for Bcc, there is *no*
2985   indication to the "blind" recipients that they have received a blind
2986   copy. If those recipients should reply (and they have no indication
2987   why they shouldn't), the original author could be very embarassed
2988   (or worse).
2989
2990 ------------------------------
2991
2992 Subject: 05.15 How can I make sense of the replcomps file?
2993 From: Bill Wohler <wohler at newt.com>
2994 Date: Thu, 9 Mar 2006 19:27:14 -0800
2995
2996   The best thing to do is curl up with the mh-format(5) man page, or
2997   Section 11.2 of the MH book, or the URL:
2998
2999     http://rand-mh.sourceforge.net/book/mh/mhstr.html
3000
3001   These will explain the default replcomps file, included here. Don't
3002   start with the first four lines--the latter group of lines are much
3003   easier to understand.
3004
3005     %; $Header$
3006     %;
3007     %; These next lines slurp in lots of addresses for To: and cc:.
3008     %; Use with repl -query or else you may get flooded with addresses!
3009     %;
3010     %; If no To:/cc:/Fcc: text, we output empty fields for prompter to fill in.
3011     %;
3012     %(lit)%(formataddr{reply-to})\
3013     %(formataddr %<{from}%(void{from})%|%(void{apparently-from})%>)\
3014     %(formataddr{resent-to})\
3015     %(formataddr{prev-resent-to})\
3016     %(formataddr{x-to})\
3017     %(formataddr{apparently-to})\
3018     %(void(width))%(putaddr To: )
3019     %(lit)%(formataddr{to})\
3020     %(formataddr{cc})\
3021     %(formataddr{x-cc})\
3022     %(formataddr{resent-cc})\
3023     %(formataddr{prev-resent-cc})\
3024     %(formataddr(me))\
3025     %(void(width))%(putaddr cc: )
3026     Fcc: %<{fcc}%{fcc}%|+outbox%>
3027     Subject: %<{subject}Re: %{subject}%>
3028     %;
3029     %; Make References: and In-reply-to: fields for threading.
3030     %; Use (void), (trim) and (putstr) to eat trailing whitespace.
3031     %;
3032     %<{message-id}In-reply-to: %{message-id}\n%>\
3033     %<{message-id}References: \
3034     %<{references}%(void{references})%(trim)%(putstr) %>\
3035     %(void{message-id})%(trim)%(putstr)\n%>\
3036     Comments: In-reply-to \
3037     %<{from}%(void{from})%?(void{apparently-from})%|%(void{sender})%>\
3038     %(trim)%(putstr)\n\
3039        message dated "%<(nodate{date})%{date}%|%(tws{date})%>."
3040     --------
3041
3042   In particular, note the following:
3043
3044     \   consider the following line to be part of the current line. If
3045         this continuation character is absent, a newline (\n) will
3046         always be inserted. Note that if the field is conditional, and
3047         the condition is false, and there isn't a trailing backslash,
3048         then a blank line will appear in your reply. Since the rest of
3049         the header will now be considered to be part of the body, this
3050         is probably not what you want.
3051     \n  inject an actual newline into the reply. Note that inserting a
3052         field without a trailing backslash (\) will cause that field
3053         to be emitted in the reply as well.
3054     %<{field}, %?{field}, %|, %>
3055         if field exists, else if field exists, else, endif.
3056         Conditional fields nearly always contain an explicit newline
3057         (\n) and end with a continuation character (\).
3058     %(command)  mh-format commands
3059     %{field}    value of the header field inserted at this point
3060
3061   To add new fields, you can either add fields based on whether
3062   certain fields exist in the original message (e.g.,
3063   %<{message-id}...), or hard-code them, as in the Fcc, Subject, or
3064   Comments fields above.
3065
3066 ------------------------------
3067
3068 Subject: 05.16 How can I convert quoted-printable to 8bit in quoted text in replies?
3069 From: Jarle F. Greipsland <jarle at idt.unit.no>
3070 Date: 22 Aug 1995 10:42:07 +0200
3071
3072   The idea behind the solution is that I need mhn to store the
3073   contents of the mail in the native iso8859-1 format somewhere. I did
3074   this by creating a custom editor that is invoked when I reply to a
3075   message. This editor extracts the body of the message (sorry, no
3076   multipart stuff), indents it with '> ', appends it to the draft
3077   message and invokes the ordinary editor on it. Here are the details:
3078
3079   `isorepl' is a symbolic link from my $HOME/bin-directory to `repl'.
3080
3081   In my .mh_profile I added the following two lines:
3082
3083     isorepl: -form isoreplcomps -editor isoextract
3084     isoextract-next: vi
3085
3086   The isoreplcomps file in my Mail-directory contains:
3087
3088     %(lit)%(formataddr %<{reply-to}%?{from}%?{sender}%?{return-path}%>)\
3089     %<(nonnull)%(void(width))%(putaddr To: )\n%>\
3090     %(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
3091     %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
3092     %<{fcc}Fcc: %{fcc}\n%>\
3093     %<{subject}Subject: Re: %{subject}\n%>\
3094     %<{date}In-reply-to: Your message of "\
3095     %<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id}
3096                  %{message-id}%>\n%>\
3097     --------
3098     #<text/plain; charset=iso-8859-1
3099     %<{message-id}In message %{message-id} %>\
3100     %<{from}%(friendly{from}) writes%|You write%>:
3101
3102   This is a "Usenet-like" quoting style. Modify to suit your own
3103   taste. This form will setup the proper header, as well as the first
3104   line of the new message (In <mmmmbbbb> nnnn writes etc.).
3105
3106   The first editor, `isoextract', looks like this:
3107
3108     #!/bin/sh
3109     #
3110     # Called from within repl where the "editalt" variable is valid
3111     #
3112     # Point to a special MHN configuration file (save old one)
3113     OLDMHN="$MHN"
3114     MHN=$HOME/`mhparam Path`/isoquotemsg
3115     export MHN
3116
3117     # Extract message body to "native" format (should be iso-8859-1)
3118     # > More bla bla.
3119     mhn -file "$editalt" -store >> $1 2>/dev/null
3120
3121     MHN="$OLDMHN"
3122     myname=`basename $0`
3123     next=`mhparam ${myname}-next`
3124     if [ "x$next" != "x" ]; then
3125             exec $next "$@"
3126     fi
3127
3128   `isoquotemsg' has just one rule; how mhn should store a text message.
3129
3130     mhn-store-text: |sed -e 's/^[       ]*$//' \
3131                          -e 's/^\([>|]\)\(.*\)$/>\1\2/' \
3132                          -e 's/^\([^>|].*\)$/> \1/'
3133
3134   This tells mhn to pipe the message to stdout, where the sed commands
3135   will do the reformatting/quoting. (Note: the first pair of square
3136   brackets contains a space and a tab.)
3137
3138   So, when I do a `isorepl' to a message, `repl' will create the draft
3139   message with the proper headers (based on the `isoreplcomps' format
3140   file), fire off its first editor, `isoextract', with the name of the
3141   draft file as its parameter. `isoextract' then invokes mhn in a
3142   suitable environment, tells it that it is to use the file $editalt
3143   as its source, and orders it to store the contents. The store-text
3144   rule in the custom MHN-file tells it to just pipe the message (in
3145   native iso8859-1 form) through a small set of sed commands, and
3146   `isoextract' uses the normal shell construct to append the result to
3147   the draft file. Then, if there's defined a `isoextract-next' entry
3148   in the .mh_profile, isoextract exec's this editor.
3149
3150 ------------------------------
3151
3152 Subject: 05.17 Can I have aliases include aliases?
3153 From: Bruce Cox <bruce at maths.su.oz.au>
3154 Date: Fri, 16 Aug 1996 14:26:12 +1000
3155
3156   Indeed, you can.
3157
3158   You just need to remember the way MH expands aliases. In particular,
3159   the right hand sides are only expanded by the aliases below them in
3160   your aliases file. So, if you put in:
3161
3162     dead-men: presidents, authors
3163     presidents: washington, lincoln, jefferson, roosevelt
3164     authors: thoreau, irving, london
3165
3166   and type:
3167
3168     ali dead-men
3169
3170   then you would get the response:
3171
3172     washington, lincoln, jefferson, roosevelt, thoreau, irving, london
3173
3174   If you had the dead-men line after the presidents and authors
3175   aliases, the response would be:
3176
3177     presidents, authors
3178
3179 ------------------------------
3180
3181 Subject: 05.18 Why doesn't mhmail understand aliases?
3182 From: "John L. Romine" <jromine at yoyodyne.ics.uci.edu>
3183 Date: 25 Apr 1996 16:34:10 GMT
3184
3185   One way that mhmail might be run is from a shell script. This means
3186   that the user running it might not use MH, and would not have a
3187   .mh_profile, etc. If you want to use aliases with mhmail, expand
3188   them before passing them as arguments (e.g., "mhmail `ali joe`").
3189
3190 ------------------------------
3191
3192 Subject: 05.19 How do I send blind carbon copies?
3193 From: Bill Wohler <wohler at newt.com>
3194 Date: Mon, 9 Sep 1996 00:32:14 -0700
3195
3196   Use the Bcc header field:
3197
3198     To: your-address-here
3199     Bcc: member1, member2, member3, ..., membern
3200
3201   The recipients see this:
3202
3203     To: your-address-here
3204
3205     ------- Blind-Carbon-Copy
3206
3207     Content of message, with headers
3208
3209   If you don't want the "Blind-Carbon-Copy" message, use the Dcc
3210   field, but this is discouraged in true blind carbon copies since the
3211   warning may prevent the recipient from embarrassing someone
3212   inadvertently. Read the warning in (see "What is the Dcc header?").
3213
3214 ------------------------------
3215
3216 Subject: 05.20 When I forward a message, can I use its Subject?
3217 From: Jerry Peek <jpeek at jpeek.com>
3218 Date: Sun, 17 Nov 1996 20:16:31 -0800
3219
3220   Obtain forwedit.
3221
3222     http://rand-mh.sourceforge.net/book/examples/mh/bin/forwedit
3223
3224 ------------------------------
3225
3226 Subject: 05.21 Why is the timezone field in my 'Date:' field wrong?
3227 From: Alex Tomlinson <tomlinson at acm.com>
3228 Date: Wed, 11 Jun 1997 09:16:41 -0500
3229
3230   If the date field in your mail header looks like this:
3231
3232     Date: Tue, 10 Jun 1997 15:59:03 +2228904
3233
3234   remove -lbsd from your MH configuration, add "curses -lcurses", and
3235   rebuild.
3236
3237 ------------------------------
3238
3239 Subject: 05.22 Can I automate the comp -editor mhn process?
3240 From: Soren Dayton <csdayton at gargoyle164.cs.uchicago.edu>
3241 Date: Tue, 21 Jan 1997 17:23:32 GMT
3242
3243   Add
3244
3245     automhnproc: mhn
3246
3247   to your MH profile.
3248
3249 ------------------------------
3250
3251 Subject: 05.23 How can I remove those "=20" characters when forwarding?
3252 From: Dave Marquardt <marquard at Austin.IBM.Com>
3253 Date: 12 Oct 2000 10:27:38 -0500
3254
3255   Use `forw -mime'.
3256
3257 ------------------------------
3258
3259 Subject: 05.24 Can I use mh-format substitution with forw?
3260 From: Dave Marquardt <marquard at Austin.IBM.Com>
3261 Date: Tue, 3 Aug 1999 13:28:30 -0500 (EST)
3262
3263   The answer is no, and the real question is why not?
3264
3265 ------------------------------
3266
3267 Subject: 05.25 How can I keep repl from breaking long lines?
3268 From: Jerry Peek <jpeek at jpeek.com>
3269 Date: Fri, 14 May 1999 11:15:07 -0400
3270
3271   Try adding width=10000 (or so) to your replcomps. It should work
3272   unless you have messages with lines longer than that...
3273
3274 ------------------------------
3275
3276 Subject: 05.26 How do I fix a bogus In-Reply-To or missing References field?
3277 From: Bill Wohler <wohler at newt.com>
3278 Date: Thu, 9 Mar 2006 21:42:21 -0800
3279
3280   In the past, the In-reply-to header field looked as it does in the
3281   new Comments field (see "How can I make sense of the replcomps
3282   file?"). However, the old format is no longer allowable under RFC
3283   2822 which specifies that this field should only include the
3284   Message-ID. You can fix the replcomps and replgroupcomps files by
3285   upgrading to nmh 1.1 (be sure to update your personal copies if
3286   applicable) or simply by fixing the In-reply-to field in your own
3287   replcomps file using the example in the question referenced in this
3288   paragraph.
3289
3290   In addition, older replcomps files lacked the References field which
3291   enables threading in capable UIs. You can get it in the same fashion
3292   as the In-reply-to field--by upgrading or copying.
3293
3294 ------------------------------
3295
3296 Subject: 06.00 ***** Posting *****
3297 From: Bill Wohler <wohler at newt.com>
3298 Date: Fri, 1 Mar 1991 13:03:15 -0800
3299
3300 ------------------------------
3301
3302 Subject: 06.01 What to do with "Problems with edit - draft removed".
3303 From: John Romine <jromine at ics.uci.edu>
3304 Date: Mon, 1 May 1995 00:00:00 -0800
3305
3306   If your users are using an AT&T version of "vi", it's exiting with
3307   non-zero status (supposedly a count of the "errors" during the
3308   edit). Move "vi" to "broken_vi" and put it its place :
3309
3310     #! /bin/sh
3311     /usr/ucb/broken_vi "$@"
3312     exit 0
3313
3314   Alternatively, compile MH with the ATTVIBUG option.
3315
3316   Then complain to your vendor that "vi" is broken, and they shouldfix it.
3317
3318 ------------------------------
3319
3320 Subject: 06.02 Can I run my message through a program (e.g., ispell) before sending?
3321 From: Jerry Peek <jpeek at jpeek.com>
3322 Date: Fri, 1 Mar 1991 13:03:15 -0800
3323
3324   It's pretty simple. If your speller is called myspell, use:
3325
3326     What now? edit myspell
3327
3328   MH will actually execute:
3329
3330     myspell /your-mail-draft-directory/draftfile
3331
3332   and give the entire draft message to your speller. The header will
3333   probably be "misspelled," of course, though you might be able to
3334   tell the speller to ignore it--or you could hack up a little shell
3335   script to run the speller on just the message body, then tack the
3336   corrected body back onto the header before sending.
3337
3338   You can automate this some more. For example, if you want your
3339   speller to run after your first edit with "prompter" and also after
3340   you leave the "vi" editor, add these lines to your MH profile:
3341
3342       prompter-next: myspell
3343       vi-next: myspell
3344
3345   Then, at the "What now?" prompt:
3346
3347       What now? e
3348
3349   your speller will run. For more info, see the mh-profile(5) man page
3350   or section 7.2.1 (6.2.1) of the MH book, or the URL:
3351
3352     http://rand-mh.sourceforge.net/book/mh/chaedi.html#Edi
3353
3354 ------------------------------
3355
3356 Subject: 06.03 What to do with "bad address 'xxx' - no at-sign after local-part".
3357 From: Owen Rees <rtor at ansa.co.uk>
3358 Date: Fri, 1 Jan 1993 00:00:00 -0800
3359
3360   You may find that post returns the following message:
3361
3362     post: bad address 'Mr. Foo Bar <fb@somewhere.edu>' - no at-sign
3363     after local-part (Bar), continuing...
3364
3365   The unquoted dot causes "Mr. Foo" to be parsed as the local part of
3366   the address. Either remove the dot, or rewrite the address as
3367   follows:
3368
3369     "Mr. Foo Bar" <fb@somewhere.edu>
3370     (Mr. Foo Bar) <fb@somewhere.edu>
3371     (Mr. Foo Bar) fb@somewhere.edu
3372
3373 ------------------------------
3374
3375 Subject: 06.04 Fixing "post: problem initializing server; [BHST] no servers available"
3376 From: Peter Marvit <marvit at hplabs.hpl.hp.com>,
3377         Eric Bracken <bracken at bacon.performance.com>
3378 Date: Tue, 1 Nov 1994 00:00:00 -0800
3379
3380   The error message itself is essentially correct. However, what this
3381   really means is: MH's post cannot connect to a running sendmail over
3382   an SMTP port (MH configured with SMTP and SENDMTS).
3383
3384   The potential problems:
3385
3386   1. Your local sendmail daemon is dying or not running for some
3387      reason.
3388
3389   2. You use BIND and your local nameserver is not responding.
3390      Solution: Delete "/etc/resolv.conf."
3391
3392   3. Your $MHLIB/mts.conf (mtstailor) has its "servers:" pointing to a
3393      non-existent machine or a machine which is a) not reachable or b)
3394      not running the sendmail daemon.
3395
3396 From: Bdale Garbee <bdale at col.hp.com>,
3397         Eric Bracken <bracken at bacon.performance.com>
3398 Date: Sun, 1 May 1994 00:00:00 -0800
3399
3400   4. The hostname localhost [127.0.0.1] is missing from /etc/hosts.
3401
3402      Solution: add an entry for "localhost" to /etc/hosts or your DNS
3403      database or add the following to $MHLIB/mts.conf (mtstailor):
3404
3405        servers: 127.0.0.1 \01localnet
3406
3407 From: Larry Daffner <ldaffner at convex.com>
3408 Date: 3 Mar 1996 14:39:54 -0600
3409
3410   5. Your load average is so high that sendmail is refusing
3411      connections.
3412
3413      Solution: Change your configuration from "mta: sendmail/smtp" to
3414      "mta: sendmail" so that a sendmail processes is spawned to
3415      deliver the message. This is a double-edged sword since the extra
3416      process only makes the load worse.
3417
3418 From: Corbin Covault <cec8 at po.cwru.edu>
3419 Date: Sun, 02 Sep 2001 02:13:42 -0400
3420
3421   6. Sendmail may not be located on the path that MH expects.
3422
3423      Solution: Try specifying the path explicitly by adding a line to
3424      mts.conf thus:
3425
3426        sendmail: /usr/sbin/sendmail
3427
3428      or wherever your sendmail daemon executable lives.
3429
3430 From: Neil W Rickert <rickert+nn at cs.niu.edu>
3431 Date: 13 Apr 2001 18:47:43 -0500
3432
3433   7. You don't want to use an available server.
3434
3435      Solution: Try
3436
3437        postproc: /usr/local/lib/mh/spost
3438
3439      in your MH profile (but check the path first). That should use
3440      command line sendmail.
3441
3442 ------------------------------
3443
3444 Subject: 06.05 Fixing "post: problem initializing server; [RPLY] 503 Sender already specified"
3445 From: Paul Pomes <ppomes at Qualcomm.com>
3446 Date: Mon, 1 Mar 1993 00:00:00 -0800
3447
3448   The problem in sendmail is that the RSET after the ONEX does not
3449   reset all the state information.  Normally sendmail fork()s after
3450   the Mail from: statement and a RSET causes that child to exit. This
3451   automatically cleans up.  If the fork() is suppressed by ONEX, then
3452   the source must be modified to do the cleanup.  See "srvrsmtp.c
3453   patch" in the Appendix.  If you don't have the sources, modify your
3454   MH sources to not use the ONEX verb.
3455
3456 ------------------------------
3457
3458 Subject: 06.06 Fixing "post: unexpected response; [BHST] no socket opened"
3459 From: Steve Lembark <lembark at wrkhors.la.ca.us>, Bill Wohler <wohler at newt.com>
3460 Date: Mon, 1 Aug 1994 00:00:00 -0800
3461
3462   This problem happens when there is no interface defined within the
3463   tcp system.  A couple of workarounds include:
3464
3465   o Use a hostname (other than the local host) instead of localhost in
3466     the "servers" entry of the $MHLIB/mts.conf (mtstailor) file.
3467   o Recompile MH with sendmail instead of sendmail/smtp (not very
3468     elegant).
3469
3470   A better fix would be to define your tcp interface.
3471
3472   Here, you run ifconfig and route (as root) to define the loopback
3473   device and route. You should add them to rc.local so they are
3474   effected at every boot.
3475
3476     # ifconfig lo 127.0.0.1                     # Linux
3477     # ifconfig lo0 127.0.0.1            # Sun
3478
3479     # route 127.0.0.1
3480
3481   If all is well, "ifconfig lo" (or lo0), will show something like
3482   this (on my Linux system):
3483
3484     lo        Link encap Local Loopback
3485               inet addr 127.0.0.1  Bcast 127.255.255.255  Mask 255.0.0.0
3486               UP LOOPBACK RUNNING  MTU 2000  Metric 0
3487               RX packets 0 errors 0 dropped 0 overrun 0
3488               TX packets 519 errors 0 dropped 0 overrun 0
3489
3490   and "netstat -r" will show:
3491
3492     # netstat -r
3493     Destination net/address   Gateway address    Flags RefCnt    Use Iface
3494     127.0.0.0                 *                  UN         0    519 lo
3495
3496   If you're not on a network and running DNS, your /etc/hosts will
3497   need at least:
3498
3499     127.0.0.1   your_host_name localhost        # loopback address
3500
3501   Note: put your name FIRST on the localhost line. This official name
3502   is used by sendmail to determine your return address.
3503
3504   If you are on a network and running DNS, you might find that putting
3505   your host name in the localhost entry might gum up other things, in
3506   which case you'll want your hostname to have its own proper address.
3507
3508   This might not do it though. David Youatt <dpy at sgi.com> says that
3509   his network was happy but he still had the problem until he upgraded
3510   his system and got the latest revision of sendmail as well. He says:
3511   "Turns out that that the problem I was having seems to be caused (at
3512   least partly, maybe entirely) by the version of sendmail that is
3513   shipped with IRIX 5.2 (sendmail 5.65, I think). The version shipped
3514   w/IRIX 5.3 (in beta) is sendmail 8.6.9 and works fine."
3515
3516   I'm not entirely happy with this section, so please give me some
3517   feedback. If you have this problem, please send me <wohler at
3518   newt.com> a brief description so I'll know which problems and
3519   solutions seem to be the most prevalent.
3520
3521 ------------------------------
3522
3523 Subject: 06.07 How do I fix the "X-Authentication-Warning" header?
3524 From: Bill Wohler <wohler at newt.com>
3525 Date: Mon, 9 Sep 1996 01:32:15 -0700
3526
3527   (See "Fixing "Sender didn't use the HELO protocol"".)
3528
3529 ------------------------------
3530
3531 Subject: 06.08 Fixing "post: unexpected response; [RPLY] 503 Need MAIL before RCPT"
3532 From: Bjoern Stabell <bjoerns at acm.org>
3533 Date: Mon, 1 May 1995 00:00:00 -0800
3534
3535   I inserted:
3536
3537     clientname: localhost
3538
3539   in the $MHLIB/mts.conf (mtstailor) file, and that fixed the problem.
3540
3541 ------------------------------
3542
3543 Subject: 06.09 Fixing "post: problem initializing server; [BHST] premature end-of-file on socket"
3544 From: Ginko <gianluca at noroboter.rotoni.com>
3545 Date: Thu, 8 Mar 2001 09:18:14 +0000 (UTC)
3546
3547   I have sendmail under control of tcpwrapper started by inetd and
3548   didn't want to take it away, the very simple fix to this problem was
3549   to allow the localhost on /etc/hosts.allow on the sendmail entry.
3550
3551 From: Stefan Huebner <sh at muc.de>
3552 Date: Wed, 11 Sep 1996 20:06:49 +0200
3553
3554   Use spost instead of post.  To do this:
3555
3556     % mv post post.orig
3557     % ln -s spost post
3558
3559 From: Chuck Mattern <cmattern at mindspring.com>
3560 Date: Mon, 1 May 1995 00:00:00 -0800
3561
3562   If you are running sendmail instead of smail, make sure that all
3563   smtp entries in /etc/inetd.conf are commented out. If you do edit
3564   /etc/inetd.conf, don't forget to run to restart inetd with "kill -1
3565   <inetd PID>".
3566
3567 ------------------------------
3568
3569 Subject: 06.10 Fixing "Sender didn't use the HELO protocol"
3570 From: rickert at cs.niu.edu (Neil Rickert)
3571 Date: Tue, 20 Mar 2001 22:01:16 -0800
3572
3573   If you are sharing your $MHLIB/mts.conf (mtstailor) file among
3574   several machines, and you are connecting to the local sendmail, then
3575   use 'localhost' as the hostname argument to the clientname parameter
3576   (described below).
3577
3578   Otherwise, place mts.conf somewhere under /etc on each system, and
3579   install a symlink to it on the shared file system.
3580
3581 From: labrown at dg-rtp.dg.com (Lance A. Brown)
3582 Date: 23 Apr 1996 14:43:04 -0400
3583
3584   You can solve this by putting
3585
3586     localname:      localhostname
3587     localdomain:    local.domain.name
3588
3589   in your $MHLIB/mts.conf (mtstailor) file. This will make MH send a
3590   HELO string in the SMTP transaction.
3591
3592 From: Terry Manderson <terry at azure.dstc.edu.au>
3593 Date: Mon, 1 May 1995 00:00:00 -0800
3594
3595   Add
3596
3597     clientname sender
3598
3599   to $MHLIB/mts.conf (mtstailor) where sender is the name of the
3600   machine sending the message. The error message occurs because newer
3601   MTA's require SMTP's "HELO" command which MH omits in some
3602   configurations. When you add the above line, it forces MH to use the
3603   HELO command.
3604
3605 From: Bill Wohler <wohler at newt.com>
3606 Date: Fri, 1 Mar 1991 13:03:15 -0800
3607
3608   You get a header like:
3609
3610     X-Authentication-Warning: screamer.rtp.ericsson.se: Host
3611     rcur7.rtp.ericsson.se didn't use HELO protocol
3612
3613   Easy possibilities are: apply the patch to MH that comes with
3614   Sendmail 8.X.X and makes it use HELO, or comment out the line that
3615   says
3616
3617     Opauthwarnings
3618
3619   in your sendmail.cf.
3620
3621 ------------------------------
3622
3623 Subject: 06.11 Fixing "post: problem initializing server; [RPLY] 553 Local configuration error, hostname not recognized as local"
3624 From: "Matthew V. J. Whalen" <whalenm at aol.net>
3625 Date: Mon, 1 May 1995 00:00:00 -0800
3626
3627   Change your "mts" in "conf/MH" from "sendmail/smtp" to just
3628   "sendmail."
3629
3630 From: Bill Wohler <wohler at newt.com>
3631 Date: Mon, 1 May 1995 00:00:00 -0800
3632
3633   The solution above will keep MH from using any SMTP server on your
3634   network. require sendmail to be installed on all machines. You could
3635   take advantage of the "sendmail/smtp" option to have MH talk to a
3636   non-local sendmail. In $MHLIB/mts.conf (mtstailor) add:
3637
3638     servers <SMTP-server>
3639
3640   It may also be caused by old versions of sendmail.
3641
3642 ------------------------------
3643
3644 Subject: 07.00 ***** Mail Filters *****
3645 From: Bill Wohler <wohler at newt.com>
3646 Date: Fri, 1 Mar 1991 13:03:15 -0800
3647
3648 ------------------------------
3649
3650 Subject: 07.01 What mail filters are available?
3651 From: Bill Wohler <wohler at newt.com>
3652 Date: Sun, 11 Mar 2001 10:27:24 -0800
3653
3654   The list currently includes slocal (included with MH), deliver,
3655   procmail and mailagent. They are briefly described here. Slocal is
3656   probably the most popular by virtue of being included in the
3657   distribution. The next most popular entry is procmail, followed by
3658   deliver.
3659
3660   Slocal comes with MH. It can be used to process incoming mail based
3661   on the contents of any of the headers. Actions include filing
3662   messages, running commands, printing messages on your terminal and
3663   so on. The configuration is made in ~/.maildelivery. People seem to
3664   have trouble with slocal bugs, and you can't use it if you don't
3665   have write permission on your system maildrop so a lot of people
3666   have opted for the alternatives, but it's easy to use and comes with
3667   MH.
3668
3669   procmail is quite popular and has a very powerful configuration
3670   file. However, the syntax is its own, but it is easy to learn given
3671   a couple of good examples. Its advantages are its small size and
3672   speed. Like deliver, procmail may be installed as a delivery agent
3673   so you would not even have to have a .forward file.
3674
3675   Deliver can run any script or program (called ~/.deliver), so you
3676   really can do anything you want to incoming mail. One feature that
3677   it sports that no other does is that you can install it as a local
3678   mailer in place of /bin/mail. If it's the local mailer, you don't
3679   need to have a .forward--~/.deliver is run anyway. In addition, it
3680   allows the system administrator to write some programs to filter
3681   everybody's mail. It came with my Linux system, so installation was
3682   non-existent.
3683
3684   I started with slocal, and then moved to deliver. I switched to
3685   procmail because of a bug in deliver (which I think has since been
3686   fixed) whereby a blank line would be inserted into the header before
3687   header fields with numbers in them.
3688
3689   I am still using procmail and probably will do so indefinitely since
3690   it is powerful, there are many spam filters written in it, and it
3691   coexists with MH and Gnus so well.
3692
3693   My recommendation is to use the one that is installed on your system
3694   or get procmail. Here are the URLs for the filters mentioned in this
3695   document:
3696
3697     http://www.procmail.org/
3698
3699 From: "Eric D. Friedman" <friedman at hydra.acs.uci.edu>
3700 Date: 28 Aug 1996 08:28:46 GMT
3701
3702   See http://www.faqs.org/faqs/mail/filtering-faq/index.html.
3703
3704 From: Stephen R. van den Berg <berg at pool.informatik.rwth-aachen.de>
3705 Date: Mon, 1 Aug 1994 00:00:00 -0800
3706
3707   Procmail can be used to create mail-servers, mailing lists, sort
3708   your incoming mail into separate folders/files (real convenient when
3709   subscribing to one or more mailing lists or for prioritizing your
3710   mail), preprocess your mail, start any programs upon mail arrival
3711   (e.g. to generate different chimes on your workstation for different
3712   types of mail) or selectively forward certain incoming mail
3713   automatically to someone.
3714
3715 From: Raphael Manfredi <Raphael_Manfredi at pobox.com>
3716 Date: Tue, 28 Jul 1998 13:22:07 +0200
3717
3718   "mailagent" is yet another mail filter, written in perl, which will
3719   let you do anything with your mail. It has all the features you may
3720   expect from a filter: mailing lists sorting, forwarding to MTA or to
3721   inews, pre-processing of message before saving into folder, vacation
3722   mode, etc. It was initially written as an Elm-filter replacement,
3723   but has now enough power to also supplant MMDF's .maildelivery.
3724   There is also a support for @SH mail hooks, which allows you to
3725   automatically distribute patches or software via command mails.
3726
3727   The mailagent was designed to make mail filtering as easy as it can
3728   be. It is highly configurable and fairly complete. Rules are
3729   specified in a lex-like style, with the full power of perl's regular
3730   expressions. The automaton supports the notion of mode, and header
3731   selection has many magic features built-in, to ease the rule writing
3732   process.
3733
3734   The distribution comes with a set of examples, an exhaustive test
3735   suite, and naturally a detailed manual page. It should be noted that
3736   the mailagent will work even if your system administrator forbids "|
3737   programs" hooks in the ~/.forward, provided you have access to some
3738   sort of cron daemon.
3739
3740     http://www.cpan.org/authors/Raphael_Manfredi/
3741
3742 ------------------------------
3743
3744 Subject: 07.02 Why slocal writes messages to system mailbox that from(1) can't read.
3745 From: Bill Wohler <wohler at newt.com>
3746 Date: Mon, 1 May 1995 00:00:00 -0800
3747
3748   Upgrade to MH 6.8 and set the RPATHS option. Better yet, use a more
3749   MH-like command instead of from: "scan -file $MAIL".
3750
3751 ------------------------------
3752
3753 Subject: 07.03 Where can I read about slocal and the format of .maildelivery?
3754 From: Bill Wohler <wohler at newt.com>
3755 Date: Fri, 1 Mar 1991 13:03:15 -0800
3756
3757   See the slocal man page.
3758
3759   Here is brief example of a .maildelivery file that stores messages
3760   to babble in a folder and the system mailbox, stores mh-users in a
3761   folder but not the system mailbox, and puts the rest in the system
3762   mailbox.
3763
3764     to  mh-users  | A "$MHLIB/rcvstore -create +lists/mh-users"
3765     cc  mh-users  | A "$MHLIB/rcvstore -create +lists/mh-users"
3766     to  babble    | R "$MHLIB/rcvstore -create +lists/babble"
3767     cc  babble    | R "$MHLIB/rcvstore -create +lists/babble"
3768     default -     > ? /usr/spool/mail/wohler
3769
3770   Your .forward file may look like (quotes necessary):
3771
3772     "| $MHLIB/slocal -user your_login"
3773
3774   In some implementations, the "-user your_login" is not needed. If
3775   not, manually running slocal with the flag will produce an error.
3776
3777   See also chapter 12 (11) in the MH book, or the URL:
3778
3779     http://rand-mh.sourceforge.net/book/mh/tocs/prmaau.html
3780
3781   Alternatives to slocal include deliver, procmail, and mailagent.
3782   (See "What mail filters are available?")
3783
3784 ------------------------------
3785
3786 Subject: 07.04 How do I debug my .maildelivery file?
3787 From: Bill Wohler <wohler at newt.com>
3788 Date: Mon, 1 Mar 1993 00:00:00 -0800
3789
3790   Use as many of the following as necessary.
3791
3792   Put a message into a file and call slocal directly on it.
3793
3794     $MHLIB/slocal -user $USER -verbose -debug < test-msg
3795
3796   Modify your .forward to look like:
3797
3798     "|/bin/sh -c 'exec >> /tmp/out 2>&1;
3799     $MHLIB/slocal -user $USER -verbose -debug'"
3800
3801   Or modify a rule in .maildelivery to look like this:
3802
3803     to foo | R "set -xv; exec >/tmp/out 2>&1; $MHLIB/rcvstore +foo"
3804
3805   The previous examples are broken up for readability; the text must
3806   appear on one line.
3807
3808   See also MH book section 12.11 (11.11), or the URL:
3809
3810     http://rand-mh.sourceforge.net/book/mh/debugti.html
3811
3812 ------------------------------
3813
3814 Subject: 07.05 Why isn't slocal working?
3815 From: Bill Wohler <wohler at newt.com>
3816 Date: Mon, 1 Mar 1993 00:00:00 -0800
3817
3818   If slocal doesn't appear to be doing anything, run the following
3819
3820     $MHLIB/slocal -user your_login -verbose < file
3821
3822   where "file" is some message in a mail folder. If you get something
3823   like:
3824
3825     .maildelivery: ownership/modes bad (0, 154,154,0100666)
3826
3827   your .maildelivery is writable by too many people. Make it writable
3828   only by you by running "chmod 644 .maildelivery".
3829
3830   See also "How do I debug my .maildelivery file?"
3831
3832 ------------------------------
3833
3834 Subject: 07.06 Are there any good biff applications for MH?
3835 From: Rob Austein <sra at epilogue.com>
3836 Date: Tue, 01 Dec 1998 03:02:34 -0500
3837
3838   I've been been using a program called xlbiff (X Literate Biff) and
3839   have been quite happy with it. By default, xlbiff generates its
3840   pop-up listings by running scan on your mail drop file, but it's not
3841   a big deal to customize xlbiff for more complicated setups if you
3842   make heavy use of procmail, multiple mail drops, and so on.
3843
3844 From: Richard Coleman <coleman at math.gatech.edu>
3845 Date: 07 Jul 1997 03:31:42 -0400
3846
3847   nmh (new MH) has an additional command (flist) that will tell you
3848   which folders have unseen messages. I can't imagine using MH without
3849   it.
3850
3851 From: crow at tivoli.com (David L. Crow)
3852 Date: 7 Jul 97 09:36:32 GMT
3853
3854   I have used the following X resource with xbiff before:
3855
3856     xbiff*checkCommand: grep -q '^unread' `mhpath +inbox`/.mh_sequences \
3857                         && exit 0 || exit 2
3858
3859   This should be all one line, but I split it with a line continuation
3860   character for readability.
3861
3862 ------------------------------
3863
3864 Subject: 07.07 How do I read new messages filed by procmail?
3865 From: Bill Wohler <wohler at newt.com>
3866 Date: Sun, 17 Oct 2004 15:17:14 -0700
3867
3868   If you use MH-E, use "F n (mh-index-new-messages)" to display unseen
3869   messages.
3870
3871 From: Neil W Rickert <rickert+nn at cs.niu.edu>
3872 Date: 23 Apr 2002 20:38:57 GMT
3873
3874   Here is my "unseen" shell script:
3875
3876   #! /bin/sh -
3877
3878   case "$1" in
3879    "") grep unseen $HOME/Mail/context $HOME/Mail/*/.mh_sequences |
3880           sed     -e '/\/fromme\//d' \
3881                   -e "s=$HOME/Mail/==" \
3882                   -e 's=/.mh_sequences:unseen=='
3883       ;;
3884    "+") shift
3885       mark -sequence unseen -add "$@"
3886       ;;
3887    "-") shift
3888       mark -sequence unseen -delete "$@"
3889       ;;
3890    *) echo "Invalid arguments $*"
3891       ;;
3892   esac
3893
3894 From: Paul Fox <pgf-spam at foxharp.boston.ma.us>
3895 Date: Tue, 23 Apr 2002 20:13:42 GMT
3896
3897   I have procmail deliver to a set of mbox files and use "inc -f foo"
3898   to inc from them. The names of the mbox files are the same as the MH
3899   folders which makes it easy to write a script that does something
3900   like this:
3901
3902       cd Mailboxes
3903       for x in *; do
3904           inc -f $x +$x
3905       done
3906
3907 ------------------------------
3908
3909 Subject: 08.00 ***** MH-E *****
3910 From: Bill Wohler <wohler at newt.com>
3911 Date: Fri, 1 Mar 1991 13:03:15 -0800
3912
3913 ------------------------------
3914
3915 Subject: 08.01 I have a question about MH-E
3916 From: Bill Wohler <wohler at newt.com>
3917 Date: Sat, 3 Mar 2001 13:51:29 -0800
3918
3919   Let me send you over to:
3920
3921     http://mh-e.sourceforge.net/
3922
3923   This is the SourceForge MH-E project. It has mailing lists and files
3924   to download, and will let you submit patches or support requests.
3925
3926   The Support Requests section may already contain an answer to your
3927   question. If not, you can post your question:
3928
3929     http://sourceforge.net/tracker/?group_id=13357&atid=213357
3930
3931 ------------------------------
3932
3933 Subject: 09.00 ***** Xmh *****
3934 From: Bill Wohler <wohler at newt.com>
3935 Date: Fri, 1 Mar 1991 13:03:15 -0800
3936
3937 ------------------------------
3938
3939 Subject: 09.01 How can I get xmh to use Emacs as the editor?
3940 From: Bob Ellison <ellison at sei.cmu.edu>
3941 Date: Fri, 1 Mar 1991 13:03:15 -0800
3942
3943   The modifications to xmh to support an external editor, annotations,
3944   and an append command can be found in the these places.
3945
3946     ftp://ftp.x.org/R5contrib/xmh-mods-R5-1.7.Z                         37k
3947     ftp://ftp.sei.cmu.edu/pub/xmh/xmh-mods-R5-1.7.Z                     37k
3948     ftp://ftp.sei.cmu.edu/pub/xmh/xmh-mods-R6-1.0.Z                     37k
3949
3950 From: Andrew Wason <aw at bae.bellcore.com>
3951 Date: Fri, 1 Mar 1991 13:03:15 -0800
3952
3953   As of R5, xmh has a new action proc called XmhShellCommand. A string
3954   parameter will be executed as a shell command with the currently
3955   selected messages as parameters (or the current message if there are
3956   no selected messages).
3957
3958   Using this new action, a couple of shell scripts, a window version
3959   of emacs (e.g. xemacs) and some elisp code, xmh can use emacs as its
3960   editor instead of the built in Athena text widget editor. This
3961   doesn't require any source code changes to xmh. These are included
3962   in the Appendix "Switching xmh's editor".
3963
3964 ------------------------------
3965
3966 Subject: 09.02 Does xmh support subfolders?
3967 From: Steve Malowany <malowany at cenparmi.concordia.ca>
3968 Date: Fri, 1 Mar 1991 13:03:15 -0800
3969
3970   Yes. Create one by invoking "Create Folder" as usual, and enter
3971   something like: existing-folder/new-sub-folder. You can then access
3972   the subfolder by popping up a menu over the "existing-folder" button
3973   item.
3974
3975   But:
3976
3977 From: John Cooper <jsc at saxon.Eng.Sun.COM>
3978 Date: Fri, 1 Mar 1991 13:03:15 -0800
3979
3980   The R5 version of xmh does *not* handle nested sub-folders. If you
3981   create a folder as 'grab/some/bandwidth', xmh displays this folder
3982   name for the remainder of the session where it was created, BUT if
3983   you later re-run xmh, the folder is no longer visible to xmh.
3984
3985   See also MH book section 15.6.2 (15.6.2), or the URL:
3986
3987     http://rand-mh.sourceforge.net/book/xmh/orgfol.html#FolaSub
3988
3989 ------------------------------
3990
3991 Subject: 09.03 How do I precede included messages with ">" when replying in xmh?
3992 From: Len Makin <len at mel.dit.csiro.au>
3993 Date: Fri, 1 Mar 1991 13:03:15 -0800
3994
3995   Include the following line in your ~/app-defaults/XMh file:
3996
3997     Xmh*replyInsertFilter: "sed 's/^/> /'"
3998
3999   or,
4000
4001     Xmh.ReplyInsertFilter: $MHLIB/mhl -form repl.filter
4002
4003 From: Andy Linton <andy.linton at comp.vuw.ac.nz>
4004 Date: Fri, 1 Mar 1991 13:03:15 -0800
4005
4006   Using this means that you can chose to insert the original by use of
4007   the "Insert" button in the Draft message pane. See "How do I include
4008   messages in repl with or without ">"?" to find examples of
4009   repl.filter.
4010
4011   See also MH book sections 15.1.4 (15.1.4), 16.3.3 (16.3.3), or the URLs:
4012
4013     http://rand-mh.sourceforge.net/book/xmh/senmai.html#MorRep
4014     http://rand-mh.sourceforge.net/book/xmh/resfun.html#Rep
4015
4016 ------------------------------
4017
4018 Subject: Glossary
4019 From: Bill Wohler <wohler at newt.com>
4020 Date: Wed, 29 Sep 2004 00:04:34 -0700
4021
4022   MH    Mail Handler
4023   MHLIB Where MH support routines and files are kept; usually /usr/lib/mh
4024         or /usr/local/lib/mh.
4025   POP3  Post Office Protocol, RFC 1939
4026   MMDF  Multi-channel Memo Distribution Facility
4027   MIME  Multipurpose Internet Mail Extensions, RFC 1521
4028   IMAP  Internet Message Access Protocol, RFC 1064, 1176
4029   TIS   Trusted Information Systems
4030   PEM   Privacy Enhanced Mail
4031   PGP   Pretty Good Privacy
4032   SMTP  Simple Mail Transport Protocol (STD 10; RFC 821)
4033
4034 ------------------------------
4035
4036 Subject: Acknowledgments
4037 From: Bill Wohler <wohler at newt.com>
4038 Date: Mon, 9 Sep 1996 01:37:27 -0700
4039
4040 I'd like to thank the following people for providing ideas on the
4041 layout of this article:
4042
4043 Joe Wells <jbw at bigbird.bu.edu>        Richard M. Stallman <rms at gnu.org>
4044 David Elliott <dce at smsc.sony.com>     Tom Christiansen <tchrist at perl.com>
4045 Eugene N. Miya <eugene at nas.nasa.gov>
4046
4047 We are also grateful to Kim F. Storm <storm at olicom.dk> and Edward
4048 Vielmetti <emv at ox.com> and the folks mentioned in the text of this
4049 document who have provided answers or other information to make this a
4050 better document.  I regret that it is possible that some names have
4051 been accidently omitted.  I would also like to thank all the readers
4052 of comp.mail.mh.
4053
4054 I'd also like to thank John Romine <jromine at yoyodyne.ICS.UCI.EDU> for
4055 maintaining MH and the MH Web page, Jerry Peek <jpeek at jpeek.com> for
4056 writing the MH bible and for all his hard work with the entire MH
4057 project, Stephen Gildea <gildea at stop.mail-abuse.org> for maintaining MH-E
4058 in years past and always sending me lots of great comments, Kimmo
4059 Suominen <kim at tac.nyc.ny.us> for maintaining the MH patch page, and
4060 Richard Coleman <coleman at math.gatech.edu> for taking MH to nmh.
4061
4062 ------------------------------
4063
4064 Subject: Switching xmh's editor
4065 From: Andrew Wason <aw at bae.bellcore.com>
4066 Date: Fri, 1 Mar 1991 13:03:15 -0800
4067
4068 #! /bin/sh
4069 # This is a shell archive.  Remove anything before this line, then unpack
4070 # it by saving it into a file and typing "sh file".  To overwrite existing
4071 # files, type "sh file -c".  You can also feed this as standard input via
4072 # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
4073 # will see the following message at the end:
4074 #               "End of shell archive."
4075 # Contents:  README Xmh.ad xmh-command.el xmhcommand xmhemacs
4076 # Wrapped by aw@jello on Fri Nov 15 17:10:34 1991
4077 PATH=/bin:/usr/bin:/usr/ucb ; export PATH
4078 if test -f 'README' -a "${1}" != "-c" ; then
4079   echo shar: Will not clobber existing file \"'README'\"
4080 else
4081 echo shar: Extracting \"'README'\" \(1269 characters\)
4082 sed "s/^X//" >'README' <<'END_OF_FILE'
4083 XThis is a short description of what to do with each of the enclosed files.
4084 X
4085 XXmh.ad
4086 X  Merge this in with your xmh resources.  If you already have
4087 X  user defined buttons, then you may need to renumber the
4088 X  buttons in this resource file.
4089 X
4090 Xxmh-command.el
4091 X  Byte compile this file and put it in your GNU emacs load-path.
4092 X
4093 Xxmhcommand
4094 Xxmhemacs
4095 X  Put these somewhere in your path.
4096 X
4097 X
4098 XOnce you have installed these, restart the R5 xmh with the new
4099 Xresources.  When you press the repl, forw or comp buttons
4100 Xan xemacs window will come up with your draft message.
4101 X
4102 XOnce you have written your mail, save it and exit GNU emacs (C-xC-c).
4103 XYou will be prompted if you want to send the current message.
4104 XIf you enter 'y', the message will be sent and the output will
4105 Xbe displayed in an emacs window (in case you use -verbose or -snoop).
4106 XThen you will be prompted to exit emacs.  Enter 'y' when you are ready.
4107 X
4108 XIf you answered 'n' when prompted to send the message,
4109 Xthen the draft message will be deleted and emacs will exit.
4110 X
4111 XYou can modify the Xmh.ad resources to add more buttons.
4112 XAny MH command which accepts "+folder msg" can be used
4113 X(e.g. a replx shell script which includes the body of the
4114 Xmessage being replied to can be bound to a replx button)
4115 X
4116 X
4117 XAndrew Wason
4118 Xaw at bae.bellcore.com
4119 END_OF_FILE
4120 if test 1269 -ne `wc -c <'README'`; then
4121     echo shar: \"'README'\" unpacked with wrong size!
4122 fi
4123 # end of 'README'
4124 fi
4125 if test -f 'Xmh.ad' -a "${1}" != "-c" ; then
4126   echo shar: Will not clobber existing file \"'Xmh.ad'\"
4127 else
4128 echo shar: Extracting \"'Xmh.ad'\" \(457 characters\)
4129 sed "s/^X//" >'Xmh.ad' <<'END_OF_FILE'
4130 XXmh*CommandButtonCount:                        3
4131 X
4132 XXmh*commandBox.button1.label:          repl
4133 XXmh*commandBox.button1.translations:\
4134 X       #override\n\
4135 X       <Btn1Up>:       XmhShellCommand(xmhcommand y repl) unset()
4136 X
4137 XXmh*commandBox.button2.label:          forw
4138 XXmh*commandBox.button2.translations:\
4139 X       #override\n\
4140 X       <Btn1Up>:       XmhShellCommand(xmhcommand y forw) unset()
4141 X
4142 XXmh*commandBox.button3.label:          comp
4143 XXmh*commandBox.button3.translations:\
4144 X       #override\n\
4145 X       <Btn1Up>:       XmhShellCommand(xmhcommand n comp) unset()
4146 END_OF_FILE
4147 if test 457 -ne `wc -c <'Xmh.ad'`; then
4148     echo shar: \"'Xmh.ad'\" unpacked with wrong size!
4149 fi
4150 # end of 'Xmh.ad'
4151 fi
4152 if test -f 'xmh-command.el' -a "${1}" != "-c" ; then
4153   echo shar: Will not clobber existing file \"'xmh-command.el'\"
4154 else
4155 echo shar: Extracting \"'xmh-command.el'\" \(1294 characters\)
4156 sed "s/^X//" >'xmh-command.el' <<'END_OF_FILE'
4157 X;;; These functions are for use with xemacs and xmh.
4158 X;;; The R5 xmh has a new action - XmhShellCommand which executes
4159 X;;; a shell command with the current msg as an arg.
4160 X;;; By executing something like:
4161 X;;;    XmhShellCommand(xmhcommand repl)
4162 X;;; you can use xemacs as your editor with xmh.
4163 X;;;
4164 X;;; The following elisp functions perform the basic whatnowproc functionality
4165 X;;; (quitting and deleting, sending)
4166 X;;;
4167 X;;; Andrew Wason  aw at bae.bellcore.com
4168 X
4169 X
4170 X;;; Override C-xC-c
4171 X(define-key indented-text-mode-map "\C-x\C-c" 'xmh-command-send-or-delete)
4172 X
4173 X
4174 X(setq mhdraft (getenv "mhdraft"))      ; save the filename of the draft
4175 X
4176 X
4177 X(find-file mhdraft)                    ; load the draft letter
4178 X(indented-text-mode)
4179 X(setq draft-buffer (current-buffer))   ; save the buffer the draft is in
4180 X
4181 X
4182 X(defun xmh-command-send-or-delete ()
4183 X  "Prompt to send or delete letter, then quit."
4184 X  (interactive)
4185 X  (set-buffer draft-buffer)
4186 X  (if (y-or-n-p "Send message? ")
4187 X      (progn
4188 X       (save-buffer)                           ; save the draft buffer
4189 X       (message "Sending...")
4190 X       (pop-to-buffer "MH mail delivery"); pop to a buffer for "send" output
4191 X       (erase-buffer)
4192 X       (call-process "send" nil t t mhdraft)   ; call MH "send"
4193 X       (if (y-or-n-p "Exit? ")
4194 X           (kill-emacs)))                      ; exit emacs
4195 X    (delete-file mhdraft)                      ; delete the draft letter
4196 X    (kill-emacs)))                             ; exit emacs
4197 END_OF_FILE
4198 if test 1294 -ne `wc -c <'xmh-command.el'`; then
4199     echo shar: \"'xmh-command.el'\" unpacked with wrong size!
4200 fi
4201 # end of 'xmh-command.el'
4202 fi
4203 if test -f 'xmhcommand' -a "${1}" != "-c" ; then
4204   echo shar: Will not clobber existing file \"'xmhcommand'\"
4205 else
4206 echo shar: Extracting \"'xmhcommand'\" \(669 characters\)
4207 sed "s/^X//" >'xmhcommand' <<'END_OF_FILE'
4208 X#!/bin/sh
4209 X# This shell should be invoked by the xmh XmhShellCommand() action as
4210 X#   XmhShellCommand(xmhcommand y repl)
4211 X#   XmhShellCommand(xmhcommand n comp) etc.
4212 X# If the second arg is y, then the message list will be used.
4213 X
4214 X# We invoke the passed MH command on the identified message
4215 X# (we must strip the message number and folder from the pathname)
4216 X(if [ $1 = "y" ]
4217 Xthen
4218 X       $2 -whatnowproc xmhemacs +`dirname \`echo $3 | \
4219 X               sed "s;\\\`mhpath +\\\`/;;"\`` `basename $3`
4220 X
4221 X# You can use this more readable version instead if you have ksh
4222 X#      $2 -whatnowproc xmhemacs +$(dirname $(echo $3 | \
4223 X#              sed "s;$(mhpath +)/;;")) $(basename $3)
4224 X
4225 Xelse
4226 X       $2 -whatnowproc xmhemacs
4227 Xfi)&
4228 END_OF_FILE
4229 if test 669 -ne `wc -c <'xmhcommand'`; then
4230     echo shar: \"'xmhcommand'\" unpacked with wrong size!
4231 fi
4232 chmod +x 'xmhcommand'
4233 # end of 'xmhcommand'
4234 fi
4235 if test -f 'xmhemacs' -a "${1}" != "-c" ; then
4236   echo shar: Will not clobber existing file \"'xmhemacs'\"
4237 else
4238 echo shar: Extracting \"'xmhemacs'\" \(116 characters\)
4239 sed "s/^X//" >'xmhemacs' <<'END_OF_FILE'
4240 X#!/bin/sh
4241 X# Invoke xemacs and load the xmh-command.el stuff.
4242 X# xmhemacs is used by xmhcommand
4243 Xxemacs -l xmh-command
4244 END_OF_FILE
4245 if test 116 -ne `wc -c <'xmhemacs'`; then
4246     echo shar: \"'xmhemacs'\" unpacked with wrong size!
4247 fi
4248 chmod +x 'xmhemacs'
4249 # end of 'xmhemacs'
4250 fi
4251 echo shar: End of shell archive.
4252 exit 0
4253
4254 ------------------------------
4255
4256 Subject: babyl2mh.pl
4257 From: Vivek Khera <khera at cs.duke.edu>
4258 Date: Fri, 1 Mar 1991 13:03:15 -0800
4259
4260 #!/usr/gnu/bin/perl
4261 # incorporate an RMAIL babyl file into an MH folder
4262 #
4263 # usage: babyl2mh +folder babyl-file
4264 #
4265 # V. Khera <khera at cs.duke.edu> 17-JUL-1991
4266
4267 # where to find rcvstore
4268 $rcvstore = "/usr/local/lib/mh/rcvstore";
4269
4270 #
4271 # pull out command line args
4272 #
4273 die "usage: babyl2mh +folder babyl-file\n" unless @ARGV == 2;
4274
4275 $folder = shift;
4276 # make sure folder name starts with a "+"
4277 (substr($folder,0,1) eq "+") || (substr($folder,0,0) = "+");
4278 $bfname = shift;
4279
4280 print "Incorporating RMAIL file $bfname into MH folder $folder\n";
4281
4282 #
4283 # read in babyl file.
4284 #
4285 $/ = "\037";    # this separates the records in a babyl file
4286 $* = 1;         # records are multi-lines
4287
4288 open(BABYL,$bfname) || die "Couldn't open $bfname\n";
4289
4290 $_ = <BABYL>;   # discard header.
4291
4292 $msgnum = 0;
4293
4294 while (<BABYL>) {
4295   chop;         # get rid of delimeter
4296   s/\f(.|\n)*\*\*\* EOOH \*\*\*\n//;    # remove duplicate header information
4297   open(RCVSTORE,"|" . $rcvstore . " $folder");
4298   print RCVSTORE $_;
4299   $msgnum++;
4300   print "Message $msgnum done.\n";
4301 }
4302
4303 ------------------------------
4304
4305 Subject: inco - babyl to MH converter
4306 From: Juergen Nickelsen <nickel at cs.tu-berlin.de>
4307 Date: Fri, 1 Mar 1991 13:03:15 -0800
4308
4309 #!/bin/sh
4310 # Usage: inco [from [folder]]
4311 # "from" defaults to $HOME/Mail/outbound, "folder" to +inbox.
4312
4313 lispfile=/tmp/inco.$$.el
4314 input=${1-$HOME/Mail/outbound}
4315 tmpmbox=/tmp/inc.$$.mbox
4316 folder=${2-+inbox}
4317
4318 if [ $# -ge 3 ]; then
4319         echo Usage: `basename $0` [ from [ folder ]]
4320         exit 2
4321 fi
4322
4323 trap "rm -f $lispfile $tmpmbox ; exit 1" 1 2 15
4324
4325 touch $tmpmbox
4326 chmod 600 $tmpmbox
4327
4328 echo '(rmail-input "'$input'")
4329 (rmail-last-message)
4330 (setq last (rmail-what-message))
4331 (rmail-show-message 1)
4332 (while (not (equal (rmail-what-message) last))
4333   (rmail-output "'$tmpmbox'")
4334   (rmail-delete-forward nil))
4335 (rmail-output "'$tmpmbox'")
4336 (kill-buffer (current-buffer))
4337 ' > $lispfile
4338
4339 emacs -batch -l $lispfile
4340 inc -file $tmpmbox $folder
4341
4342 > $input
4343 rm -f $lispfile $tmpmbox
4344
4345 ------------------------------
4346
4347 Subject: t2h - add hyperlinks to message viewed
4348 From: TANAKA Tomoyuki <tanaka at step.mother.com>
4349 Date: Mon, 13 Sep 1999 11:35:43 -0600
4350
4351 #! /bin/sed -f
4352 # "t2h" by TT  news:alt.tanaka-tomoyuki  http://listen.to/TT
4353 # USE: t2h <file.txt >file.html
4354 # Or:  show | t2h | lynx -
4355
4356 s/&/\&amp;/g
4357 s/</\&lt;/g
4358 s/>/\&gt;/g
4359
4360 s/http:[^ "&)   ]*/<a href="&">&<\/a>/g
4361 s/news:[^ "&)   ]*/<a href="&">&<\/a>/g
4362 s/ftp:[^ "&)    ]*/<a href="&">&<\/a>/g
4363 s/telnet:[^ "&) ]*/<a href="&">&<\/a>/g
4364
4365 1i\
4366 <PRE>
4367
4368 $a\
4369 </PRE>
4370
4371 ------------------------------
4372
4373 Subject: srvrsmtp.c patch
4374 From: Paul Pomes <ppomes at Qualcomm.com>
4375 Date: Fri, 1 Mar 1991 13:03:15 -0800
4376
4377 >From the 5.67 sources:
4378
4379   *** srvrsmtp.c-       Mon Feb 22 12:25:54 1993
4380   --- srvrsmtp.c        Mon Feb 22 12:29:09 1993
4381   ***************
4382   *** 384,389 ****
4383   --- 384,395 ----
4384                           message("250", "Reset state");
4385                           if (InChild)
4386                                   finis();
4387   +
4388   +                       /* clean up a bit if running in parent */
4389   +                       hasmail = FALSE;
4390   +                       dropenvelope(CurEnv);
4391   +                       CurEnv = newenvelope(CurEnv);
4392   +                       CurEnv->e_flags = BlankEnvelope.e_flags;
4393                           break;
4394
4395                     case CMDVRFY:               /* vrfy -- verify address */
4396
4397 ------------------------------
4398
4399 Subject: IRIX config file
4400 From: Jack Repenning <jackr at informix.com>
4401 Date: 25 Jul 1995 02:35:41 GMT
4402
4403 # Irix 5.3 (based on examples/sys5r4)
4404 bboards on
4405 bin     /usr/local/bin/mh
4406 cc      cc
4407 ccoptions -g
4408 chown /bin/chown
4409 curses  -lcurses
4410 etc     /usr/local/lib/mh
4411 ldoptions -L/usr/local/lib/mh
4412 mail    /usr/mail
4413 mailgroup: mail
4414 manuals local
4415 mts     sendmail/smtp
4416 pop on
4417 popdir /usr/local/bin
4418 ranlib off
4419 #sharedlib sys5
4420 #slibdir /usr/local/lib/mh
4421 signal void
4422 sprintf int
4423 options BIND
4424 options DBMPWD
4425 options DUMB
4426 options FOLDPROT='"0700"'
4427 options MHE
4428 options MHRC
4429 options MIME
4430 options MORE='"/usr/bsd/more"'
4431 options MSGPROT='"0600"'
4432 options RENAME
4433 options RPATHS
4434 options SBACKUP='"\\#"'
4435 #options SENDMTS
4436 options SGI
4437 #options SMTP
4438 options SOCKETS
4439 options SVR4
4440 options SYS5
4441 options SYS5DIR
4442 options UNISTD
4443 options _XOPEN_SOURCE
4444 options VSPRINTF
4445
4446 From: David Paschich <dpassage at bigbook.com>
4447 Date: 23 Apr 96 21:27:12 GMT
4448
4449 # @(#)$Id$
4450 # a 4.2BSD VAX system running SendMail
4451 bin     /usr/local/bin/mh
4452 bboards off
4453 etc     /usr/local/lib/mh
4454 mail    /var/mail
4455 manuals local
4456 mandir  /usr/local/man
4457 chown   /sbin/chown
4458 ranlib  off
4459 mts     sendmail
4460 signal  void
4461 options BIND LOCKF FOLDPROT='"0700"' MHE MHRC MORE='"/usr/bsd/more"'
4462 options MSGPROT='"0600"' RPATHS SENDMTS SGI SMTP SOCKETS SYS5
4463 options TYPESIG="void" ncr MIME VSPRINTF UNISTD SYSVR4 SYS5DIR
4464
4465 ------------------------------
4466
4467 Subject: HP-UX 10.20 config file
4468 From: Marko Heikkinen <hema at iki.fi>
4469 Date: 06 Jan 1997 17:19:07 +0000
4470
4471 bin     /opt/mail/bin
4472 bboards on
4473 etc     /opt/mail/lib/mh
4474 editor  prompter
4475 remove  mv -f
4476 mail    /var/mail
4477 mandir  /opt/man
4478 manuals standard
4479 chown   /bin/chown
4480 cc      cc
4481 ccoptions       +DA1.0 +DS1.0
4482 curses  -lcurses
4483 mts     sendmail/smtp
4484 pop     off
4485 slibdir: /opt/mail/lib
4486 options SYS5
4487 options MHE
4488 options MIME
4489 options ATZ
4490 options BIND
4491 options MHE
4492 options MIME
4493 options ATZ
4494 options BIND
4495 options MHE
4496 options MHRC
4497 options MORE='"/opt/gnu/bin/less"'
4498 options MSGPROT='"0600"'
4499 options NDIR
4500 options NTOHLSWAP
4501 options POPUUMBOX
4502 options SOCKETS
4503 options SYS5
4504 options TZNAME
4505 options TYPESIG=void
4506 options VSPRINTF
4507 options WHATNOW
4508 options _STRINGS
4509 signal void
4510 curses  -lcurses -ltermlib
4511 sprintf int
4512
4513 ------------------------------
4514
4515 Subject: Removing duplicate messages (Bourne)
4516 From: Jerry Peek <jpeek at jpeek.com>
4517 Date: 20 Nov 1995 18:51:24 GMT
4518
4519   Here's a simple-minded Bourne shell version.  It uses
4520   "scan" to get the message number and message-id of each message.  If
4521   a message has the same message-id as the previous message, the
4522   script adds its message number to the "remove" shell variable.
4523
4524
4525         #!/bin/sh
4526         lastmsgid=hahahaha
4527         remove=
4528         scan -width 300 -format '%(msg) %{message-id}' |
4529         while read msg msgid; do
4530             if [ "$msgid" = "$lastmsgid" ]; then
4531                 remove="$remove $msg"
4532             else
4533                 lastmsgid="$msgid"
4534             fi
4535         done
4536         rmm $remove
4537
4538   That's pretty simple-minded.  For example, if the $remove variable
4539   gets too big, your system may complain.  And I'm sure there are some
4540   more-efficient ways to find the list of duplicate message-ids.  But
4541   that's the idea.
4542
4543 Subject: Removing duplicate messages (Perl)
4544 From: rtor at ansa.co.uk (Owen Rees)
4545 Date: 20 Nov 1995 12:39:47 GMT
4546
4547   I wrote a perl script to do this some time ago. All the usual dire
4548   warnings about destructive technology apply - take a backup, do it on
4549   a copy, try it on a small test case first etc. Don't use this script
4550   unless you are prepared to accept the consequences.
4551
4552 #!/usr/local/bin/perl
4553
4554 $version = "rmmdup 1";
4555
4556 if (@ARGV == 0) { $folder = ""; }
4557 elsif (@ARGV == 1) { $folder = $ARGV[0];
4558                      unless ( $folder =~ /^\+.+$/ )
4559                       { die "usage $0 [+folder]\n"; };
4560                    }
4561 else { die "usage $0 [+folder]\n"; };
4562
4563 $rmmlist = "";
4564
4565 open (scan, "scan $folder -format '%(msg) %{message-id}'|");
4566 while (<scan>)
4567  { if ( ($msg,$msgid) = /^(\d+) (<.*>)$/)
4568     { if ($msgs{$msgid})
4569        { print "$msg duplicates $msgs{$msgid}\n";
4570          $rmmlist .= " $msg";
4571        }
4572       else { $msgs{$msgid} = $msg; };
4573     };
4574  };
4575 if ( $rmmlist ) { exec "rmm $folder $rmmlist"; };
4576 exit;
4577
4578 Subject: Removing duplicate messages (Perl)
4579 From: Bill Wohler <wohler at newt.com>
4580 Date: Sun, 17 Oct 2004 13:00:20 -0700
4581
4582 #!/usr/bin/perl -w
4583 #
4584 # Id: mhfinddup 6593 2004-09-02 16:34:24Z wohler
4585
4586 =head1 NAME
4587
4588 mhfinddup - find duplicate messages
4589
4590 =head1 SYNOPSIS
4591
4592 mhfinddup [options] [folder ...]
4593
4594 =head1 DESCRIPTION
4595
4596 B<mhfinddup> finds and removes duplicate MH messages in the folders listed on
4597 the command line (default: current folder). By default, you deal with
4598 duplicate messages interactively. You can either remove the duplicate, not
4599 remove the duplicate, or view the original and duplicate message before
4600 deciding.
4601
4602 If you use the B<-msgid> option to B<send>, then you probably don't want to
4603 list any F<+outbox> folders if you are using the B<--no-same-folder> option
4604 and you want to preserve your sent messages as well as your messages to
4605 mailing lists.
4606
4607 Note that if you specify one or more folders, or if you use the B<--all>
4608 option, B<mhfinddup> recursively descends the given folders.
4609
4610 =head1 CONTEXT
4611
4612 Context is per B<flist>(1). That is, if F<+folder> is given, it will become
4613 the current folder. If multiple folders are given, the last one specified will
4614 become the current folder.
4615
4616 =head1 OPTIONS
4617
4618 =over 4
4619
4620 =item --all
4621
4622 Look for duplicates in all folders. If any folders are specified, this option
4623 is ignored.
4624
4625 =item --debug
4626
4627 Turn on debugging messages.
4628
4629 =item --help
4630
4631 Display the usage of this command.
4632
4633 =item --list
4634
4635 List duplicated messages.
4636
4637 =item --no-same-folder
4638
4639 Since it is common to use C<refile -link> to file a message in multiple
4640 folders, this script doesn't consider messages in different folders to be
4641 duplicates. Specify this option to list or remove duplicates across folders.
4642
4643 =item --rmm
4644
4645 Remove messages non-interactively. Use with care! For safety, the B<--list>
4646 option takes precedence if specified and is a good option to use before using
4647 B<--rmm>.
4648
4649 =item --version
4650
4651 Display program version.
4652
4653 =back
4654
4655 =head1 RETURN VALUE
4656
4657 Returns 0 if all is well; non-zero otherwise.
4658
4659 =head1 EXAMPLES
4660
4661 =over 0
4662
4663 =item mhfinddup
4664
4665 Interactively remove duplicates from the current folder.
4666
4667 =item mhfinddup --all --list --no-same-folder
4668
4669 List all duplicates regardless if they are in different folders or not.
4670
4671 =item mhfinddup --rmm +lists
4672
4673 Remove all duplicates in F<+lists>, recursively.
4674
4675 =back
4676
4677 =head1 SEE ALSO
4678
4679 B<rmm>(1), B<mhl>(1), B<scan>(1)
4680
4681 =head1 VERSION
4682
4683 Revision: 6593
4684
4685 =head1 AUTHOR
4686
4687 Bill Wohler <wohler at newt.com>
4688
4689 Copyright (c) 2003 Newt Software. All rights reserved.
4690
4691 This program is free software; you can redistribute it and/or
4692 modify it under the terms of the GNU General Public License
4693 as published by the Free Software Foundation; either version 2
4694 of the License, or (at your option) any later version.
4695
4696 This program is distributed in the hope that it will be useful,
4697 but WITHOUT ANY WARRANTY; without even the implied warranty of
4698 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
4699 GNU General Public License for more details.
4700
4701 You should have received a copy of the GNU General Public License
4702 along with this program; if not, you can find it at
4703 http://www.gnu.org/copyleft/gpl.html or write to the Free Software
4704 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
4705
4706 =head1 METHODS
4707
4708 =cut
4709
4710 # Packages and pragmas.
4711 use Getopt::Long;
4712
4713 use strict;
4714
4715 # Constants.
4716 my $cmd;                                # name by which command called
4717 ($cmd = $0) =~ s|^\./||;                # ...minus the leading ./
4718 my $ver = '6593';                       # program version with CVS noise
4719
4720 # Variables (may be overridden by arguments).
4721 my $all = 0;                            # look in all folders
4722 my $debug = 0;                          # verbose mode
4723 my $help = 0;                           # display usage
4724 my $version = 0;                        # display version
4725 my $list = 0;                           # list duplicates
4726 my $no_same_folder = 0;                 # consider duplicates across folders
4727 my $rmm = 0;                            # remove duplicates without asking
4728
4729 # Constants.
4730 my $mhl = "/usr/lib/mh/mhl";
4731 my $tmp = "/tmp/mhfinddup$$";
4732
4733 # Parse command line.
4734 # The use of the posix_default option is to ensure that folders like +a are
4735 # not confused with --all. I'd really prefer to set prefix_pattern to "(--|-)"
4736 # so that abbreviations of options can be used without being confused with
4737 # folders, but I couldn't make it so.
4738 my %opts;
4739 Getopt::Long::Configure("pass_through", "posix_default");
4740 GetOptions('all'                => \$all,
4741            'debug'              => \$debug,
4742            'help'               => \$help,
4743            'list'               => \$list,
4744            'no-same-folder'     => \$no_same_folder,
4745            'rmm'                => \$rmm,
4746            'version'            => \$version,
4747           ) or usage();
4748
4749 show_version() if ($version);
4750 usage() if ($help || int(@ARGV) != int(map(/^\+/, @ARGV)));
4751
4752 my @folders = expand_folders(@ARGV);
4753 print("Expanded " . join(" ", @ARGV) . " into\n" . join("\n", @folders) . "\n")
4754     if ($debug);
4755
4756 print("Scanning for duplicate messages...\n");
4757 my %msgs;
4758 foreach my $folder (sort @folders) {
4759     print("Scanning $folder...\n") if ($debug);
4760     open (SCAN,
4761           "MHCONTEXT=$tmp scan +$folder -format '%(msg) %{message-id}'|");
4762     while (<SCAN>) {
4763         if (my ($msg, $msgid) = /^(\d+) (<.*>)$/) {
4764             if ($msgs{$msgid}) {
4765                 $msgs{$msgid} =~ m|^\+(.*)/(\d+)$|;
4766                 my($f, $m) = ($1, $2);
4767                 if ($folder eq $f || $no_same_folder) {
4768                     handle_dup($f, $m, $folder, $msg);
4769                 }
4770             } else {
4771                 $msgs{$msgid} = "+$folder/$msg";
4772             }
4773         }
4774     }
4775     close(SCAN);
4776 }
4777
4778 unlink("$tmp");
4779
4780 sub expand_folders {
4781     my @folders = @_;
4782
4783     print("Getting list of folders...");
4784     open(FOLDERS,
4785          "flist -recurse "
4786           . (($all == 1 && @folders == 0) ? "-all" : join(" ", @folders))
4787           . "|")
4788         or die("Could not determine folders\n");
4789     @folders = ();
4790     chomp(my $current_folder = `mhparam Current-Folder`);
4791     $current_folder = quotemeta($current_folder);
4792     while (<FOLDERS>) {
4793         chomp;
4794         my ($folder, $a, $b, $c, $d, $e, $f, $g, $count) = split;
4795         if ($folder =~ /^$current_folder\+$/) {
4796             $folder =~ s/\+$//; # remove current folder indication
4797         }
4798         next if ($count == 0);
4799         push(@folders, $folder);
4800     }
4801     close(FOLDERS);
4802     print("done\n");
4803
4804     return(@folders);
4805 }
4806
4807 sub handle_dup {
4808     my($f1, $m1, $f2, $m2) = @_;
4809
4810     my $ans;
4811
4812  repeat:
4813     print("+$f2/$m2 duplicate of +$f1/$m1");
4814
4815     if ($list) {
4816         print("\n");
4817     } else {
4818         if ($rmm) {
4819             $ans = "y";
4820             print("\n");
4821         } else {
4822             print(", remove? [Yns?] ");
4823             chomp($ans = <STDIN>);
4824         }
4825
4826         if ($ans eq "y" || $ans eq "") {
4827             system("rmm +$f2 $m2");
4828         } elsif ($ans eq "s") {
4829             system("$mhl `mhpath +$f1 $m1` `mhpath +$f2 $m2`");
4830             goto repeat;
4831         } elsif ($ans eq "?") {
4832             print("y, remove message (default)\n" .
4833                   "n, don't remove message\n" .
4834                   "s, show messages\n" .
4835                   "?, show this message\n");
4836             goto repeat;
4837         }
4838     }
4839 }
4840
4841 \f
4842 =head2 usage
4843
4844 Display usage information and exit.
4845
4846 =cut
4847
4848 sub usage {
4849     print <<EOF;
4850 Usage: $cmd [options] [folder ...]
4851 --all                   remove duplicates in all folders
4852 --debug                 print actions that program takes
4853 --help                  display this message
4854 --list                  list duplicates only
4855 --no-same-folder        consider duplicates even if in different folders
4856 --rmm                   remove duplicates without asking
4857 --version               display program version
4858 EOF
4859     exit(1);
4860 }
4861
4862 =head2 show_version
4863
4864 Display version information and exit.
4865
4866 =cut
4867
4868 sub show_version {
4869     print("$cmd version $ver\n".
4870           "Copyright (c) 2003 Bill Wohler <wohler at newt.com>\n\n".
4871           "$cmd comes with ABSOLUTELY NO WARRANTY.\n\n".
4872           "This is free software, and you are welcome\n".
4873           "to redistribute it under certain conditions.\n\n".
4874           "See `http://www.gnu.org/copyleft/gpl.html' for details.\n");
4875     exit(0);
4876 }
4877
4878
4879 Local Variables:
4880 mode: outline
4881 outline-regexp: "^Subject:"
4882 fill-prefix: "  "
4883 End: