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