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.
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
15 Archive-name: mail/mh-faq/part1
18 Posting-Frequency: monthly
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.
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.
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.
35 This list depends on your comments, additions and fixes: please send
36 them to Bill Wohler <wohler at newt.com>.
38 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
39 2001, 2004, 2005, 2006, 2007 Bill Wohler
41 Permission to use, copy, distribute, and translate this document for
42 any non-commercial purpose is hereby granted, provided that this
43 copyright notice appears in all copies. Commercial distributions
44 require prior written consent.
46 This article is distributed in the hope that it will be useful, but
47 WITHOUT ANY WARRANTY; without even the implied warranty of
48 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
50 ----------------------------------------------------------------------
52 Subject: Table of Contents
53 From: Bill Wohler <wohler at newt.com>
54 Date: Sat, 3 Mar 2001 11:29:16 -0800
56 Legend: + new, - deleted, ! changed
61 01.01 Why should I use MH?
62 !01.02 What is the current version/status of MH?
63 !01.03 Where can I get MH?
64 !01.04 What references exist for MH?
65 01.05 What other MH software is available?
66 !01.06 How can I print a MH manual?
67 01.07 How should I report bugs?
68 01.08 How can I convert from my mailer to MH?
69 01.09 What is the copyright status of nmh?
74 02.01 What machines does MH run on?
75 02.02 How do I build MH?
76 02.03 What options should I use?
77 02.04 What do I need to do to use POP?
78 02.05 Does MH support IMAP?
79 02.06 Why does "mailgroup mail" only affect inc and not slocal?
80 02.07 How can I build MH on Solaris 2?
81 02.08 How can I build MH on Linux?
82 02.09 How can I build MH on IRIX?
83 02.10 How can I get MH to interpret the Content-Length field?
84 02.11 How do I build MH on HP-UX?
85 02.12 Can I prevent adding the local hostname to addresses behind firewalls?
86 02.13 Is there a patch to fix this or that?
87 02.14 How can I build MH on OS/2?
88 02.15 Do any POP/IMAP servers handle MH format?
89 02.16 How can I build MH on Windows?
90 !02.17 How can I build MH on a Mac?
91 ________________________
93 03.00 Scanning & Reading
95 03.01 What do I do if scan shows the wrong date?
96 03.02 How would one go about reading Usenet with MH?
97 03.03 How can I search through multiple folders?
98 03.04 Why don't MH format commands such as %(friendly) work?
99 03.05 Why doesn't "show" display all of a MIME message?
100 03.06 Can I get show not to run "less" so much on MIME messages?
101 03.07 Why do I get "mhn: don't know how to display content"?
102 03.08 How can I automatically delete MH backup files?
103 03.09 Fixing "cannot fopen and lock /var/spool/mail/(user)"
104 03.10 Can I read my mail with a Web browser?
105 03.11 How can I run inc automatically with POP?
106 03.12 Why does inc hang (on Sun)?
107 03.13 How can I get POP to work?
108 03.14 How do I persuade mhshow (mhn) not to bring up a new window?
109 03.15 How do I turn off of all the mhshow (mhn) prompts?
110 03.16 Why is inc splitting messages improperly?
111 03.17 Can MH thread messages?
112 03.18 How can I avoid reading the HTML version of the message?
113 03.19 How do I view or save attachments?
114 03.20 How do I view HTML attachments with Netscape?
115 03.21 Fixing folders: unable to allocate storage for msgstats
116 03.22 How do I recursively list message attachments?
117 03.23 Why do folder and flist overlook some of my sub-folders?
122 04.01 Can I append MH messages to a Unix mailbox format file?
123 04.02 Can I append MH messages to a GNU Emacs rmail BABYL-format file?
124 04.03 Why do I get ".../.mh_sequences is poorly formatted?"
125 04.04 How can you save News articles into an MH folder?
126 !04.05 Are there any good tools to archive MH messages?
127 04.06 How can I remove duplicate messages?
128 04.07 How can I remove holes in numbering?
129 __________________________
131 05.00 Composing & Replying
133 05.01 Why does repl add a "Re:" to a message that already has one?
134 05.02 How do I include messages in repl with or without ">"?
135 05.03 How can I eliminate duplicate copies of letters to myself?
136 05.04 How can I include my signature?
137 05.05 How do I call my editor with arguments?
138 05.06 How can I digestify messages in a folder for mail to another user?
139 05.07 How can I change my return address?
140 05.08 How can I change my From header?
141 05.09 How can I save a copy of all messages I send?
142 05.10 Can the folder in Fcc: be dynamically specified?
143 05.11 Can I post secure/encryped mail?
144 05.12 How can I send multi-media (MIME) attachments?
145 05.13 What's the best way to send mail to a long list of people?
146 05.14 What is the Dcc header?
147 05.15 How can I make sense of the replcomps file?
148 05.16 How can I convert quoted-printable to 8bit in quoted text in replies?
149 05.17 Can I have aliases include aliases?
150 05.18 Why doesn't mhmail understand aliases?
151 05.19 How do I send blind carbon copies?
152 05.20 When I forward a message, can I use its Subject?
153 05.21 Why is the timezone field in my 'Date:' field wrong?
154 05.22 Can I automate the comp -editor mhn process?
155 05.23 How can I remove those "=20" characters when forwarding?
156 05.24 Can I use mh-format substitution with forw?
157 05.25 How can I keep repl from breaking long lines?
158 05.26 How do I fix a bogus In-Reply-To or missing References field?
163 06.01 What to do with "Problems with edit - draft removed".
164 06.02 Can I run my message through a program (e.g., ispell) before sending?
165 06.03 What to do with "bad address 'xxx' - no at-sign after local-part".
166 06.04 Fixing "post: problem initializing server; [BHST] no servers available"
167 06.05 Fixing "post: problem initializing server; [RPLY] 503 Sender
169 06.06 Fixing "post: unexpected response; [BHST] no socket opened"
170 06.07 How do I fix the "X-Authentication-Warning" header?
171 06.08 Fixing "post: unexpected response; [RPLY] 503 Need MAIL
173 06.09 Fixing "post: problem initializing server; [BHST] premature
174 end-of-file on socket"
175 06.10 Fixing "Sender didn't use the HELO protocol"
176 06.11 Fixing "post: problem initializing server; [RPLY] 553 Local
177 configuration error, hostname not recognized as local"
182 07.01 What mail filters are available?
183 07.02 Why slocal writes messages to system mailbox that from(1) can't read.
184 07.03 Where can I read about slocal and the format of .maildelivery?
185 07.04 How do I debug my .maildelivery file?
186 07.05 Why isn't slocal working?
187 07.06 Are there any good biff applications for MH?
188 07.07 How do I read new messages filed by procmail?
193 08.01 I have a question about MH-E
198 09.01 How can I get xmh to use Emacs as the editor?
199 09.02 Does xmh support subfolders?
200 09.03 How do I precede included messages with ">" when replying in xmh?
205 Glossary & Acknowledgments
206 Switching xmh's editor
208 inco - babyl to MH converter
209 t2h - add hyperlinks to message viewed
212 HP-UX 10.20 config file
213 Removing duplicate messages (Bourne)
214 Removing duplicate messages (Perl)
215 Removing duplicate messages (Perl)
217 ------------------------------
219 Subject: Viewing This Article
220 From: Bill Wohler <wohler at newt.com>
221 Date: Mon, 27 Nov 1995 14:44:19 -0800
223 To skip to a particular question with Subject or number xx, use
224 "/^S.*xx" with most pagers. In GNU Emacs type "M-C-s ^S.*xx", (or
225 C-r to search backwards), followed by ESC to end the search.
227 To skip to new or changed questions, use "/^S.*[!+]" with most
228 pagers and "M-C-s ^S.*[!+]" in GNU Emacs.
230 This article is in digest format. nn may have already broken this
231 message into separate articles; if not, then type "G %". In rn, use
234 This article is treated as an outline when edited by GNU Emacs. Run
235 "M-x describe-mode" to see available outline-mode commands. Useful
236 commands are "M-x hide-body", "C-c C-s" (show-subtree) and "M-x
239 Check out the Usenet Hypertext FAQ Archive (see "What references
240 exist for nn?"). Files available by ftp, man pages, and other Web
241 pages, as well as cross-references like the one in this paragraph
242 are just a click away.
244 A "Date" field whose time is 00:00:00 is approximate. The month and
245 year in these fields represent the time they were added to the FAQ,
246 rather than when they were contributed by the author, as is the case
247 since November, 1995.
249 If you should need the Internet address, use nslookup or dig if you
250 have them, or send mail to <dns at grasp.insa-lyon.fr> with "help"
253 References to $MHLIB refer to the directory that contains MH support
254 files and routines. This directory is usually /usr/lib/mh or
255 /usr/local/lib/mh (or /usr/local/nmh/lib or /etc/nmh for nmh). Do
256 not use $MHLIB literally; use the real, absolute path to your MH
259 There are slight differences between the original MH and nmh. In the
260 text, the nmh command or filename is preferred, and the MH
261 equivalent is placed in parenthesis. For example, the MH
262 configuration is in $MHLIB/mts.conf (mtstailor); mhshow (mhn -show)
263 is used to view attachments.
265 Note that due to bottom feeding email address harvesting spam scum,
266 mailto links have been removed and @s in addresses have been
269 ------------------------------
271 Subject: 01.00 ***** Introduction *****
272 From: Bill Wohler <wohler at newt.com>
273 Date: Fri, 1 Mar 1991 13:03:15 -0800
275 ------------------------------
277 Subject: 01.01 Why should I use MH?
278 From: Jerry Peek <jpeek at jpeek.com>
279 Date: Fri, 1 Mar 1991 13:03:15 -0800
281 The MH message handling system is a set of electronic mail programs
282 in the public domain. If your computer runs Unix, it can probably
285 The big difference between MH and most other "mail user agents" is
286 that you can use MH from a Unix shell prompt. In MH, each command is
287 a separate program, and the shell is used as an interpreter. So, all
288 the power of Unix shells (pipes, redirection, history, aliases, and
289 so on) works with MH--you don't have to learn a new interface. Other
290 mail agents have their own command interpreter for their individual
291 mail commands (although the mush mail agent simulates a Unix shell).
293 Because MH commands aren't part of a monolithic mail system, you can
294 use them at any time; you don't have to start or quit the mail
295 agent. Because you use them from a shell prompt, you can use all the
298 If your shell has time-saving aliases or functions (and most do),
299 you'll be able to use them with MH, of course. And because MH isn't
300 a monolithic mail agent, you can use MH commands in Unix shell
301 scripts, or call them from programs in high-level languages like C.
303 Unlike most mail agents, MH keeps each message in a separate file.
304 The filename is the message number. To rearrange the messages, MH
305 just changes the filenames. MH can use standard Unix file system
306 operations such as removing, copying and linking messages. The
307 message files are grouped into one or more folders, which are
308 actually Unix directories.
310 MH is free, powerful, flexible--and the basics are easy to learn.
312 ------------------------------
314 Subject: !01.02 What is the current version/status of MH.
315 From: Bill Wohler <wohler at newt.com>
316 Date: Sun, 23 Sep 2007 23:51:52 -0700
318 The current official version of MH is 6.8.3, although a beta of
321 This version includes MIME, a multi-media MH package that implements
322 the new IETF work on Multi-media 822 (MIME). This allows you to
323 include things like audio, graphics, and the like, in your mail
324 messages. --Marshall Rose <mrose at dbc.mtview.ca.us>
326 MH now works with Kerberos as well.
328 In addition, a new program called mhparam extracts arguments from
329 .mh_profile which is useful in shell scripts.
331 Please see the file CHANGES in the distribution for more details.
333 Due to the languishing state of MH, Richard Coleman <coleman at
334 math.gatech.edu> created another version of MH called nmh based upon
335 MH 6.8.3. He added GNU autoconf to ease installation considerably
336 and fixed several bugs and inconsistencies. Doug Morris <doug at
337 mhost.com. hosted the web site, mailing lists, web pages, and CVS
338 repository for a long time. Ken Hornstein <kenh at pobox.com> picked
339 up the torch in 2002 and moved development to Savannah where Jon
340 Steinhart <nmh at fourwinds.com> joined him as a project maintainer.
341 See http://www.nongnu.org/nmh/. The stable version of nmh is 1.2.
342 The file DIFFERENCES in the nmh distribution contains an
343 ever-growing list of differences between nmh and MH.
345 GNU mailutils (version 1.2) is a collection of mail-related
346 utilities. At the core of mailutils is libmailbox, a library which
347 provides access to various forms of mailbox files (including remote
348 mailboxes via popular protocols and MH). See
349 http://www.gnu.org/software/mailutils/.
351 ------------------------------
353 Subject: !01.03 Where can I get MH?
354 From: Bill Wohler <wohler at newt.com>
355 Date: Sun, 23 Sep 2007 23:51:46 -0700
357 MH comes standard with:
359 Berkeley Software Design BSD/386 . . . . MH 6.8.3
360 Control Data Corp. CDC4680-MP . . . . . . EMH 1.4.2 (modified MH)
361 Debian GNU/Linux 4.0 . . . . . . . . . . nmh 1.1-RC4
362 Debian GNU/Linux 4.0 . . . . . . . . . . mailutils 1.1
363 DEC Ultrix 3.1 . . . . . . . . . . . . . MH 6.5
364 DEC Ultrix 4.2A.4 . . . . . . . . . . . . MH 6.7.1
365 DEC OSF/1 . . . . . . . . . . . . . . . . MH 6.7
366 Evans and Sutherland ES/OS 2.3 . . . . . MH 6.6
367 FreeBSD . . . . . . . . . . . . . . . . . MH 6.8.4
368 IBM PS/2 AIX 1.3 . . . . . . . . . . . . MH 6.4
369 IBM RISC System/6000 AIX 3.x and 4.x . . MH 6.6
370 MIPS RISC/OS 4.52 . . . . . . . . . . . . MH 6.6
371 Red Hat Linux (3.0.3, 4.0 and 4.1) . . . MH 6.8.3
372 SGI Irix 6.2 Freeware 2.0 CDROM . . . . . MH 6.8.3
373 Sony NEWS-OS 4.3 . . . . . . . . . . . . MH 6.7.2
374 Tektronix UTek . . . . . . . . . . . . . MH (Version Unknown)
378 http://download.savannah.nongnu.org/releases/nmh/nmh-1.2.tar.gz 831kB
380 Download GNU mailutils:
382 http://ftp.gnu.org/gnu/mailutils/mailutils-1.2.tar.gz 3.4MB
384 ------------------------------
386 Subject: !01.04 What references exist for MH?
387 From: Bill Wohler <wohler at newt.com>
388 Date: Sun, 23 Sep 2007 23:51:41 -0700
391 http://rand-mh.sourceforge.net/
392 http://www.nongnu.org/nmh/
393 http://www.gnu.org/software/mailutils/
394 http://mh-e.sourceforge.net/
397 MH & xmh: E-mail for Users & Programmers. Third edition. Jerry
398 Peek, with Bill Wohler and Brent Welch.
399 ISBN 1-56592-093-7. 738 pages.
400 O'Reilly & Associates, Inc.
401 Out of print as of August, 1996.
403 References to "the MH book" in this document refer to the third
404 edition (plus updates) of this book online at
405 http://rand-mh.sourceforge.net/book/. Section numbers for the
406 second edition may appear in parentheses.
408 There is another book that contains a number of examples of
409 advanced mail handing using MH as the example message handler.
410 It's also quite a good reference on email in general.
412 The Internet Message. Marshall T. Rose
413 ISBN 0-13-092941-7. 396 pages.
417 MHN Tutorial by Jerry Sweet
418 ftp://ftp.ics.uci.edu/pub/mh/contrib/multimedia/mhn-tutorial.ps.Z 141k
419 ftp://ftp.ics.uci.edu/pub/mh/contrib/multimedia/mhn-tutorial.tex.Z 48k
423 gmane.mail.exmh.devel
425 gmane.mail.mh-e.announce
426 gmane.mail.mh-e.devel
431 There are three mailing lists for nmh: nmh-announce, nmh-workers,
432 and nmh-commits. See:
434 http://savannah.nongnu.org/mail/?group=nmh
436 The page for each list contains a link to the archives.
439 Current archives can be found at:
441 http://lists.nongnu.org/archive/html/nmh-workers/
443 Older archive can be found in the mh-users and mh-workers archives
446 http://sourceforge.net/project/showfiles.php?group_id=143658&package_id=188462
448 There are directions in the release notes. Basically, you can use
449 either "msh" or the individual commands "inc -file" to get the
450 messages into a folder, and then "scan", "pick", "show", and so on
451 (or your favorite commands in xmh, MH-E, etc.). --Jerry Peek
455 http://www.newt.com/faq/mh.html
456 http://faqs.cs.uu.nl/na-dir/mail/mh-faq/part1.html
459 GNU Emacs 19.29 comes with a version of MH-E that includes online
460 (Texinfo) documentation. Try "C-h i m mh-e RET". It is also
461 available in HTML and PDF formats at
462 http://mh-e.sourceforge.net/manual/. See also "What other MH
463 software is available?" to see where you can get the latest
464 version of MH-E which includes the documentation sources.
467 The FAQ is available at http://www.beedub.com/exmh/exmh-faq.html.
468 The online exmh sections from the MH book can be found at
470 http://rand-mh.sourceforge.net/book/index.html#chTourexmh
472 Signature and Finger FAQ:
473 http://www.faqs.org/faqs/usenet/signature-faq/
475 ------------------------------
477 Subject: 01.05 What other MH software is available?
478 From: Stephen Gildea <gildea at stop.mail-abuse.org>, Bill Wohler <wohler at newt.com>
479 Date: Thu, 19 May 2005 21:20:57 -0700
481 MH-E is the Emacs interface to the MH mail system. It offers all the
482 functionality of MH, the visual orientation and simplicity of use of
483 a GUI, and full integration with Emacs and XEmacs, including
484 thorough configuration and online help.
486 MH-E allows one to read and process mail very quickly: many commands
487 are single characters; completion and smart defaults are used for
488 folder names and aliases. With MH-E you compose outgoing messages in
489 Emacs. This is a big plus for Emacs users, but even non-Emacs users
490 have been known to use MH-E after only learning the most basic
491 cursor motion commands.
493 Additional features include:
495 * attractive text rendering with font lock
496 * composition and display of MIME body parts
497 * display of images and HTML within the Emacs frame
498 * folder browsing with speedbar
501 * lightning-fast full-text indexed searches of all of your email
502 * virtual folders to view ticked and unseen messages, search results
503 * multiple personalities
504 * signing and encrypting
505 * spam filter interaction
506 * XFace, Face, X-Image-URL header field support with picons
508 The GNU Emacs distribution includes MH-E.
510 MH-E is maintained at SourceForge:
512 http://mh-e.sourceforge.net/
514 From: Chris Menzel <cmenzel at philebus.tamu.edu>
515 Date: Sat, 15 Dec 2001 10:02:38 -0600
517 The terminal-oriented, fast, and powerful mutt mail client not only
518 supports the MH mail format but also supports .mh_sequences files,
519 providing a robust interface to MH. It is also amazingly
520 configurable and is very adept at handling MIME attachments and HTML
523 Unlike MH, the displayed message numbers do not necessarily
524 correspond to the message filenames. This makes threading and
525 sorting lightning fast but slower to display very large folders.
529 From: Brent Welch <welch at acm.org>
530 Date: Tue, 20 Mar 2001 22:42:15 -0800
532 EXMH is a user interface for the MH mail system written in TCL/TK.
534 Exmh has MIME support, color feedback in the scan listing, a folder
535 display with one label per folder, clever scan caching, facesaver
536 bitmap display; background inc, various inc styles, searching over
537 folder listing and message body, a dialog-box interface to MH pick,
538 a simple built-in emacs-like editor, interfaces to other editors,
539 user preferences, user hacking support. For more info or to obtain
542 http://exmh.sourceforge.net/
544 From: "Eric D. Friedman" <friedman at hydra.acs.uci.edu>
545 Date: Tue, 9 Feb 1999 22:52:44 -0800
547 Mhtake is a perl script that lets you add people to your mail
548 aliases file by typing mhtake [message #].
550 http://orion.oac.uci.edu/~friedman/mhtake.txt
552 From: Steinar Bang <sb at metis.no>
553 Date: Fri, 26 Jan 1996 13:51:08 +0100
555 Mew (an Emacs interface to MH that has MIME and PGP capabilities) is
558 ftp://ftp.aist-nara.ac.jp/pub/elisp/Mew/mew-current.tar.gz
560 [MH-E has had these capabilities since version 7.0 so mew is
561 obsolete if you use MH-E. --Ed]
563 From: James Perkins <jamesp at sp-eug.com>
564 Date: Fri, 1 Jan 1993 00:00:00 -0800
566 Vmh is designed for people using the bulletin-board features of MH,
567 where mail is stored in packed (single-file) folders. As a result,
568 use of this program cannot be mixed with the use of normal MH
569 commands. Vmh is a part of the official MH distribution.
571 From: James Perkins <jamesp at sp-eug.com>
572 Date: Fri, 1 Jan 1993 00:00:00 -0800
574 Xmh is a X11 mouse-based MH browsing tool. It is very powerful and
575 feature-filled and thus comes with a moderate learning curve. Its
576 dependence on the X11 environment makes it very reconfigurable, but
577 only by people well-versed in X applications programming. Its
578 message reply built-in-editor interface is not always popular among
579 those used to having MH bring up the editor of their choice.
581 Date: Fri, 1 Jan 1993 00:00:00 -0800
583 xmh is part of the standard X Window System distribution from the X
584 Consortium. Ultrix also ships dxmail which is similar.
586 ftp://cs.utk.edu/pub/xmh.shar.Z 162k
588 From: Harald Tveit Alvestrand <hta at boheme.er.sintef.no>
589 Date: Fri, 1 Jan 1993 00:00:00 -0800
591 Here's a version of xmh that includes MIME.
593 ftp://aun.uninett.no/pub/mail/mixmh/mixmh-0.3.tar.Z 232k
595 From: Nathaniel Borenstein <nsb at thumper.bellcore.com>
596 Date: Sun, 26 Nov 1995 19:04:51 -0800
598 Metamail is a package that can be used to convert virtually ANY
599 mail-reading program on Unix into a multi-media mail-reading
600 program. It is an extremely generic implementation of MIME
601 (Multipurpose Internet Mail Extensions), the proposed standard for
602 multi-media mail formats on the Internet. The implementation is
603 extremely flexible and extensible, using a "mailcap" file mechanism
604 for adding support for new data formats when sent through the mail.
605 At a heterogeneous site where many mail readers are in use, the
606 mailcap mechanism can be used to extend them all to support new
607 types of multi-media mail by a single addition to a mailcap file.
609 The metamail distribution comes complete with a small patch for each
610 of over a dozen popular mail reading programs, including Berkeley
611 mail, mh, Elm, Xmh, Xmail, Mailtool, Emacs Rmail, Emacs VM, Andrew,
612 and others. Note that the MH patches are now integrated into MH 6.8.
614 ftp://ftp.bellcore.com/pub/nsb/mm2.7.tar.Z
616 From: Tom Christiansen <tchrist at perl.com>
617 Date: Tue, 9 Feb 1999 22:55:24 -0800
619 Plum is a highly configurable and extensible screen-oriented
620 front-end for processing MH mail on ASCII terminals. Unlike MH-E,
621 the extension language used in plum is perl, not LISP. Plum offers
622 many of the advantages of xmh, but lacks several of xmh's
623 disadvantages. The look&feel derives more from vi than from emacs.
624 Key bindings and functions may be changed on the fly to suit the
625 user's preference. It offers filename and word completion on folder,
626 variables, and command names.
628 Until it is included in the standard distribution (under
629 miscellany), you can find a copy on:
631 http://www.cpan.org/authors/Tom_Christiansen/scripts/plum.gz 29k
633 or mail requests to Tom
635 From: Jerry Sweet <jsweet at irvine.com>
636 Date: Tue, 1 Nov 1994 00:00:00 -0800
638 Mhunify is a set of perl scripts and templates that provides
639 shell-level MH functionality with USENET news. Since MH supports
640 MIME, MIME-format news articles just work. I've found that being
641 able to handle news in the same way that I handle email is very
642 useful, although there are some tradeoffs.
644 Mhunify also treats MH folders just like news groups. If you
645 subscribe to several mailing lists, and your email is automatically
646 delivered to separate folders, say, via procmail or via MMDF's
647 .maildelivery, the mhunify package lets you progress automatically
648 through your folders just as you would news groups.
650 ftp://ftp.ics.uci.edu/pub/mh/contrib/multimedia/mhunify.shar.gz
652 From: Dale Carstensen <dlc at c3file.c3.lanl.gov>
653 Date: Tue, 1 Nov 1994 00:00:00 -0800
655 olmh is a demo for OLIT (Open Look Interface Toolkit, the Open Look
656 wrapper to Xt) in Sun's Open Windows 3 that does handle 3rd and
657 subsequent levels of nesting of folders.
659 Obtain the Open Windows 3 distribution CD/ROM from Sun (SPARC only).
660 To do this, call 1-800-USA-4SUN and send tone "2" for telemarketing
661 after it answers. The 4.1.2 CD/ROM may also have Open Windows 3. The
662 list price for the 4.1.2 CD/ROM is $200.
664 From: James Perkins <jamesp at sp-eug.com>
665 Date: Sun, 1 May 1994 00:00:00 -0800
667 Vmail is a curses-based, vi-like message browser which calls on MH
668 programs to manipulate mail. It can be used on almost any terminal.
669 It organizes mail folders into index pages, from which a message can
670 be selected to be shown, replied-to, forwarded, refiled, deleted,
671 and so on. The vi-like interface and command keystrokes are
672 comfortable to less-experienced Unix users, and it is a small,
673 compact program, unlike the MH-E Emacs package.
675 This version of vmail has been bugfixed and enhanced from the
676 original vmail published on the net in 1987 by J. Zobel.
678 ftp://ftp.uu.net/comp.sources.unix/volume12/vmail/part0*.Z 46k
679 ftp://ftp.ucs.ubc.ca/pub/mh/vmail.[1-3]of3.Z 58k
681 Or mail requests to James.
683 From: James Perkins <jamesp at sp-eug.com>
684 Date: Sun, 1 May 1994 00:00:00 -0800
686 vmailtool may be for you if you have a Sun workstation. It is a
687 button gadget panel for the above-mentioned vmail program. It brings
688 vmail into the windows era where people no longer need to memorize
689 specific command keystrokes. It also provides a mail icon with the
690 flag that pops up when new mail arrives. Again, this is a compact,
691 simple tool, unlike the powerful xmh program. Still, it's a welcome
692 alternative for many people who are running SunView or OpenWindows.
694 ftp://ftp.ucs.ubc.ca/pub/mh/vmailtool.Z 18k
696 or mail requests to James.
698 MMH, My Mail Handler, is a Motif interface for reading and sending
699 mail. It uses the MH commands to actually handle sending a receiving
700 messages. It does not support all the capabilities of MH, but offers
701 a large enough subset to handle the majority of users. Its intended
702 user is someone between "bumbling email novice" and "sophisticated
703 user". Hooks are provided to allow the user to customize and add new
706 ftp://ftp.eos.ncsu.edu/pub/bill/bill.tar.Z 120k
708 From: Andrew Waugh <ajw at mel.dit.csiro.au>
709 Date: Fri, 1 Jan 1993 00:00:00 -0800
711 X.500 lookups: If a name is enclosed in square brackets, when
712 entering a destination address:
714 To: [Greg Wickham,CSIRO]
716 a search will be made in the X.500 Directory for the individual's
717 entry. If an address exists then it will be extracted and placed
718 into the headers. Mail requests for the software to the author.
720 From: Barbara Dyker <dyker at teal.csn.org>
721 Date: Fri, 1 Jan 1993 00:00:00 -0800
723 QueueMH is an email based service request and tracking system based
724 on the Rand Mail Handler.
726 ftp://ftp.cs.colorado.edu/pub/cs/sysadmin/utilities/queuemh.tar.Z 98k
728 From: <info at rootgroup.com>
729 Date: Mon, 1 Mar 1993 00:00:00 -0800
731 Qmh is an MH-based group mail management tool. Written entirely in
732 perl, Qmh combines the best aspects of MH with group mail heuristics
733 and delivers a sensible package for all levels of Unix users. A
734 limitless number of individual queues and associated groups of
735 permitted users can be established.
737 Specific functionality includes the following modes of operation;
738 checking header dates and sending reminder/deadline mail, editing
739 existing messages, help screens, creating new messages from scratch
740 or exiting messages, resolving messages, scanning queue folders, and
741 annotating with status both by editing and sending mail.
743 Qmh is a single generic program in and of itself from which all
744 modes of operation are invoked. Additionally, each separate queue
745 may be accessed via a link to the single program. All system
746 configuration is maintained in a single file that is read upon each
747 invocation of Qmh. Formatting and template files are provided in the
748 system library, although individual users can override the defaults
749 simply by creating equivalent files in their own MH mail directory.
751 Qmh provides a powerful database-like functionality by allowing
752 limitless per-queue X-Qmh-<$value> headers to be included in
753 messages. These "fields" then form the context of the queue messages
754 and provide a user-defined, but yet structured environment for
755 queries, reporting, and random information.
757 Qmh is designed to provide a complete solution for SA groups, help
758 desks, support organizations, or wherever two or more individuals
759 are trying to manage multiple mail requests.
761 Qmh is also compatible with versions of xmh that provide user-level
762 command buttons. Provided in the Qmh package is a ~/.Xdefaults
763 template file that's setup to harness the power of Qmh.
765 From: Jerry Peek <jpeek at jpeek.com>, Shannon Yeh <yeh at netix.com>
766 Date: Sun, 11 Mar 2001 00:23:21 -0800
769 These were available only for non-commercial degree-granting
772 Networking & Communication Systems
775 Stanford, CA 94305-4122
776 Phone: +1 415-723-3909
779 ftp://netix.com/pub/pc-mh-info/*
781 For more PC/MH info, contact:
783 Netix Communications, Inc.
784 15375 Barranca Parkway
785 Building G, Suite 107
787 Phone: +1 714-727-9532
789 Internet: info at netix.com
791 In addition, you might try Wollongong, to see if they have
792 something you can get.
794 [This information appears to be out of date. Please send me
795 pointers to valid information. Potential sites include
796 jessica.stanford.edu. --Ed]
798 Two other potential methods to run MH under Windows: Run Unix
799 under Windows with VMware (http://www.vmware.com/) or try to
800 compile nmh with the Cygwin tools (http://www.cygwin.com/).
802 ------------------------------
804 Subject: !01.06 How can I print a MH manual?
805 From: Bill Wohler <wohler at newt.com>, Jos Vos <jos at bull.nl>
806 Date: Sun, 23 Sep 2007 23:51:33 -0700
808 Documentation in text and PostScript format is found in the
809 MH-doc.tgz tarball on:
811 http://sourceforge.net/project/showfiles.php?group_id=143658&package_id=188464
813 To generate your own copy for printing, first obtain the MH sources
814 (see "Where can I get MH?") if you don't already have it. Go into
815 the "doc" directory and run "make guide" to create the
816 administrators guide and "make manual" to create a user's manual
817 which includes tutorials and man pages. If the doc directory is
818 empty or is missing the Makefile, you'll have to run "mhconfig MH"
819 in the conf directory so that the documentation with correct local
820 information is created.
822 For properly formatting the documentation (at least the manual
823 pages) you might even have to install MH, because a reference to a
824 tmac.h file in the MH lib directory is made in the manual pages.
826 ------------------------------
828 Subject: 01.07 How should I report bugs?
829 From: Bill Wohler <wohler at newt.com>
830 Date: Wed, 29 Sep 2004 00:12:42 -0700
832 Bugs in nmh should be reported at:
834 http://savannah.nongnu.org/bugs/?group=nmh
836 Bugs in MH-E should be reported at:
838 http://sourceforge.net/tracker/?atid=113357&group_id=13357
840 ------------------------------
842 Subject: 01.08 How can I convert from my mailer to MH?
843 From: Mike Sutton <mws115 at llcoolj.dayton.saic.com>
844 Date: 7 Jul 1995 10:03:50 GMT
846 The unrmail function will convert rmail format to mbox format.
848 From: Jerry Peek <jpeek at jpeek.com>
849 Date: Fri, 1 Mar 1991 13:03:15 -0800
851 If you use one of a mail agent like 'mail', 'mailx', 'elm' or
852 'mush', converting to MH is easy. When you run the 'inc' command, it
853 reads all new messages from the system mailbox into your 'inbox'
854 folder. Those mail agents also have separate files or "folders" that
855 hold messages in the same format as the system mailbox. You can read
856 them with the 'inc -file' command. For example, to read the messages
857 from your 'mbox' mail file into your MH 'inbox' folder, you'd type:
860 % cp mbox mbox.backup
863 If you see the usual "Incorporating new mail into inbox..." message
864 and a scan listing, the messages probably were converted. Read some
865 or all of them (with the 'show' command) and be sure. The 'inc'
866 won't remove your mbox unless you use '-truncate'.
868 From: "Jason R. Mastaler" <jason at Mastaler.COM>
869 Date: Mon, 1 May 1995 00:00:00 -0800
871 You can also specify an alternate folder to inc. Here's how you can
872 convert all your folders en masse:
874 for arg in `cat flist`; do
875 echo "converting $arg"
876 inc +"$arg" -file "$arg" -silent
879 Section D.4 of the MH book's second edition lists two scripts to
880 convert mail files to MH folders: babyl2mh to convert from rmail's
881 BABYL format; vmsmail2mh to convert from VMS's mail (see "What
882 references exist for MH") to see where the book's examples can be
883 ftped from). These scripts aren't in the third edition but are in
886 From: Vivek Khera <khera at cs.duke.edu>
887 Date: Fri, 1 Jan 1993 00:00:00 -0800
889 I rewrote the above script in Perl since the original script doesn't
890 work for some people (see "babyl2mh.pl" below).
892 From: Juergen Nickelsen <nickel at cs.tu-berlin.de>
893 Date: Fri, 1 Jan 1993 00:00:00 -0800
895 You can remove the second to last second line ("> $input"), so that
896 the script doesn't zero out your RMAIL file.
898 Another alternative is to replace this line with "inc -file $tmpmbox
899 $folder && > $input", so that the RMAIL is only zeroed if inc
900 successfully incorporated the mail. Finally one could add a switch
901 -z, so that the RMAIL file is only zeroed if the switch is given.
902 (See "Appendix inco".)
904 Date: Sun, 1 May 1994 00:00:00 -0800
906 Use the following to convert a BABYL format file to Unix mail
909 ftp://inf.informatik.uni-stuttgart.de/pub/gnu/emacs_extras/rmailtovm.el.Z
912 See also MH book second edition (Appendix D).
914 ------------------------------
916 Subject: 01.09 What is the copyright status of nmh?
917 From: Richard Coleman <coleman at math.gatech.edu>
918 Date: Mon, 10 Oct 2005 18:16:58 -0700
920 nmh is distributed under a variant of the classical BSD copyright.
921 Check the COPYRIGHT file in the nmh distribution for the details.
922 There are some specific files which were contributed to the original
923 MH package that are copyrighted by their original author. We have
924 retained the copyright notices of these authors in these files.
926 ------------------------------
928 Subject: 02.00 ***** Building MH *****
929 From: Bill Wohler <wohler at newt.com>
930 Date: Fri, 1 Mar 1991 13:03:15 -0800
932 ------------------------------
934 Subject: 02.01 What machines does MH run on?
935 From: Bill Wohler <wohler at newt.com>
936 Date: Thu, 19 May 2005 21:22:55 -0700
938 MH isn't just for Unix any more. Versions are reported to run on
939 OS/2 (see "How can I build MH on OS/2?"), Windows (see "How can I
940 build MH on Windows?"), and Mac (see "How can I build MH on Mac?").
941 Oh yeah, the Mac is now Unix. Maybe Windows Longhorn will be built
944 From: Jerry Peek <jpeek at jpeek.com>
945 Date: Fri, 1 Mar 1991 13:03:15 -0800
947 If you have a computer running Unix, you can probably run MH.
949 ------------------------------
951 Subject: 02.02 How do I build MH?
952 From: Bill Wohler <wohler at newt.com>
953 Date: Sun, 8 Sep 1996 15:13:12 -0700
955 If you're using Linux, you can simply install the nmh or MH package
956 which is available in most distributions.
958 If you want to build nmh, follow the directions in the file named
959 INSTALL. Basically, it's simply "./configure; make; make install."
961 If you have MH on the other hand, if you carefully read the file
962 named READ-ME in the root of the source hierarchy, you should not
963 have any trouble building MH.
965 If you're having troubles building MH, it could be that the problem
966 has already been fixed, but hasn't yet gotten into an official
967 release. Please see http://www.gw.com/mail/mh/patches/ for more
970 ------------------------------
972 Subject: 02.03 What options should I use?
973 From: Bill Wohler <wohler at newt.com>
974 Date: Tue, 1 Dec 1992 00:00:00 -0800
976 BERK: Do NOT include the BERK option (in versions 6.7 or later)!
977 BERK breaks the mh-format functions that take apart address lines,
978 for example mbox, from, and friendly. This would really put a crimp
979 on my replcomps file.
981 LOCKF: if you have NFS, you need to lock your mailbox with lockf()
982 so the lock will be honored by all machines on the local network. If
983 you have the lockf() system call, include LOCKF.
985 JQ Johnson <jqj at duff.uoregon.edu> makes the point that one should
986 use this option carefully since it requires a robust lockf() call.
987 For example, this option caused serious problems on his SunOS 4.1.1.
988 He suggested using LOK_BELL instead, and adding "lockstyle: 1" to
989 $MHLIB/mts.conf (mtstailor).
991 ATZ: makes your timezones print like "EST" instead of "-0500". Much
992 prettier. --Stephen Gildea <gildea at stop.mail-abuse.org>
994 However, Tony Landells <ahl at technix.oz.au> replies: "Yes; very
995 pretty. How unfortunate that timezone names are so ambiguous, so
996 that EST can be interpreted, at a minimum, as (American) Eastern
997 Standard Time, (Australian) Eastern Standard Time, or (Australian)
998 Eastern Summer Time (and yes, I think it's dumb having the same
999 acronym for both normal and Summer time, but that's a different
1000 problem). While the numeric timezones may not look as nice, they
1001 are, at least, reasonably unambiguous. I would urge anyone who ever
1002 intends/hopes/expects to use email outside the U.S. to NOT use ATZ
1005 At any rate, the conf/examples directory has been updated and
1006 contains many examples show you which options are required on your
1007 platform and which are optional (in the upcoming version MH 6.8). At
1008 any rate, it is recommended that you examine the options in the
1009 example configuration files, and read about them in READ-ME.
1011 RPATHS: a side-effect is that slocal writes messages to your system
1012 maildrop without the MMDF C-A's that separate messages, so your BSD
1013 tools like from work.
1015 ------------------------------
1017 Subject: 02.04 What do I need to do to use POP?
1018 From: Bill Wohler <wohler at newt.com>
1019 Date: Sun, 8 Sep 1996 23:31:01 -0700
1021 MH6.7 (and earlier versions too) include a server for version 3 of POP.
1023 From: Morgan Fletcher <morgan at tupelo.best.com>
1024 Date: 14 Mar 1996 19:24:23 -0800
1026 Ensure that /etc/services contains the following:
1028 pop2 109/tcp postoffice # POP version 2
1030 ->pop 110/tcp # POP version 3 (MH's inc thinks it's "pop")
1032 pop3 110/tcp # POP version 3
1035 Also compile with the POP options: POP, DPOP, RPOP, etc.
1037 From: Richard Coleman <coleman at math.gatech.edu>
1038 Date: 06 Feb 1997 03:43:17 -0500
1040 To get MH to use the pop3 service, add POPSERVICE=pop3 to your MH
1041 configuration and recompile:
1043 ------------------------------
1045 Subject: 02.05 Does MH support IMAP?
1046 From: Lyndon Nerenberg <lyndon at MessagingDirect.COM>
1047 Date: 27 Jul 1999 11:33:39 -0600
1049 Run exmh on the laptop, and modify your .mh_profile to inc using
1050 APOP. This is how I run MH-E and it works fine. (I did have to
1051 modify MH-E a wee bit to allow it to prompt for the password. You
1052 would likely have to do something similar with exmh.)
1054 As a spare time project I'm adding enough IMAP support to MH (6.8.3)
1055 to allow you to 'inc -imap [-imapfolder foo]'. If I ever get this
1056 done I'll stick the diffs up somewhere. (It's not a big priority as
1057 I can get at my IMAP INBOX using APOP.)
1059 From: Tim Showalter <tjs at andrew.cmu.edu>, John Prevost <visigoth at cs.cmu.edu>
1060 Date: Wed, 25 Sep 1996 21:34:56 -0400
1062 We are developing fmh and intend to support as much of MH as is
1063 feasible. However, MH and IMAP don't necessarily agree as to what
1064 things are going to look like. MH has static message numbers until
1065 you pack a folder; IMAP keeps two numbers on a message, one which is
1066 absolutely static and one which is relative to the top of a mailbox.
1067 Messages in IMAP are essentially immutable. IMAP doesn't (currently)
1068 allow message annotations. fmh will keep state with a background
1069 daemon instead of writing it to disk, and will probably try and keep
1070 as little on disk as possible.
1072 fmh doesn't understand MH folders at the moment, and probably won't
1073 for a really long time, if ever. As I said before, we're mostly
1074 interested in the IMAP aspects as we're using a networked file
1075 system and saving stuff on the local disk just isn't an option.
1077 fmh is not MH at a very fundamental level. It is very unlikely that
1078 it will be merged, as we're not quite as interested in creating
1079 something that is MH and IMAP as we are in writing a good IMAP
1080 client. Also, the MH code isn't going to take the introduction of
1081 IMAP without a near complete rewrite.
1083 It is not available yet. Inquiries are welcome at <tjs+fmh at
1086 From: Rahul Dhesi <dhesi at rahul.net>
1087 Date: 23 Sep 1996 08:39:52 GMT
1089 What prevents people from doing a telnet to their mail server,
1090 logging in, and firing up MH directly? Site policy? An operating
1091 system that does not let MH compile or run? Overloaded machine with
1092 insufficient processing power for MH? All these are site-specific
1093 problems and the solution lies in solving them locally, not in
1094 forcing MH to go over IMAP.
1096 IMAP was never designed to emulate a filesytem. MH was designed to
1097 make direct advantage of the filesytem structure. There is no
1098 compatibility between the two. By the time IMAP is revised enough to
1099 support MH you will have reinvented NFS.
1101 There *is* scope for redesign here, though. It would be nice to have
1102 a single-user filesystem. Create a binary telnet session to the
1103 filesystem server, log in as yourself, and then over that session
1104 run a filesystem protocol. Normal filesystem protections at the
1105 other end will be sufficient for all permissions checking, so the
1106 filesystem protocol would need to do no other permissions checking.
1107 The question of whom to export directories to would go away: They
1108 are exported to whoever completes a successful login, and accessible
1109 to the user if he would be able to access them on the server as his
1110 login id. You could even use challenge-response for the initial
1111 login, coupled with ssh-based encryption, so you automatically have
1112 a secure filesystem without even trying.
1114 IMAP is too restricted in its scope to be easily modifiable to
1115 emulate such a filesystem. It would have to be a redesign from
1118 From: John Romine <jromine at ics.uci.edu>
1119 Date: Sun, 8 Sep 1996 15:45:27 -0700
1121 No. MH only supports retrieving mail using POP3. POP3 is on the
1122 "standards track"--it is now an elective Internet Draft Standard
1123 (see RFC 1939 for more details). At this point, IMAP[23] are
1124 "experimental, limited use" protocols; it is unlikely that MH will
1127 From: Bill Wohler <wohler at newt.com>
1128 Date: Sun, 8 Sep 1996 15:45:32 -0700
1130 Since John posted the message above, IMAP has progressed from an
1131 "experiemental, limited use" protocol. While IMAP is not universal,
1132 many vendors now have implementations.
1134 I've found several things which might help. First, a definition
1135 lifted from the Pine FAQ:
1139 IMAP stands for "Internet Message Access Protocol". An IMAP client
1140 program on any platform at any location on the Internet can access
1141 email folders on an IMAP server. While the messages appear to be
1142 local, they reside on the server until the client explicitly moves
1143 or deletes them. The IMAP protocol is a superset of POP, containing
1144 all POP commands plus more. For a comparison of IMAP and POP, see
1145 the paper Comparing Two Approaches to Remote Mailbox Access: IMAP
1146 vs. POP (in ftp.cac.washington.edu:/mail/imap.vs.pop). IMAP is what
1147 allows Pine (or any other IMAP client) to get to email on a central
1148 campus email server. There are current IETF working groups revising
1149 IMAP and readying it to become an Internet standard. A copy of the
1150 latest IMAP draft may be obtained from:
1152 ftp://ftp.cac.washington.edu/mail/latest-imap-draft
1154 For a list of IMAP clients, see the file imap.software, in the same
1157 From: David L Miller <dlm at cac.washington.edu>
1158 Date: Mon, 1 Aug 1994 00:00:00 -0800
1160 ipop3d from the UW IMAP toolkit can operate in a couple modes. As a
1161 straight POP3 server, it uses the same C-client library as imapd, so
1162 it co-exists comfortably with imapd. It can also operate as a
1163 POP-to-IMAP gateway so that your POP-only clients can access IMAP
1166 ftp://ftp.cac.washington.edu/mail/imap.tar.Z 1.0M
1168 From: Mark Crispin <MRC at Panda.COM>
1169 Date: Mon, 1 Aug 1994 00:00:00 -0800
1171 The only answer I can give for [how MH users can use IMAP] is that
1172 Pine can read mailboxes in MH format; and that someone might in the
1173 future develop a version of MH that can use IMAP.
1175 ------------------------------
1177 Subject: 02.06 Why does "mailgroup mail" only affect inc but not slocal?
1178 From: John Romine <jromine at ics.uci.edu>
1179 Date: Fri, 1 Jan 1993 00:00:00 -0800
1181 If "mailgroup" is set, inc is made set-group-id to this group name.
1182 Some SYS5 systems want this to be set to "mail". Set this if
1183 /usr/spool/mail (or /usr/mail) is not world-writable. These changes
1184 were contributed by Peter Marvit, and "inc" is very careful about
1185 its use of the set-gid privilege.
1187 Note that slocal doesn't know how to deal with this, and will not
1188 work under these systems; just making it set-group-id will open a
1189 security hole (since it doesn't know when to drop the set-gid
1190 privileges). If you're using "mailgroup", you should remove slocal
1191 (and its man page) from your system.
1193 Alternatives to slocal include deliver, procmail, and mailagent.
1194 (See "What mail filters are available?")
1196 ------------------------------
1198 Subject: 02.07 How can I build MH on Solaris 2?
1199 From: Richard Coleman <coleman at math.gatech.edu>
1200 Date: Tue, 20 Jan 1998 02:19:58 -0500
1202 nmh builds out of the box on Solaris.
1204 From: Bill Wohler <wohler at newt.com>
1205 Date: Sun, 8 Sep 1996 15:56:31 -0700
1207 See http://www.gw.com/mail/mh/patches/solaris/ for patches you may need.
1209 From: Neil Rickert <rickert at cs.niu.edu>,
1210 Scott K. Hutton <shutton at habanero.ucs.indiana.edu>,
1211 Casper H.S. Dik <casper at fwi.uva.nl>
1212 Date: Sun, 8 Sep 1996 15:57:25 -0700
1214 First, don't use the BSD compatible stuff. Make sure that the Sun or
1215 GNU compiler appear before the BSD compiler in your PATH (e.g.,
1218 Second, don't use GNU make. Make sure that the Sun make appears
1219 before the GNU make in your PATH.
1221 Use conf/examples/solaris2.sun.com and fix the paths, if necessary.
1222 Optionally change the following to use the GNU compiler, to perform
1223 optimization, and to create shared libraries.
1226 ccoptions -O -g -msupersparc
1229 Fix mhn.c with the diff in
1231 http://www.gw.com/mail/mh/patches/solaris/si_value_2.3.
1233 Optionally incorporate the Content-Length header fix. (See "How can
1234 I get MH to interpret the Content-Length field?")
1236 Linking with /usr/ucblib/libucb.so is incompatible with including
1239 When compiling, you can ignore the following warning:
1241 fmtcompile.c, line 238: warning: semantics of "/" change in ANSI C;
1244 If you're using AFS, you'll have to replace any occurrence of "ln"
1245 with "ln -s" wherever the make dies when it tries to make a link "on
1246 a different file system."
1248 See also ftp://ftp.fwi.uva.nl/pub/solaris/solaris2.faq.
1250 Date: Thu, 1 Dec 1994 00:00:00 -0800
1252 Unset LD_LIBRARY_PATH.
1254 From: Gary Strand <strandwg at ncar.ucar.edu>
1255 Date: Mon, 1 May 1995 00:00:00 -0800
1257 To cure slocal's Segmentation Fault problems, I decided to try 'cc'
1258 instead of 'gcc' (an alleged no-no under Solaris) and MH built just
1259 fine, and it's working perfectly.
1261 From: "Jason R. Mastaler" <jason at Mastaler.COM>
1262 Date: Mon, 25 Sep 1995 17:35:13 -0400
1264 Don't use "ldoptions -s" with gcc. It may cause the compile to fail
1267 gcc: Internal compiler error: program ld got fatal signal 11
1270 From: "Jeffrey T. Eaton" <jeaton at galt.com>
1271 Date: Fri, 04 Apr 1997 15:30:36 GMT
1273 Fixed [DBM_PAGFNO_NOT_AVAILABLE error] by getting the latest gdbm
1274 package, compiling and installing it and the dbm/ndbm compatability
1275 stuff, and moving Sun's broken ndbm.h out of /usr/include.
1277 To fix "../sbr/libmh.so: undefined reference to
1278 `__builtin_va_arg_incr'", add "option __BUILTIN_VA_ARG_INCR" to your
1281 ------------------------------
1283 Subject: 02.08 How can I build MH on Linux?
1284 From: Richard Coleman <coleman at math.gatech.edu>
1285 Date: Tue, 20 Jan 1998 02:19:58 -0500
1287 nmh should build out of the box for most Linux systems.
1289 From: Bill Wohler <wohler at newt.com>
1290 Date: Tue, 9 Feb 1999 23:04:53 -0800
1292 The Debian distribution of Linux comes with an MH and nmh packages.
1295 http://www.debian.org/.
1297 See also http://www.gw.com/mail/mh/patches/linux/.
1299 From: "James A. Robinson" <jimr at simons-rock.edu>
1300 Date: 17 Apr 96 20:39:02 GMT
1302 Somebody on Debian ported it to Linux ELF. Look on
1303 ftp://ftp.debian.org/debian/stable/binary/mail/mh_6.8.4-13.deb for
1304 the .deb package of MH (it's a compressed tar file). The source is
1305 in ftp://ftp.debian.org/debian/stable/source/mail/mh_6.8.4-orig.tar.gz
1306 and mh_6.8.4-13.diff.gz.
1308 From: Brian Kirouac <bri at psa.pencom.com>
1309 Date: 18 Apr 96 14:00:20 GMT
1311 If you are running Redhat and have rpm available you can also use
1312 ftp://???/pub/redhat-3.0.3/i386/RedHat/RPMS/mh-6.8.3-5.i386.rpm. The
1314 ftp://???/pub/redhat-3.0.3/i386/SRPMS/mh-6.8.3-5.i386.rpm
1316 From: "Brandon S. Allbery" <bsa at kf8nh.wariat.org>
1317 Date: Sun, 26 Nov 1995 16:18:50 -0800
1319 The current patch is the first one listed below. The old patch only
1320 works with libc-4.4, which is no longer used. The current patch is
1321 split into two pieces, as with the previous patch, but now the
1322 divisions are purely functional: the first diff enables MH to
1323 compile, the second allows creation of a shared library. [The paths
1324 are up to date, but I think the info in this paragraph is old. --Ed]
1326 Recent versions of GNU make choke on MH's makefiles. Unfortunately,
1327 the shared library patches depend on "export". If you have problems
1328 building MH, remove the "export" lines from all of the makefiles (if
1329 you applied the shared library patches) and try using BSD pmake
1332 If you don't want to compile MH, the second file contains
1333 pre-compiled ready-to-run binaries which can simply be extracted in
1336 ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/mh-6.8.3-diffs.tar.gz
1337 ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/mh-6.8.3-bin.tar.gz
1339 The sizes are 650k and 22k respectively.
1341 Note that these files are occasionally "cleaned up" by accident so
1342 please let me know if they are missing.
1344 ------------------------------
1346 Subject: 02.09 How can I build MH on IRIX?
1347 From: Richard Coleman <coleman at math.gatech.edu>
1348 Date: Tue, 20 Jan 1998 02:19:58 -0500
1350 nmh should build out of the box for Irix.
1352 From: Bill Wohler <wohler at newt.com>
1353 Date: Sun, 8 Sep 1996 15:33:22 -0700
1355 See http://www.gw.com/mail/mh/patches/sgi/ for patches you may need.
1357 From: Arne K. Frick <frick at info.uni-karlsruhe.de>
1358 Date: 06 Jun 1995 18:30:01 GMT
1360 There is a file at viz.tamu.edu:/pub/sgi (see FAQ) containing a diff
1361 and sample configuration. If you cannot locate it, I can mail it to
1362 you. Note, however, that I had tremendous difficulties with them
1365 1. Be sure to use /bin/make, NOT GNU make.
1366 2. patch vomits over the diff. You can get around this by increasing the
1368 3. The Makefile target for the shared library doesn't work. I had to do it
1371 But I'm stuck compiling mhn.c.
1373 From: Shankar Unni <shankar at sgi.com>
1374 Date: 9 Jun 1995 01:53:48 GMT
1376 The fix for compiling mhn.c is in
1378 http://www.gw.com/mail/mh/patches/solaris/si_value_2.3.
1380 From: Jack Repenning <jackr at informix.com>
1381 Date: 25 Jul 1995 02:35:41 GMT
1383 (See "IRIX config file") below.
1385 ------------------------------
1387 Subject: 02.10 How can I get MH to interpret the Content-Length field?
1388 From: Casper H.S. Dik <Casper.Dik at Holland.Sun.COM>
1389 Date: Sun, 8 Sep 1996 15:38:30 -0700
1391 Apply http://www.gw.com/mail/mh/patches/solaris/content_length to
1392 your MH distribution and add the configuration option
1393 "CONTENT_LENGTH". It also includes the si_ fix in
1395 http://www.gw.com/mail/mh/patches/solaris/si_value_2.3
1397 ------------------------------
1399 Subject: 02.11 How can I build MH on HP-UX?
1400 From: Bill Wohler <wohler at newt.com>
1401 Date: Sun, 8 Sep 1996 15:50:54 -0700
1403 If you find that your zotnet/tws directory isn't compiling, upgrade
1404 your MH (see "What is the current version/status of MH?") which
1405 includes fixes to lexedit.sed.
1407 See http://www.gw.com/mail/mh/patches/hp/ for for patches you may need.
1409 ------------------------------
1411 Subject: 02.12 Can I prevent adding the local hostname to addresses behind firewalls?
1413 From: Ted Remillard <tedr at hood.sd.com>
1414 Date: 24 Jun 1996 08:53:42 -0700
1416 You can get MH to stop managing the headers and let the email server
1417 to do it. To do this, build MH with the options DUMB and REALLYDUMB.
1418 In the $MHLIB/mts.conf (mtstailor) file, set the server option to
1419 the IP address of the email server. After this is done, MH sends
1420 email directly to the email server and Local email To: and From:
1421 fields just have the user's simple email address, e.g., <fred>, and
1422 the remote email From: header will contain user@domainname, e.g.,
1425 Don't forget to define the REALLYDUMB option in the file
1426 sbr/addrsbr.c described below.
1428 From: Bret Rothenberg <bretr at endeavour.exar.com>
1429 Date: Tue, 23 Jan 1996 12:25:24 -0800 (PST)
1431 Yes, use the "localname" parameter in "$MHLIB/mts.conf" (mtstailor)
1432 to specify the desired hostname.
1434 From: Ken Hornstein <kenh at cmf.nrl.navy.mil>
1435 Date: 18 Aug 1995 23:51:48 -0400
1437 If you're behind a firewall and sendmail gives you fits because MH
1438 adds the node name or site name to each address in the To: and CC:
1439 fields, you'll need to modify the MH source.
1441 The relevant source has to do with the REALLYDUMB option in
1442 sbr/addrsbr.c. Essentially what you need to do is set it up so
1443 REALLYDUMB is turned on (normally, it's turned off if you have MMDF
1444 or SMTP turned on). This will do what you want. I did this at our
1445 site, and it's been working great. The stuff for REALLYDUMB starts
1448 ------------------------------
1450 Subject: 02.13 Is there a patch to fix this or that?
1451 From: Kimmo Suominen <kim at tac.nyc.ny.us>
1452 Date: Sat, 3 Mar 2001 13:40:35 -0800
1454 The MH Patch Archive has been opened at
1456 http://www.gw.com/mail/mh/patches/
1458 It is a collection of patches to MH (the RAND MH Message Handling
1459 System), a set of electronic mail programs in the public domain.
1460 Since the last complete release of MH (version 6.8.3) UNIX systems
1461 have evolved making changes in the MH code necessary. Several new
1462 UNIX systems have emerged requiring new configuration templates and
1463 examples. This archive tries to collect all these fixes and
1464 enhancements that in the past have been available only through
1465 word-of-mouth and occasional reposts to newsgroups or mailing lists.
1467 The initial archive layout and the very time consuming collecting
1468 and categorizing of patches has been done by Jerry Peek.
1470 I will be the primary maintainer of the archive. Even though I will
1471 be monitoring several sources for new material (mainly the
1472 comp.mail.mh newsgroup but also the mailing lists <mh-workers at
1473 ics.uci.edu>, <mh-e-users at lists.sourceforge.net> and
1474 <exmh-workers at redhat.com>), I'd like to encourage everyone to
1475 submit patches also directly to the archive at <mh-archive at
1478 ------------------------------
1480 Subject: 02.14 How can I build MH on OS/2?
1481 From: Sanjay Aiyagari <sanjay at sandbox.snetnsa.com>
1482 Date: 21 Nov 1996 19:37:10 GMT
1484 ftp://ftp.jaist.ac.jp/pub/os/os2/network/MH/
1486 ------------------------------
1488 Subject: 02.15 Do any POP/IMAP servers handle MH format?
1489 From: "Carl S. Gutekunst" <csg at eng.sun.com>
1490 Date: 27 May 1997 07:24:34 GMT
1492 The University of Washington POP3 and IMAP servers can be backended
1493 by a variety of stores, including MH. This is the basis for
1494 Netscape's store, curiously enough. I haven't looked closely at how
1495 Mark Crispin implemented support for the new IMAP4 features when
1496 using an MH backend; it seems like there is a lot of computation
1497 when opening a folder for the first time, writing in the UID fields
1498 and such. But it basically appears to work.
1500 From: Lyndon Nerenberg <lyndon at MessagingDirect.COM>
1501 Date: 27 Jul 1999 11:36:25 -0600
1503 But [the UW IMAP server] can't delete/expunge from MH folders. (At
1504 least I've never been able to get it to work, and I've tried just
1505 about everything.) #mh in UW imapd isn't something I'd recommend to
1506 any serious MH user.
1508 From: Mark Crispin <mrc at CAC.Washington.EDU>
1509 Date: Tue, 27 Jul 1999 14:43:25 -0700
1511 > But it can't delete/expunge from MH folders.
1513 That's a very old version. delete/expunge has been in imap-4.x for a
1514 long while. However, there's no sticky flags.
1516 > #mh in UW imapd isn't something I'd recommend to any serious MH user.
1518 The converse is also true. The two don't play ball very well.
1520 From: Dieter Weber <dieter at Compatible.COM>
1521 Date: 11 Feb 2003 04:23:38 -0800
1523 The UW imap server supports MH folders. In order to see the MH
1524 mailboxes, you need to "subscribe" to the folders or add them to the
1525 .mailboxlist file in your home directory.
1527 ------------------------------
1529 Subject: 02.16 How can I build MH on Windows?
1530 From: Satyaki Das <satyaki at theforce.stanford.edu>
1531 Date: Wed, 19 Jun 2002 20:57:19 -0700
1533 I have gotten MH-E to work on Windows (under Cygwin) using Earl
1534 Hood's patched nmh. It was really quite simple, but not very
1535 portable. I just needed to add/subtract "c:/cygwin" from a couple of
1536 places. Now it can read and send mail (even does PGP attachments).
1537 Thought this might be of interest to those of you stuck using
1540 From: Earl Hood <ehood at earlhood.com>
1541 Date: Sat, 08 Jun 2002 20:30:44 GMT
1543 I've made a tar/bz2 bundle available at
1545 <http://www.nacs.uci.edu/indiv/ehood/tmp/nmh-1.0.4-ehood-cygwin.tar.bz2>
1547 This includes the patched source with binaries pre-built.
1549 I just remembered that I also had to hack the makefiles to get
1550 things to install since windoze executables have to end with .exe. I
1551 hacked the generated makefiles, so if you rerun configure, you may
1552 lose the hacks. Also, I believe the install will fail when trying to
1553 install the documentation, so to force things do:
1557 The binaries and support files should get installed (under
1558 /usr/local/nmh), but the docs probably won't.
1560 Then you will need to edit /usr/local/nmh/etc/mts.conf to reflect
1561 your local configuration.
1563 If anyone has any problems installing, I could zip up my
1564 /usr/local/nmh since I think it contains everything needed for
1567 From: Bill Goffe <goffe at oswego.edu>
1568 Date: 25 May 1999 18:13:55 GMT
1570 If you have Windows, consider looking at VMware
1572 http://www.vmware.com/
1574 which provides a virtual machine where you can run Unix and
1575 therefore MH under Windows.
1577 From: Ted Nolan <ted at ags.ga.erg.sri.com>
1578 Date: 24 May 99 17:20:27 GMT
1580 The latest Cygnus Cygwin, GNU tools that run under Windows,
1582 http://www.cygwin.com/
1584 seems to work pretty well and may well be able to build nmh.
1586 ------------------------------
1588 Subject: !02.17 How can I build MH on a Mac?
1589 From: Dr Eberhard W Lisse <el at lisse.na>
1590 Date: Sun, 05 Jun 2005 13:43:19 +0100
1592 nmh compiles on the G4 iBook running Mac OS X 10.3.7 more or less
1593 out of the box with the powerpc HOST option. Use make all install.
1595 Use fink to install the nmh package on Max OS X 10.3.9 (and 10.4.1).
1597 metamail does not work out of the box. However,
1598 metamail-2.7.19-1030.src.rpm (SuSE) which compiles and installs
1601 For exmh, first use fink to install the tcltk package. Then use fink
1604 ------------------------------
1606 Subject: 03.00 ***** Scanning & Reading *****
1607 From: Bill Wohler <wohler at newt.com>
1608 Date: Fri, 1 Mar 1991 13:03:15 -0800
1610 ------------------------------
1612 Subject: 03.01 What do I do if scan shows the wrong date?
1613 From: Bill Wohler <wohler at newt.com>
1614 Date: Fri, 1 Jan 1993 00:00:00 -0800
1616 Upgrade to MH 6.8 or nmh.
1618 From: Darryl Okahata <darrylo at sr.hp.com>
1619 Date: 19 Jan 2000 23:01:10 -0800
1621 MH 6.8.3 and nmh 1.0 still have a minor buglet where sortm doesn't
1622 always sort messages properly. If a (questionable) mail client sends
1623 messages with 2-digit years, like:
1625 Date: Sat, 23 Oct 09 22:02:01 EST
1627 or sends out buggy dates like (as buggy versions of Elm do):
1629 Date: Sat, 23 Oct 100 22:02:01 EST
1631 then sortm will not sort these messages properly.
1633 I have submitted patches to nmh-workers.
1635 ------------------------------
1637 Subject: 03.02 How would one go about reading Usenet with MH?
1638 From: Bill Wohler <wohler at newt.com>
1639 Date: Sun, 26 Nov 1995 12:32:09 -0800
1641 You can post via mail. Send your article to <mail2news at
1642 news.demon.co.uk> with a legitimate Newsgroups field.
1644 From: Jerry Peek <jpeek at jpeek.com>
1645 Date: Tue, 1 Nov 1994 00:00:00 -0800
1647 You can save articles in the news readers for later perusal with MH.
1649 First, create a symbolic link from your mail directory (e.g.,
1650 usenet) to your news directory (e.g., "ln -s ~/News ~/Mail/usenet").
1651 You can then treat your news directory as a mail folder. Thus, to
1652 select a news group, use "folder +usenet/comp/mail/mh".
1654 To set the default save location correctly in rn, use:
1658 or in your nn presentation sequence:
1660 news.announce. +$F/$N
1665 If there's news spooled on your machine (that is, not via NNTP) then
1666 you can read a newsgroup with commands like:
1668 show first +/usr/spool/news/comp/mail/mh
1672 You can also use sequences to keep track of what you've read. MH
1673 will automatically set a "cur" sequence in each newsgroup you read
1674 that way. So, to continue reading the newsgroup sometime later,
1675 after you've read some other folder, you can do:
1677 next +/usr/spool/news/comp/mail/mh
1679 and you'll read the next (new) article (if any) in that newsgroup.
1681 Note that this can eventually make your private context file pretty
1682 huge; if there's a group you don't read often, you can remove its
1683 context entries with a command like:
1685 rmf +/usr/spool/news/comp/mail/mh
1687 Don't try that on a folder full of mail (a folder that isn't
1688 read-only), though... in that case, it'll remove all the messages!
1690 I haven't looked into posting. It seems like it shouldn't be hard.
1691 You could set up a "sendproc" that would look at outgoing email
1692 messages. If the message had a Newsgroups: header field, your
1693 sendproc could call inews(1) instead of post(8). I haven't seen much
1694 in the MH manpages or documentation about sendprocs (though I
1695 haven't looked for a couple of years...). See the "mysend" script in
1696 the MH book section 7.1.4 (13.13), or the URL:
1698 http://rand-mh.sourceforge.net/book/mh/senove.html#ASAtDm
1700 A threaded news reader like trn or tin is so much nicer, though,
1701 that reading news with MH may not be worth the hassle.
1703 See also MH book section 9.9 (8.7), or the URL:
1705 http://rand-mh.sourceforge.net/book/mh/shafol.html
1707 From: Stephen Gildea <gildea at stop.mail-abuse.org>
1708 Date: Fri, 1 Mar 1991 13:03:15 -0800
1710 Although news readers are better, if one really wants to use MH, bbc
1711 will do the job. For example, "bbc comp.mail.mh" reads this
1712 newsgroup. To enable bbc, you have to specify "bboards" when you
1715 From: Kimmo Suominen <kim at tac.nyc.ny.us>
1716 Date: 15 Aug 1996 18:18:10 GMT
1718 Sendmail v8 comes with MAILER(pop) which was written for the MH
1719 spop. Since I use bboards with NNTP, I never looked at the bboards
1722 Date: Tue, 1 Nov 1994 00:00:00 -0800
1724 See mhunify in (see also "What other MH software is available?").
1726 ------------------------------
1728 Subject: 03.03 How can I search through multiple folders?
1729 From: Jerry Peek <jpeek at jpeek.com>
1730 Date: Mon, 1 Mar 1993 00:00:00 -0800
1732 Recurse through the folders (in csh and sh):
1734 % foreach f (`folders -f`) $ for f in `folders -f`
1735 ? pick [switches] +$f > pick [switches] +$f
1738 Or create a folder that contains links to all messages (in csh and sh):
1740 % foreach f (`folders -f | grep -v -x ln`)
1741 ? refile -src +$f -link all +ln
1744 $ for f in `folders -f | grep -v -x ln`
1745 > do refile -src +$f -link all +ln
1748 and in the future, refile messages with "refile +folder +ln". To
1749 find something, use:
1751 % pick [switches] +ln
1753 See MH book sections 8.2.9 (7.2.9), 8.9.3 (7.8.3), or the URLs:
1755 http://rand-mh.sourceforge.net/book/mh/finpic.html#SeMTOnFo
1756 http://rand-mh.sourceforge.net/book/mh/usilin.html#AFoFuoLi
1758 ------------------------------
1760 Subject: 03.04 Why don't MH format commands such as %(friendly) work?
1761 From: Anthony Baxter <anthony at aaii.oz.au>
1762 Date: Sun, 1 May 1994 00:00:00 -0800
1764 The BERK option disables address parsing and therefore functions
1765 such as %(friendly). Recompile MH without the BERK option.
1767 ------------------------------
1769 Subject: 03.05 Why doesn't "show" display all of a MIME message?
1770 From: Jerry Peek <jpeek at jpeek.com>
1771 Date: Mon, 1 Aug 1994 00:00:00 -0800
1773 It's not the fault of the "show" command or of MH in general. It's
1774 your system's configuration. Check the $MHLIB/mhn.defaults
1775 (mhn_defaults) file; if it doesn't have defaults for all content
1776 types, add them. Or, if you can't (or shouldn't) change mhn.defaults
1777 (mhn_defaults), you can put default entries in your MH profile file
1778 for those content types.
1780 Here's the part of the mhshow(1) (mhn(1)) manpage that explains how
1781 content types are handled. The example is for mhshow, but if you're
1782 using mhn, you'd replace mhshow with mhn:
1784 First, mhshow will look for an entry of the form:
1786 mhshow-show-<type>/<subtype>
1788 to determine the command to use to display the content. If this
1789 isn't found, mhshow will look for an entry of the form:
1793 to determine the display command. If this isn't found, mhshow has
1796 mhshow-show-text/plain: %pmoreproc '%F'
1797 mhshow-show-message/rfc822: %pshow -file '%F'
1799 If neither apply, mhshow will check to see if the message has a
1800 application/octet-stream content with parameter "type=tar". If so,
1801 mhshow will use an appropriate command. If not, mhshow will
1804 So, add defaults that cover the types MH doesn't handle right now
1805 (or doesn't handle the way you want it to). Your defaults will
1806 override corresponding defaults in the $MHLIB/mhn.defaults
1807 (mhn_defaults) file. For example, if you don't have an HTML
1808 editor/browser on your system, you could tell MH to use the "less"
1809 paginator for HTML message parts:
1811 mhshow-show-text/x-html: less %F
1813 You can put that line in your MH profile.
1815 You can even set different defaults for different terminal types
1816 (say, your VT100 at home and your X setup at work). Make a file in
1817 the same format as mhn.defaults (mhn_defaults); store its pathname
1818 in the MHSHOW (MHN) environment variable. Add a test to your shell
1819 setup file (.bash_profile, .profile, .login) that tests the value of
1820 the TERM variable -- and, if you have an mhshow (mhn) setup file for
1821 that terminal type, store its pathname in the MHSHOW (MHN) variable.
1823 See also MH book sections 6.2.3, 9.4.4, 9.4.5, or the URLs:
1825 http://rand-mh.sourceforge.net/book/mh/remime.html#HomhShMe
1826 http://rand-mh.sourceforge.net/book/mh/confmhn.html#ShComhsh
1827 http://rand-mh.sourceforge.net/book/mh/confmhn.html#DiOChSmc
1829 From: Michael K. Neylon <mneylon at engin.umich.edu>
1830 Date: Tue, 1 Nov 1994 00:00:00 -0800
1832 If you are not using the X Window System, you may have to add this
1833 line to your MH profile:
1835 mhshow-charset-iso-8859-1: /bin/sh -c '%s' # nmh
1836 mhn-charset-iso-8859-1: /bin/sh -c '%s' # MH
1838 ------------------------------
1840 Subject: 03.06 Can I get show not to run "less" so much on MIME messages?
1841 From: Richard Coleman <coleman at math.gatech.edu>
1842 Date: Tue, 20 Jan 1998 02:19:58 -0500
1844 On nmh, you can do this just by "show -nocheckmime". This will
1845 disable the detection of MIME messages.
1847 From: Bill Wohler <wohler at newt.com>
1848 Date: Tue, 1 Nov 1994 00:00:00 -0800
1850 If you say, "show all," and one of the messages was a MIME message,
1851 your pager will be run several times on each message, rather than
1852 once on all the messages as a whole. If you find this annoying, set
1853 the environment variable NOMHNPROC:
1855 % setenv NOMHNPROC "" # csh
1856 $ NOMHNPROC= # sh and bash
1859 See also MH book sections 6.2.3, 6.2.10, or the URLs:
1861 http://rand-mh.sourceforge.net/book/mh/remime.html#HomhShMe
1862 http://rand-mh.sourceforge.net/book/mh/remime.html#Alttomhn
1864 ------------------------------
1866 Subject: 03.07 Why do I get "mhn: don't know how to display content"?
1867 From: Richard Coleman <coleman at math.gatech.edu>
1868 Date: Tue, 20 Jan 1998 02:19:58 -0500
1870 This has already been fixed in nmh.
1872 From: Keith Moore <moore at cs.utk.edu>
1873 Date: Sun, 8 Sep 1996 15:49:50 -0700
1875 MH 6.8.3 has a bug where it will not handle multipart/foo correctly
1876 if it doesn't know about foo. The patch:
1878 http://www.gw.com/mail/mh/patches/all/mhn_multipart
1880 tells it to treat such things as if they were multipart/mixed.
1882 (See also "Why doesn't "show" display all of a MIME message?").
1884 ------------------------------
1886 Subject: 03.08 How can I automatically delete MH backup files?
1887 From: mccammaa at expt05.stp.xfi.bp.com (Andy McCammont)
1888 Date: 22 May 1995 06:27:36 -0400
1890 On System V system, add this to your crontab. If you don't have one,
1891 put this in a file, and run "crontab file". If your system does not
1892 support personal crontab files, get your system administrator to add
1893 an equivalent line to the system crontab file or daily clean-up
1894 script. Note that some administrators set the prefix character to
1897 # Remove old MH files
1898 5 5 * * * find /PATH/TO/HOME/Mail -name ",*" -mtime +5 -exec rm {} \;
1900 ------------------------------
1902 Subject: 03.09 Fixing "cannot fopen and lock /var/spool/mail/(user)"
1903 From: Patrick.Wambacq at esat.kuleuven.ac.be
1904 Date: Mon, 30 Sep 96 15:00:16 +0200
1906 One should put the following lines in the $MHLIB/mts.conf
1912 This prevents MH from using kernel level locking, and uses lock
1913 files instead. It solved the problem for me on two different
1914 architectures. When the lockldir entry is left empty as above, the
1915 lock file is put in the same directory as the file to be locked. If
1916 another directory is wanted, its name should be put here.
1918 From: alhy at MAILBOX.SLAC.Stanford.EDU
1919 Date: Mon, 9 Sep 1996 01:01:16 -0700
1921 Often, this is caused by an NFS file lock. Don't ask me how it got
1922 there in the first place. To remove the file lock, do the following:
1924 # cd /var/spool/mail
1925 # cp user /tmp/user.tmp; rm user # save mail; remove locked file
1926 # chown user /tmp/user.tmp # allow user to inc old mail
1928 user% inc -file user.tmp # incorporate user's old mail
1930 Any mail that you receive in the fraction of a second that the
1931 second set of commands takes will be lost.
1933 (See also "Why does inc hang (on Sun)?")
1935 ------------------------------
1937 Subject: 03.10 Can I read my mail with a Web browser?
1938 From: Jerry Heyman <jerry@fourwinds.cx>
1939 Date: Sat, 09 Oct 2004 12:41:03 -0400
1941 See http://www.squirrelmail.org/
1943 SquirrelMail is a standards-based webmail package written in PHP4.
1944 It includes built-in pure PHP support for the IMAP and SMTP
1945 protocols, and all pages render in pure HTML 4.0 (with no
1946 JavaScript required) for maximum compatibility across browsers. It
1947 has very few requirements and is very easy to configure and
1948 install. SquirrelMail has all the functionality you would want
1949 from an email client, including strong MIME support, address
1950 books, and folder manipulation.
1952 No MH support. Unless you're willing to write it...
1954 From: J C Lawrence <claw at kanga.nu>
1955 Date: Wed, 10 Dec 2003 09:54:15 -0500
1957 UW-imap can read MH folders although it doesn't maintain sequence
1958 files properly. Drop any of the IMAP web front ends in front of
1961 From: aeriksson at fastmail.fm
1962 Date: Wed, 10 Dec 2003 22:36:52 +0100
1964 Have a peek at http://wmh.sf.net/. It's been a while since I worked
1965 on it, but it does give me what I need.
1967 Date: Mon, 05 Oct 1998 11:02:52 -0500
1968 From: Kent Landfield <kent at nfr.net>
1970 Hypermail now supports MIME and alternate mailbox formats and sorts
1971 by author, date, and thread and can be read by a WWW reader.
1973 http://www.landfield.com/hypermail/
1975 From: "Patrick A. Coronato" <coronato at me216.teb.allied.com>
1976 Date: 8 Sep 1995 16:36:03 GMT
1978 MHonArc, by Earl Hood from Convex, will read MH mailboxes as well as
1979 Unix mailboxes, create HTML "archives" and will also sort by date,
1980 thread and author and has support for MIME. Also, MHonArc is written
1981 in the Perl language. (You should go to this site if nothing more
1982 than to see the cool logo!)
1984 http://www.mhonarc.org/
1986 ------------------------------
1988 Subject: 03.11 How can I run inc automatically with POP?
1989 From: Bill Wohler <wohler at newt.com>
1990 Date: Mon, 27 Nov 1995 12:23:51 -0800
1992 If MH has been compiled with RPOP, then the POP server host either
1993 needs to have your host in /etc/hosts.equiv or in your .rhosts file.
1994 Then add to your MH profile:
1998 given that "cuckoo" is the name of the your POP server.
2000 From: Andy Norman <ange at hplb.hpl.hp.com>
2001 Date: Mon, 1 May 1995 00:00:00 -0800
2003 Assuming your POP server is called cuckoo, add an entry to your MH
2004 profile for 'inc' like so:
2006 inc: -noaudit -norpop -noapop -host cuckoo
2008 Add the following to ~/.netrc and ensure it is readable only by you
2009 (e.g., chmod 600 .netrc):
2011 machine cuckoo.domain.name login joeuser password secret
2013 Replace the hostname, login and password with your own, of course.
2014 The hostname probably has to be fully qualified (i.e., include the
2015 full domain name). This example assumes that you can send mail by
2016 other means (e.g., with SMTP).
2018 ------------------------------
2020 Subject: 03.12 Why does inc hang (on Sun)?
2021 From: ericding at mit.edu (Eric J. Ding)
2022 Date: 30 Apr 1996 00:22:01 -0400
2024 This may be due to a non-robust implementation of lockf() over NFS.
2025 Try setting lockstyle to 1 in the $MHLIB/mts.conf (mtstailor) file
2026 so that MH uses dotfile locking rather than FLOCK or LOCKF.
2028 ------------------------------
2030 Subject: 03.13 How can I get POP to work?
2031 From: Jonathan George <jmg at hpopd.pwd.hp.com>
2032 Date: Tue, 23 Apr 1996 10:23:16 GMT
2034 If you get the error:
2036 inc: -ERR Unknown command: "rpop"
2038 you're trying to use "rpop" as the mechanism to authenticate the
2039 user. This mechanism is specified in RFC 1225 and then removed by
2042 Your POP server is (rightly) rejecting this.
2044 The POP specification (RFC 1939) states that authentication is done
2045 either via a USER/PASS pair or via the APOP command.
2047 Try running inc with -noapop -norpop flags.
2049 ------------------------------
2051 Subject: 03.14 How do I persuade mhshow (mhn) not to bring up a new window?
2052 From: Joel Reicher <joel at panacea.null.org>
2053 Date: Tue, 13 Nov 2001 16:49:04 +1100
2055 I personally think [the solution below] is not the right solution.
2056 There's a reason that new window is opened--to ensure the correct
2057 characters are available. The "right" solution is surely to set the
2058 MM_CHARSET env var to iso-8859-1 and make the appropriate
2059 adjustments to the pager (in the case of less, setting
2060 LESSCHARSET=latin1).
2062 From: Larry Daffner <ldaffner at convex.com>
2063 Date: 27 Mar 1996 16:53:39 -0600
2065 Add one of the following to your .mh_profile:
2067 mhshow-charset-iso-8859-1: %s # nmh
2068 mhn-charset-iso-8859-1: %s # MH
2070 ------------------------------
2072 Subject: 03.15 How do I turn off of all the mhshow (mhn) prompts?
2073 From: Bill Wohler <wohler at newt.com>
2074 Date: Sun, 11 Mar 2001 11:33:10 -0800
2076 In nmh, use mhshow -nopause.
2078 From: Larry Daffner <ldaffner at convex.com>
2079 Date: 27 Mar 1996 16:53:39 -0600
2081 The "part xxx" message is controlled by the -list switch to mhn so
2082 add "mhn: -nolist" to your .mh_profile. To remove the pause, add an
2083 entry for "mhn-show-text/plain: more '%F'" to override the default
2084 which includes the "%p" escape. All of this is covered in the mhn
2085 man page (sort of--you need to add 2+2). It's a bit long, but well
2088 ------------------------------
2090 Subject: 03.16 Why is inc splitting messages improperly?
2091 From: Mayank Choudhary <micky at eng.sun.com>
2092 Date: Mon, 29 Apr 1996 09:39:29 -0700
2094 MH considers "From " lines as message separators, so if this string
2095 is found within the body, inc splits the message.
2097 Add the following line to your .forward
2099 "|/usr/bin/mailcompat <user-name>"
2101 where user-name is your login-id.
2103 See mailcompat(1) for more information.
2105 ------------------------------
2107 Subject: 03.17 Can MH thread messages?
2108 From: "John W. Coomes" <jcoomes at delirius.cs.uiuc.edu>
2109 Date: 30 Apr 1997 13:02:10 -0500
2111 Sort of. You can resort your folders by Subject with:
2113 sortm -textfield subject
2115 ------------------------------
2117 Subject: 03.18 How can I avoid reading the HTML version of the message?
2118 From: Bill Wohler <wohler at gbr.newt.com>
2119 Date: 23 Jun 2000 10:19:34 -0700
2121 You might find that you have two versions of the same message within
2122 the message. For example, one part might have a content type of
2123 text/plain and the other might be text/html.
2125 You may find that mhshow (mhn -show) wants to show the HTML version
2126 This is a feature of the multipart/alternative content type. If you
2127 prefer reading the the plain text version over the HTML version,
2128 you'd have to remove the line in $MHLIB/mhn.defaults or
2129 ~/.mh_profile that starts with mhshow-show-text/html
2130 (mhn-show-text/html). Of course, the tradeoff is that you'd never be
2131 able to view text/html at all, but you probably wouldn't care.
2133 ------------------------------
2135 Subject: 03.19 How do I view or save attachments?
2136 From: Bill Wohler <wohler at gbr.newt.com>
2137 Date: Mon, 5 Mar 2001 09:12:15 -0800
2139 Use mhshow (mhn -show) and mhstore (mhn -store) respectively. See
2140 the man pages for more details.
2142 ------------------------------
2144 Subject: 03.20 How do I view HTML attachments with Netscape?
2145 From: Bill Wohler <wohler at gbr.newt.com>
2146 Date: Mon, 5 Mar 2001 09:58:05 -0800
2148 Add one of the following to ~/.mh_profile:
2150 mhshow-show-text/html: %lnetscape -remote 'openURL(file:%f, new-window)'
2151 mhn-show-text/html: %lnetscape -remote 'openURL(file:%f, new-window)'
2153 The % escapes are described in the mhshow (mhn) man page. The ",
2154 new-window" argument in the netscape invocation is optional, but
2155 handy. After reading the message, you can dismiss the window with
2156 M-w and go back to reading mail.
2158 ------------------------------
2160 Subject: 03.21 Fixing folders: unable to allocate storage for msgstats
2161 From: Pete Phillips <pete at smtl.co.uk>
2162 Date: 30 Jan 2003 03:33:57 -0800
2164 I found the following in my context file:
2169 For some reason folders doesn't like this. Whether it's because of
2170 permission problems or just the size of my tmp directory (about 3/4
2171 of a GB) I don't know, but removing these lines from my context file
2174 ------------------------------
2176 Subject: 03.22 How do I recursively list message attachments?
2177 From: Joel Reicher <joel at panacea.null.org>
2178 Date: 31 Oct 2001 00:36:14 +1100
2180 I haven't quite managed a recursive listing, but I have worked out a
2181 recursive store, which is still useful. Hinted by a builtin display
2182 string for mhshow, I found the following works for mhstore:
2184 mhstore-store-message/rfc822: | mhstore -file -
2186 With that, mhstore will happily recurse down storing everything on
2187 its way. Not very discriminate, but the line can be altered to limit
2188 without destroying the recursion:
2190 mhstore-store-message/rfc822: | mhstore -auto -type message/rfc822 -type image/jpeg -file -
2192 which also names the files automatically for good measure.
2194 And, FWIW, I engage this by putting it in a separate file and
2195 invoking mhstore like
2197 env MHSTORE=mhn.rec mhstore
2199 ------------------------------
2201 Subject: 03.23 Why do folder and flist overlook some of my sub-folders?
2202 From: Richard Coleman <coleman at math.gatech.edu>
2203 Date: Mon, 10 Oct 2005 18:14:24 -0700
2205 There was a bug in these commands which caused them to quit
2206 searching a folder for sub-folders too early if the folder contained
2207 sub-folders which were symbolic links. This has been improved in
2208 nmh-0.25, but folder and flist will still not recurse into folders
2209 that contain only symbolic links.
2211 ------------------------------
2213 Subject: 04.00 ***** Filing *****
2214 From: Bill Wohler <wohler at newt.com>
2215 Date: Fri, 1 Mar 1991 13:03:15 -0800
2217 ------------------------------
2219 Subject: 04.01 Can I append MH messages to a Unix mailbox format file?
2220 From: Richard Coleman <coleman at math.gatech.edu>
2221 Date: Tue, 20 Jan 1998 02:19:58 -0500
2223 In nmh, use packf instead.
2225 From: Bill Wohler <wohler at newt.com>
2226 Date: Fri, 1 Jan 1993 00:00:00 -0800
2228 Yes, see $MHLIB/packmbox.
2230 ------------------------------
2232 Subject: 04.02 Can I append MH messages to a GNU Emacs rmail BABYL-format file?
2233 From: Bill Wohler <wohler at newt.com>
2234 Date: Fri, 1 Mar 1991 13:03:15 -0800
2236 To convert your MH folders to BABYL folders, first run the following
2237 script on your Mail directory.
2244 folder=`basename $f`
2245 echo -n packing $folder ...
2248 mv msgbox Mail-rmail/$folder
2252 This assumes you don't have nested folders. Your rmail folders will
2253 be left in $HOME/Mail-rmail in MMDF format which rmail can read.
2254 Then run rmail-input for each folder, which converts each folder
2257 Be sure not to append any messages before they are converted from
2258 MMDF to BABYL, since there may be really strange results.
2260 ------------------------------
2262 Subject: 04.03 Why do I get ".../.mh_sequences is poorly formatted?"
2263 From: Richard Coleman <coleman at math.gatech.edu>
2264 Date: Tue, 20 Jan 1998 02:19:58 -0500
2266 This bug has been fixed in nmh (as of version 0.20). There are no
2267 limitations on the length of an entry in the .mh_sequences file.
2269 From: Jerry Peek <jpeek at jpeek.com>
2270 Date: Mon, 1 Aug 1994 00:00:00 -0800
2272 There is a line length limit in this file. When sequences are
2273 unbroken (without gaps in numbering), that makes short entries in
2274 the .mh_sequences file, like this:
2278 But when there are lots of numbering gaps, the entry gets long:
2280 inftex: 76 79-81 87 95-96 105 109 120 124 135 141 158 163...
2282 That's when you run into problems, and why it's good to keep the
2283 folder packed when you can. Simply run "folder -pack +folder".
2285 If you're refiling a lot of messages in a large folder, you might
2286 not be able to use sequences. Use backquotes to give the message
2287 numbers directly to "refile". For example:
2289 refile +tex/info-tex `pick -to info-tex`
2291 That can still generate a long list of arguments to the "refile"
2292 command, and some Unixes can't handle that. In that case, use
2295 pick -to info-tex | xargs refile +tex/info-tex
2297 If worse comes to worst, fire up a Bourne shell and use a "while"
2300 pick -to info-tex | fmt | while read nums; do
2301 refile +tex/info-tex $nums
2304 The fmt(1) command breaks long lines into manageable chunks of 72
2305 characters or so, splitting arguments at whitespace. When you
2306 redirect the input of a while loop, a "read" command will read the
2307 incoming text and store it in a shell variable line by line. This is
2308 a quick-&-dirty way to write xargs(1) if you don't have it.
2310 ------------------------------
2312 Subject: 04.04 How can you save News articles into an MH folder?
2313 From: Jerry Peek <jpeek at jpeek.com>
2314 Date: Mon, 1 May 1995 00:00:00 -0800
2316 If your newsreader handles backquotes on its command line, you can
2317 use the mhpath command. For instance, if your "save" command is "s":
2319 s `mhpath new +somefolder`
2321 Or if your newsreader lets you define your own commands, as in shell
2322 aliases, you could define that as a command.
2324 If your newsreader can pipe an article to the standard input of a
2325 program, use the "rcvstore" command (in the MH library). For
2326 instance, if your "pipe" command is "|":
2328 | $MHLIB/rcvstore +somefolder
2330 Of course, you can also put that in a little shell script.
2332 ------------------------------
2334 Subject: !04.05 Are there any good tools to archive MH messages?
2335 From: Bill Wohler <wohler at newt.com>
2336 Date: Sun, 23 Sep 2007 18:35:53 -0700
2338 For those of lesser means, I have three shell scripts for archiving,
2339 seeking, and extracting MH messages that I had been using for a
2340 couple of decades. Send mail if interested.
2342 However, now that disk space is cheap and one can index years worth
2343 of mail in a minute or two, I haven't run those scripts in a few
2344 years. I intend to update them to index and archive a years-worth of
2347 Since glimpse is no longer free (as in speech), I've switched to
2348 swish++. Other indexing tools (which are also compatible with MH-E)
2349 include mairix and namazu.
2351 From: glimpse at cs.arizona.edu
2352 Date: Sun, 4 Mar 2001 10:26:24 -0800
2354 Glimpse is a very powerful indexing and query system that allows you
2355 to search through all your files very quickly. It can be used by
2356 individuals for their personal file systems as well as by
2357 organizations for large data collections.
2359 http://www.webglimpse.org/
2361 ------------------------------
2363 Subject: 04.06 How can I remove duplicate messages?
2364 From: Bill Wohler <wohler at newt.com>
2365 Date: Sun, 17 Oct 2004 13:04:57 -0700
2367 Don't let them get in there in the first place. Add the following to
2371 * ? formail -D 16384 $PM_CACHE/msgid
2374 If it's too late, you might be interested in mhfinddup, attached
2375 below, which is an embellishment of the Perl script in (see
2376 "Removing duplicate messages (Perl)").
2378 From: Jerry Peek <jpeek at jpeek.com>
2379 Date: 20 Nov 1995 18:51:24 GMT
2381 The easiest way I know of is to sort the folder by the Message-ID
2382 field using the sortm(1) command.
2384 After the sort, each message should be next to its duplicates in the
2385 folder. Use a script (shell, Perl, etc.) to weed out the duplicates.
2386 (See "Removing duplicate messages (Bourne)").
2388 The Perl script in (see "Removing duplicate messages (Perl)") does
2389 not require that you first sort the folder.
2391 ------------------------------
2393 Subject: 04.07 How can I remove holes in numbering?
2394 From: Bill Wohler <wohler at newt.com>
2398 ------------------------------
2400 Subject: 05.00 ***** Composing & Replying *****
2401 From: Bill Wohler <wohler at newt.com>
2402 Date: Fri, 1 Mar 1991 13:03:15 -0800
2404 ------------------------------
2406 Subject: 05.01 Why does repl add a "Re:" to a message that already has one?
2407 From: Larry McVoy <lm at slovax.Eng.Sun.COM>
2408 Date: Fri, 1 Mar 1991 13:03:15 -0800
2410 I carefully reconfigured and rebuilt MH from scratch and the problem
2413 ------------------------------
2415 Subject: 05.02 How do I include messages in repl with or without ">"?
2416 From: Richard Coleman <coleman at math.gatech.edu>
2417 Date: Tue, 20 Jan 1998 02:19:58 -0500
2419 In nmh, to include a message in a reply with a leading ">", just use
2422 From: Alan Thew <qq11 at liv.ac.uk>, Mike Schwager <schwager at cs.uiuc.edu>,
2423 James T Perkins <jamesp at sp-eug.com>
2424 Date: Fri, 1 Jan 1993 00:00:00 -0800
2426 When making a reply, specify a filter file on the command line:
2428 repl -filter repl.format
2430 This filter file must be in your MH mail directory (usually "Mail",
2431 in your home directory). Here are a couple of example repl.format
2434 overflowtext="",overflowoffset=0
2435 message-id:nocomponent,formatfield=\
2436 "In message %{text}, you wrote:"
2437 body:component="> ",overflowtext="> ",overflowoffset=0
2441 overflowtext="",overflowoffset=0
2442 date:component="Your message dated",formatfield=\
2443 "%<(nodate{text})%{text}%|%(pretty{text})%>"
2444 body:component="> ",overflowtext="> ",overflowoffset=0
2446 Setting overflowoffset to 0 keeps MH from doing anything to
2447 extra-long lines in the headers. In the body, however, this behavior
2448 is overridden so that long lines are automatically broken and a ">"
2449 is inserted before every line. You could put almost whatever you
2450 want between those quotes, although the "standard" ">" makes it
2451 easier to read notes that have been included several times. The
2452 examples differ with the descriptive text that is inserted before
2455 It is suggested not to use the "prompter" editor in this case, since
2456 it is likely that you'll not want to use all of the included
2457 message. Indeed, it is proper etiquette to edit out all unnecessary
2458 include verbiage so readers don't have to wade through the morass to
2459 read your pearls of wisdom.
2461 WARNING: the '>' appears on the first line ONLY in versions prior to
2462 6.7.2. Upgrade to MH 6.8.
2464 See also MH book sections 7.8.4 (6.7.4), 7.8.5 (6.7.5), 10.4.1
2465 (9.4.1), or the URLs:
2467 http://rand-mh.sourceforge.net/book/mh/reprep-2.html#ReaEdi
2468 http://rand-mh.sourceforge.net/book/mh/reprep-2.html#Inc
2469 http://rand-mh.sourceforge.net/book/mh/verrep.html#IncRep
2471 ------------------------------
2473 Subject: 05.03 How can I eliminate duplicate copies of letters to myself?
2474 From: Bill Wohler <wohler at newt.com>
2475 Date: Fri, 1 Mar 1991 13:03:15 -0800
2477 Add these two lines to your MH profile file:
2479 Alternate-Mailboxes: user@host1, user@host2, ...
2482 The Alternate-Mailboxes also tells scan which messages are really
2483 from you so that it can place the recipient in the scan line instead
2486 From: Jerry Peek <jpeek at jpeek.com>
2487 Date: Fri, 1 Mar 1991 13:03:15 -0800
2489 To get one copy, you can either:
2491 - Take out the "-nocc me"... then you'll get exactly one copy of
2492 your replies (assuming all your addresses are listed in
2493 Alternate-Mailboxes), or
2495 - (See also "How can I save a copy of all messages I send?").
2497 For more info, see the man pages comp(1), repl(1), forw(1),
2498 dist(1) and mh-mail(5).
2500 See also MH book sections 7.8.2 (6.7.2), 9.8 (8.6), or the URLs:
2502 http://rand-mh.sourceforge.net/book/mh/reprep-2.html#Sel
2503 http://rand-mh.sourceforge.net/book/mh/defmai.html
2505 From: Alec Wolman <wolman at crl.dec.com>
2506 Date: Fri, 1 Mar 1991 13:03:15 -0800
2508 Listing the name of a mailing list in Alternate-Mailboxes is also a
2509 convenient way to AVOID automatically cc-ing a mailing list when
2510 replying to a person who sent the message to the mailing-list.
2512 From: Andre Srinivasan <asriniva at us.oracle.com>
2513 Date: Fri, 24 Jan 1997 09:33:19 -0800
2515 Rather than specify the hostname as part of the mailbox, you can
2516 simply specify the username and it will match on any host:
2518 Alternate-Mailboxes: asriniva
2520 ------------------------------
2522 Subject: 05.04 How can I include my signature?
2523 From: Eric W. Ziegast <ziegast at uunet.uu.net>,
2524 Hardy Mayer <hardy at golem.ps.uci.edu>
2525 Date: Tue, 1 Nov 1994 00:00:00 -0800
2527 There are several ways.
2531 1a) In your Mail directory, create files that include your signature
2532 into the format of the message.
2541 Eric Ziegast ziegast at uunet.uu.net
2542 UUNET Technologies uunet!ziegast
2545 body:component="> ",compwidth=2
2547 :Eric Ziegast ziegast at uunet.uu.net
2548 :UUNET Technologies uunet!ziegast
2550 To use the replfmt file, add the following to your ~/.mh_profile:
2552 repl: -filter replfmt
2554 When comp is used, your signature is already there along with my
2555 headers. When repl is used, the mhl program takes the body of
2556 the letter you're replying to, prepends '> ' to each line and
2557 then adds your signature at the end (available after version
2560 1b) Create an "editor" which can be called from whatnow to add the
2561 signature when desired or create a frontend to post (use the
2562 .mh_profile line "postproc: postproc" to call it) that always
2563 appends the .signature file before calling post to mail the
2564 message. David J. Fiander <david at golem.uucp>, David A.
2565 Truesdell <truesdel at nas.nasa.gov> and Tom Wilmore <sastjw at
2566 unx.sas.com> have sample scripts to do these.
2568 From: Jerry Peek <jpeek at jpeek.com>
2569 Date: Tue, 1 Sep 1992 00:00:00 -0800
2571 1c) mysend, a sendproc script, processes a message after "What now?
2572 send". See "What references exist for MH" to see where the MH
2573 book scripts can be ftped from. The script is explained in MH
2574 book Section 7.1.4 (13.13), or the URL:
2575 http://rand-mh.sourceforge.net/book/mh/senove.html#ASAtDm
2577 2) Using your editor. If you use vi, you can use something like:
2579 map S :r ~/.signature
2581 to load your signature out of .signature every time you
2584 3) Use your windowing system. xterm, for example, can provide key
2585 and button mappings for the utterly lazy.
2587 4) If you use Emacs with MH-E:
2589 4a) C-c C-s will append the signature.
2591 From: Andre Srinivasan <andre at neuronet.pitt.edu>
2592 Date: Mon, 1 May 1995 00:00:00 -0800
2594 4b) Add the following to your .emacs file:
2596 (add-hook 'mh-compose-letter-function
2600 (goto-char (point-max))
2602 (mh-insert-signature)))))
2604 This hook is called after the draft buffer has been initialized,
2605 but before you have a chance to type anything.
2607 From: Tom Christiansen <tchrist at perl.com>
2608 Date: Tue, 1 Nov 1994 00:00:00 -0800
2610 Tired of the same old signature? Want different signatures for
2611 different newsgroups? Here's a program to help you out.
2613 The way it works is to have .signature be a named pipe, so if you
2614 don't have named pipes, just say 'n'.
2616 The sigrand program then feeds stuff down the pipe every time
2617 someone wants to read it. That way it works for more than just news,
2618 but for anything that wants to read your .signature, like a mailer.
2620 You have your choice of three kinds of signatures:
2622 1) random (short) fortune from "fortune -s"; you get these if
2623 you don't have a global sig file.
2624 2) random fortune from ~/News/SIGNATURES [global sig file]
2625 3) random fortune form ~/News/(newsgroup)/SIGNATURES [local sig files]
2627 Send mail if interested.
2629 Date: Tue, 1 Nov 1994 00:00:00 -0800
2631 See also the Signature FAQ (see "What references exist for MH?").
2633 ------------------------------
2635 Subject: 05.05 How do I call my editor with arguments?
2636 From: John Romine <jromine at ics.uci.edu>
2637 Date: Mon, 1 May 1995 00:00:00 -0800
2639 Set your editor (in .mh_profile) to the following shellscript.
2642 <youreditor> <yourargs> "$@"
2645 From: Ray Nickson <Ray.Nickson at comp.vuw.ac.nz>
2646 Date: Fri, 1 Mar 1991 13:03:15 -0800
2648 You might find it useful to make <youreditor> $EDITOR, or to use
2649 different arguments depending on your EDITOR environment variable.
2651 ------------------------------
2653 Subject: 05.06 How can I digestify messages in a folder for mail to another user?
2654 From: Jerry Peek <jpeek at jpeek.com>, Bill Wohler <wohler at newt.com>
2655 Date: Fri, 1 Mar 1991 13:03:15 -0800
2659 forw [-digest tmp] [-form forwcomps] [-filter mhl.digest]
2662 These messages can be un-digestified :-) by the MH burst(1) program.
2664 See also MH book sections 7.9.7 (6.8.7), 8.10 (7.9), or the URLs:
2666 http://rand-mh.sourceforge.net/book/mh/forfor-2.html#CreDig
2667 http://rand-mh.sourceforge.net/book/mh/burdig.html
2669 From: Glenn Vanderburg <glv at utdallas.edu>
2670 Date: Tue, 1 Nov 1994 00:00:00 -0800
2672 There's another way, which is better if the recipient understands
2675 forw -mime messages +folder
2677 (Make sure that you either have "automhnproc: mhn" in your mh
2678 profile, or type "edit mhn" to whatnow before you send it.)
2680 This bundles each message in a MIME message/rfc822 part, and then
2681 bundles the whole mess up in a multipart/digest part. You can still
2682 add your own text at the beginning. The MH burst program can also
2683 understand these messages and split them apart with no problem. This
2684 works beautifully with MIME-capable mail readers, especially exmh.
2686 ------------------------------
2688 Subject: 05.07 How can I change my return address?
2689 From: Bill Wohler <wohler at newt.com>
2690 Date: Tue, 1 Dec 1992 00:00:00 -0800
2692 If you find that your mailer creates a From header that others have
2693 trouble replying to, you can add a Reply-To header to override the
2694 From header in replies.
2696 Copy the components and replcomps files which are normally found in
2697 $MHLIB into your Mail directory and add a line like the following
2698 after the Subject header replacing my address with your address:
2700 Reply-To: jack@newt.com
2702 ------------------------------
2704 Subject: 05.08 How can I change my From header?
2705 From: Bill Wohler <wohler at newt.com>
2706 Date: Mon, 27 Nov 1995 11:40:50 -0800
2708 With either of the following solutions, you'll need to add an
2709 Alternate-Mailboxes entry in your MH profile so that scan prints
2710 "To: recipient" rather than your faked address. For example, if your
2711 real address is user@somedomain.com and you've added a From field
2714 From: Joe Bob <joe.bob@somedomain.com>
2716 you'll add the following to .mh_profile:
2718 Alternate-Mailboxes: joe.bob@somedomain.com
2720 From: Bill Wisner <wisner at netcom.com>
2721 Date: Tue, 1 Dec 1992 00:00:00 -0800
2723 If you're just interested in changing the hostname, add a line to
2724 $MHLIB/mts.conf (mtstailor):
2726 localname: desired_host_name
2728 From: Jerry Peek <jpeek at jpeek.com>
2729 Date: Tue, 1 Dec 1992 00:00:00 -0800
2731 Just put a "From:" header in your "components", "replcomps" and
2732 "forwcomps" files. MH will add a "Sender:" header with what it
2733 thinks is your real address.
2735 ------------------------------
2737 Subject: 05.09 How can I save a copy of all messages I send?
2738 From: Ping Huang <pshuang at sgihub.corp.sgi.com>
2739 Date: Mon, 18 Dec 1995 17:51:33 -0800
2741 I suggest the use of the Dcc: field (See "What is the Dcc header?"),
2742 since the use of "Dcc:" solves the issue of having the same
2743 Message-Id. The warning about using Dcc: in general contexts doesn't
2744 apply to self-blind-carbon copies, and if "Dcc:" is used and you are
2745 automatically sorting messages into folders based on mailing lists,
2746 messages which you send will get refiled in the same way. Some may
2747 prefer all outgoing messages to be segregated; others (including
2748 myself) prefer not to segregate outgoing messages.
2750 From: Bill Wohler <wohler at newt.com>, Jerry Peek <jpeek at jpeek.com>
2751 Date: Mon, 1 Aug 1994 00:00:00 -0800
2753 Copy the components and replcomps files which are normally found in
2754 $MHLIB into your Mail directory and add a line like the following
2755 after the cc header:
2759 All outgoing messages will then be saved in the +out folder. If you
2760 make a distcomps file, it needs "Resent-Fcc:".
2762 From: Jeppe Sigbrandt <jay at elec.gla.ac.uk>
2763 Date: Sat, 5 Apr 1997 02:04:53 +0100
2765 You can also use @ in the Fcc field to file the outgoing message in
2770 This is useful if you filter your mail (e.g., with procmail) and you
2771 read your mail in folders other than +inbox.
2773 From: David S. Goldberg <dsg at linus.mitre.org>
2774 Date: 30 Oct 1995 10:23:55 -0500
2776 You can get the Message-ID field by placing the folder in the "Fcc"
2781 to your .mh_profile. Unfortunately, this Message-ID isn't as useful
2782 as sendmail's--it doesn't include the date.
2784 ------------------------------
2786 Subject: 05.10 Can the folder in Fcc: be dynamically specified?
2787 From: Andy Rabagliati <andyr at wizzy.com>
2788 Date: Mon, 1 Aug 1994 00:00:00 -0800
2790 My suggestion would be to run Tom Christiansen's rfi script. If you
2791 cannot find it on *.sources archive sites (please try first), I can
2794 One good idea would be to write a whatnowproc that files the mail
2795 based on a procmail or deliver file. Then you can use the same file
2796 for incoming and outgoing mail.
2798 ------------------------------
2800 Subject: 05.11 Can I post secure/encryped mail?
2801 From: Bill Wohler <wohler at newt.com>
2802 Date: Thu, 19 May 2005 18:06:39 -0700
2804 MH-E 7.0 supports GPG out of the box.
2806 From: Bill Wohler <wohler at newt.com>
2807 Date: Mon, 5 Mar 2001 05:30:43 -0800
2809 PGP keys can be obtained via mail from <pgp-public-keys at
2810 pgp.mit.edu>, and via the Web at
2811 http://www.pgp.net/pgpnet/pks-commands.html. Many PGP front-ends
2812 (e.g., mailcrypt) automatically obtain keys for you.
2814 See http://www.pgp.net/ for more info.
2816 From: Vivek Khera <khera at kciLink.com>
2817 Date: 19 Jun 1995 22:06:37 GMT
2819 A much more robust Perl script I wrote is appended below. [Send a
2820 note to Vivek for the script. --Ed] It works its way through
2821 aliases, and avoids problems with full names in the headers.
2823 Here is my mhn profile entry to display the messages.
2825 mhshow-show-application/x-pgp: %l pgp -m '%F' # nmh
2826 mhn-show-application/x-pgp: %l pgp -m '%F' # MH
2828 to use the script, after you edit the message, at the What now?
2829 prompt, type "edit pgpmail" for plain ascii encryption or "pgpmail
2830 -m" for a MIME formatted encryption. If you want to add a digital
2831 signature, give the script the -s flag also.
2833 From: Jeffrey C. Ollie <jeff at ollie.clive.ia.us>
2834 Date: Mon, 1 May 1995 00:00:00 -0800
2836 TIS has a free, draft-standard compliant public key system that
2837 works with MH (PEM). Check it out on ftp.tis.com.
2839 From: Kimmo Suominen <kim at tac.nyc.ny.us>
2840 Date: Mon, 1 May 1995 00:00:00 -0800
2842 You could try looking at the URL http://www.tac.nyc.ny.us/ and
2843 following the link from the cover page. Everything you need for PGP
2844 to work with MH is there (scripts and mhn entries).
2846 From: mathew at mantis.co.uk
2847 Date: Mon, 1 May 1995 00:00:00 -0800
2849 Excellent stuff. I've tried altering it to conform to
2850 draft-borenstein-pgp-mime-00.txt.
2852 Unfortunately, I can't get mhn to tag PGP-armoured text as
2853 application/pgp; format=text without it insisting on base64 encoding
2854 it. So I can't quite manage to implement the standard. *sigh*
2856 Presumably mhn thinks that anything which isn't text/* must be
2859 From: John R MacMillan <john at interlog.com>
2860 Date: Wed, 16 Apr 1997 00:06:59 -0700
2862 Premail, in conjunction with MH, can display and compose security
2863 multiparts (e.g., multipart/signed and multipart/encrypted PGP mail,
2864 non-MIME PGP, and some S/MIME). Check out
2866 http://www.c2.org/~raph/premail/
2870 ------------------------------
2872 Subject: 05.12 How can I send multi-media (MIME) attachments?
2873 From: Brian Exelbierd <bex at ncsu.edu>
2874 Date: Mon, 09 Oct 1995 08:05:55 -0400
2878 1. Compose a letter using comp.
2880 2. When you get to a point where you want to include a MIME
2881 attachment, type the following to include a GIF image (note: the
2882 '#' must be in the first column):
2884 #image/gif [Pictures at an Exhibition] /usr/lib/pictures/exhibition.gif
2886 3. Finish your letter, adding more text or attachments as needed.
2888 4. Save your letter and exit the editor. At the Whatnow prompt type
2889 "edit mhn". mhn will automatically format your letter with the
2890 MIME attachments leaving the original letter in ,##,orig where ##
2891 is the letter number.
2893 5. Type "send" at the Whatnow prompt, and poof, you have just sent
2894 MIME mail. I strongly recommend you practice sending yourself
2897 For more information, see the mhn(1) man page,
2898 ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
2899 for a list of allowed media types in addition to image/gif, and
2900 Chapter 3 in the MH book or the URL:
2902 http://rand-mh.sourceforge.net/book/overall/tocs/intmime.html
2904 ------------------------------
2906 Subject: 05.13 What's the best way to send mail to a long list of people?
2907 From: Bill Wohler <wohler at newt.com>
2908 Date: Thu, 12 Oct 1995 07:53:53 -0700
2910 There are three ways to keep the list of members from appearing in
2913 If you're planning on mailing to these people regularly, the best
2914 way is to create an alias in /etc/aliases (/usr/lib/aliases). That
2915 way, recipients can send and reply to the list as well.
2917 The other two ways allow you to manage the list privately, but the
2918 recipients cannot send to the list (unless you set something up with
2919 your deliver or procmail script). One is with a group list. It looks
2922 To: All-members: member1, member2, member3, ..., membern;
2924 The recipients see this:
2928 You can make this an MH alias as well.
2930 The second way is to use a blind carbon copy (see "How do I send
2931 blind carbon copies?").
2933 Or you could also use the undocumented Dcc field which is used like
2934 the Bcc field, but doesn't inject the "Blind-Carbon-Copy." Warning:
2935 (See "What is the Dcc header?")
2937 ------------------------------
2939 Subject: 05.14 What is the Dcc header?
2940 From: jpeek at jpeek.com (Jerry Peek)
2941 Date: 14 Sep 96 05:51:13 GMT
2943 If you put the alias in the Dcc field and leave the To: field empty,
2944 there's a good chance that the recipients will get a message with
2947 Apparently-to: <someaddress>
2949 and it might even list several addresses. To avoid that, use a To:
2950 field with some address (like yours) in it. I use a comment that
2951 tells people what's really happening--like this, more or less:
2953 To: "Faculty members, c/o" <super@wierdlmpc.msci.memphis.edu>
2956 There are some other choices, like using an un-replyable group list
2957 in the To: field, but I think they tend to confuse non-techies.
2959 Date: Wed, 27 Sep 1995 09:46:37 -0700
2960 From: John Romine <jromine at yoyodyne.ICS.UCI.EDU>
2962 The Dcc (Distribution Carbon Copy) field behaves much like the Bcc
2963 field, but does not add the "Blind-Carbon-Copy" notice. This header
2964 is removed before posting the message,and a copy of the message is
2965 distributed to each listed address. This could be considered a form
2966 of Blind Carbon Copy which is best used for sending to an address
2967 which would never reply (such as an auto-archiver).
2969 People should not be using Dcc as a substitute-Bcc to send to other
2970 people. When users use Dcc as a substitute for Bcc, there is *no*
2971 indication to the "blind" recipients that they have received a blind
2972 copy. If those recipients should reply (and they have no indication
2973 why they shouldn't), the original author could be very embarassed
2976 ------------------------------
2978 Subject: 05.15 How can I make sense of the replcomps file?
2979 From: Bill Wohler <wohler at newt.com>
2980 Date: Thu, 9 Mar 2006 19:27:14 -0800
2982 The best thing to do is curl up with the mh-format(5) man page, or
2983 Section 11.2 of the MH book, or the URL:
2985 http://rand-mh.sourceforge.net/book/mh/mhstr.html
2987 These will explain the default replcomps file, included here. Don't
2988 start with the first four lines--the latter group of lines are much
2989 easier to understand.
2993 %; These next lines slurp in lots of addresses for To: and cc:.
2994 %; Use with repl -query or else you may get flooded with addresses!
2996 %; If no To:/cc:/Fcc: text, we output empty fields for prompter to fill in.
2998 %(lit)%(formataddr{reply-to})\
2999 %(formataddr %<{from}%(void{from})%|%(void{apparently-from})%>)\
3000 %(formataddr{resent-to})\
3001 %(formataddr{prev-resent-to})\
3002 %(formataddr{x-to})\
3003 %(formataddr{apparently-to})\
3004 %(void(width))%(putaddr To: )
3005 %(lit)%(formataddr{to})\
3007 %(formataddr{x-cc})\
3008 %(formataddr{resent-cc})\
3009 %(formataddr{prev-resent-cc})\
3011 %(void(width))%(putaddr cc: )
3012 Fcc: %<{fcc}%{fcc}%|+outbox%>
3013 Subject: %<{subject}Re: %{subject}%>
3015 %; Make References: and In-reply-to: fields for threading.
3016 %; Use (void), (trim) and (putstr) to eat trailing whitespace.
3018 %<{message-id}In-reply-to: %{message-id}\n%>\
3019 %<{message-id}References: \
3020 %<{references}%(void{references})%(trim)%(putstr) %>\
3021 %(void{message-id})%(trim)%(putstr)\n%>\
3022 Comments: In-reply-to \
3023 %<{from}%(void{from})%?(void{apparently-from})%|%(void{sender})%>\
3025 message dated "%<(nodate{date})%{date}%|%(tws{date})%>."
3028 In particular, note the following:
3030 \ consider the following line to be part of the current line. If
3031 this continuation character is absent, a newline (\n) will
3032 always be inserted. Note that if the field is conditional, and
3033 the condition is false, and there isn't a trailing backslash,
3034 then a blank line will appear in your reply. Since the rest of
3035 the header will now be considered to be part of the body, this
3036 is probably not what you want.
3037 \n inject an actual newline into the reply. Note that inserting a
3038 field without a trailing backslash (\) will cause that field
3039 to be emitted in the reply as well.
3040 %<{field}, %?{field}, %|, %>
3041 if field exists, else if field exists, else, endif.
3042 Conditional fields nearly always contain an explicit newline
3043 (\n) and end with a continuation character (\).
3044 %(command) mh-format commands
3045 %{field} value of the header field inserted at this point
3047 To add new fields, you can either add fields based on whether
3048 certain fields exist in the original message (e.g.,
3049 %<{message-id}...), or hard-code them, as in the Fcc, Subject, or
3050 Comments fields above.
3052 ------------------------------
3054 Subject: 05.16 How can I convert quoted-printable to 8bit in quoted text in replies?
3055 From: Jarle F. Greipsland <jarle at idt.unit.no>
3056 Date: 22 Aug 1995 10:42:07 +0200
3058 The idea behind the solution is that I need mhn to store the
3059 contents of the mail in the native iso8859-1 format somewhere. I did
3060 this by creating a custom editor that is invoked when I reply to a
3061 message. This editor extracts the body of the message (sorry, no
3062 multipart stuff), indents it with '> ', appends it to the draft
3063 message and invokes the ordinary editor on it. Here are the details:
3065 `isorepl' is a symbolic link from my $HOME/bin-directory to `repl'.
3067 In my .mh_profile I added the following two lines:
3069 isorepl: -form isoreplcomps -editor isoextract
3072 The isoreplcomps file in my Mail-directory contains:
3074 %(lit)%(formataddr %<{reply-to}%?{from}%?{sender}%?{return-path}%>)\
3075 %<(nonnull)%(void(width))%(putaddr To: )\n%>\
3076 %(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
3077 %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
3078 %<{fcc}Fcc: %{fcc}\n%>\
3079 %<{subject}Subject: Re: %{subject}\n%>\
3080 %<{date}In-reply-to: Your message of "\
3081 %<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id}
3082 %{message-id}%>\n%>\
3084 #<text/plain; charset=iso-8859-1
3085 %<{message-id}In message %{message-id} %>\
3086 %<{from}%(friendly{from}) writes%|You write%>:
3088 This is a "Usenet-like" quoting style. Modify to suit your own
3089 taste. This form will setup the proper header, as well as the first
3090 line of the new message (In <mmmmbbbb> nnnn writes etc.).
3092 The first editor, `isoextract', looks like this:
3096 # Called from within repl where the "editalt" variable is valid
3098 # Point to a special MHN configuration file (save old one)
3100 MHN=$HOME/`mhparam Path`/isoquotemsg
3103 # Extract message body to "native" format (should be iso-8859-1)
3105 mhn -file "$editalt" -store >> $1 2>/dev/null
3108 myname=`basename $0`
3109 next=`mhparam ${myname}-next`
3110 if [ "x$next" != "x" ]; then
3114 `isoquotemsg' has just one rule; how mhn should store a text message.
3116 mhn-store-text: |sed -e 's/^[ ]*$//' \
3117 -e 's/^\([>|]\)\(.*\)$/>\1\2/' \
3118 -e 's/^\([^>|].*\)$/> \1/'
3120 This tells mhn to pipe the message to stdout, where the sed commands
3121 will do the reformatting/quoting. (Note: the first pair of square
3122 brackets contains a space and a tab.)
3124 So, when I do a `isorepl' to a message, `repl' will create the draft
3125 message with the proper headers (based on the `isoreplcomps' format
3126 file), fire off its first editor, `isoextract', with the name of the
3127 draft file as its parameter. `isoextract' then invokes mhn in a
3128 suitable environment, tells it that it is to use the file $editalt
3129 as its source, and orders it to store the contents. The store-text
3130 rule in the custom MHN-file tells it to just pipe the message (in
3131 native iso8859-1 form) through a small set of sed commands, and
3132 `isoextract' uses the normal shell construct to append the result to
3133 the draft file. Then, if there's defined a `isoextract-next' entry
3134 in the .mh_profile, isoextract exec's this editor.
3136 ------------------------------
3138 Subject: 05.17 Can I have aliases include aliases?
3139 From: Bruce Cox <bruce at maths.su.oz.au>
3140 Date: Fri, 16 Aug 1996 14:26:12 +1000
3144 You just need to remember the way MH expands aliases. In particular,
3145 the right hand sides are only expanded by the aliases below them in
3146 your aliases file. So, if you put in:
3148 dead-men: presidents, authors
3149 presidents: washington, lincoln, jefferson, roosevelt
3150 authors: thoreau, irving, london
3156 then you would get the response:
3158 washington, lincoln, jefferson, roosevelt, thoreau, irving, london
3160 If you had the dead-men line after the presidents and authors
3161 aliases, the response would be:
3165 ------------------------------
3167 Subject: 05.18 Why doesn't mhmail understand aliases?
3168 From: "John L. Romine" <jromine at yoyodyne.ics.uci.edu>
3169 Date: 25 Apr 1996 16:34:10 GMT
3171 One way that mhmail might be run is from a shell script. This means
3172 that the user running it might not use MH, and would not have a
3173 .mh_profile, etc. If you want to use aliases with mhmail, expand
3174 them before passing them as arguments (e.g., "mhmail `ali joe`").
3176 ------------------------------
3178 Subject: 05.19 How do I send blind carbon copies?
3179 From: Bill Wohler <wohler at newt.com>
3180 Date: Mon, 9 Sep 1996 00:32:14 -0700
3182 Use the Bcc header field:
3184 To: your-address-here
3185 Bcc: member1, member2, member3, ..., membern
3187 The recipients see this:
3189 To: your-address-here
3191 ------- Blind-Carbon-Copy
3193 Content of message, with headers
3195 If you don't want the "Blind-Carbon-Copy" message, use the Dcc
3196 field, but this is discouraged in true blind carbon copies since the
3197 warning may prevent the recipient from embarrassing someone
3198 inadvertently. Read the warning in (see "What is the Dcc header?").
3200 ------------------------------
3202 Subject: 05.20 When I forward a message, can I use its Subject?
3203 From: Jerry Peek <jpeek at jpeek.com>
3204 Date: Sun, 17 Nov 1996 20:16:31 -0800
3208 http://rand-mh.sourceforge.net/book/examples/mh/bin/forwedit
3210 ------------------------------
3212 Subject: 05.21 Why is the timezone field in my 'Date:' field wrong?
3213 From: Alex Tomlinson <tomlinson at acm.com>
3214 Date: Wed, 11 Jun 1997 09:16:41 -0500
3216 If the date field in your mail header looks like this:
3218 Date: Tue, 10 Jun 1997 15:59:03 +2228904
3220 remove -lbsd from your MH configuration, add "curses -lcurses", and
3223 ------------------------------
3225 Subject: 05.22 Can I automate the comp -editor mhn process?
3226 From: Soren Dayton <csdayton at gargoyle164.cs.uchicago.edu>
3227 Date: Tue, 21 Jan 1997 17:23:32 GMT
3235 ------------------------------
3237 Subject: 05.23 How can I remove those "=20" characters when forwarding?
3238 From: Dave Marquardt <marquard at Austin.IBM.Com>
3239 Date: 12 Oct 2000 10:27:38 -0500
3243 ------------------------------
3245 Subject: 05.24 Can I use mh-format substitution with forw?
3246 From: Dave Marquardt <marquard at Austin.IBM.Com>
3247 Date: Tue, 3 Aug 1999 13:28:30 -0500 (EST)
3249 The answer is no, and the real question is why not?
3251 ------------------------------
3253 Subject: 05.25 How can I keep repl from breaking long lines?
3254 From: Jerry Peek <jpeek at jpeek.com>
3255 Date: Fri, 14 May 1999 11:15:07 -0400
3257 Try adding width=10000 (or so) to your replcomps. It should work
3258 unless you have messages with lines longer than that...
3260 ------------------------------
3262 Subject: 05.26 How do I fix a bogus In-Reply-To or missing References field?
3263 From: Bill Wohler <wohler at newt.com>
3264 Date: Thu, 9 Mar 2006 21:42:21 -0800
3266 In the past, the In-reply-to header field looked as it does in the
3267 new Comments field (see "How can I make sense of the replcomps
3268 file?"). However, the old format is no longer allowable under RFC
3269 2822 which specifies that this field should only include the
3270 Message-ID. You can fix the replcomps and replgroupcomps files by
3271 upgrading to nmh 1.1 (be sure to update your personal copies if
3272 applicable) or simply by fixing the In-reply-to field in your own
3273 replcomps file using the example in the question referenced in this
3276 In addition, older replcomps files lacked the References field which
3277 enables threading in capable UIs. You can get it in the same fashion
3278 as the In-reply-to field--by upgrading or copying.
3280 ------------------------------
3282 Subject: 06.00 ***** Posting *****
3283 From: Bill Wohler <wohler at newt.com>
3284 Date: Fri, 1 Mar 1991 13:03:15 -0800
3286 ------------------------------
3288 Subject: 06.01 What to do with "Problems with edit - draft removed".
3289 From: John Romine <jromine at ics.uci.edu>
3290 Date: Mon, 1 May 1995 00:00:00 -0800
3292 If your users are using an AT&T version of "vi", it's exiting with
3293 non-zero status (supposedly a count of the "errors" during the
3294 edit). Move "vi" to "broken_vi" and put it its place :
3297 /usr/ucb/broken_vi "$@"
3300 Alternatively, compile MH with the ATTVIBUG option.
3302 Then complain to your vendor that "vi" is broken, and they shouldfix it.
3304 ------------------------------
3306 Subject: 06.02 Can I run my message through a program (e.g., ispell) before sending?
3307 From: Jerry Peek <jpeek at jpeek.com>
3308 Date: Fri, 1 Mar 1991 13:03:15 -0800
3310 It's pretty simple. If your speller is called myspell, use:
3312 What now? edit myspell
3314 MH will actually execute:
3316 myspell /your-mail-draft-directory/draftfile
3318 and give the entire draft message to your speller. The header will
3319 probably be "misspelled," of course, though you might be able to
3320 tell the speller to ignore it--or you could hack up a little shell
3321 script to run the speller on just the message body, then tack the
3322 corrected body back onto the header before sending.
3324 You can automate this some more. For example, if you want your
3325 speller to run after your first edit with "prompter" and also after
3326 you leave the "vi" editor, add these lines to your MH profile:
3328 prompter-next: myspell
3331 Then, at the "What now?" prompt:
3335 your speller will run. For more info, see the mh-profile(5) man page
3336 or section 7.2.1 (6.2.1) of the MH book, or the URL:
3338 http://rand-mh.sourceforge.net/book/mh/chaedi.html#Edi
3340 ------------------------------
3342 Subject: 06.03 What to do with "bad address 'xxx' - no at-sign after local-part".
3343 From: Owen Rees <rtor at ansa.co.uk>
3344 Date: Fri, 1 Jan 1993 00:00:00 -0800
3346 You may find that post returns the following message:
3348 post: bad address 'Mr. Foo Bar <fb@somewhere.edu>' - no at-sign
3349 after local-part (Bar), continuing...
3351 The unquoted dot causes "Mr. Foo" to be parsed as the local part of
3352 the address. Either remove the dot, or rewrite the address as
3355 "Mr. Foo Bar" <fb@somewhere.edu>
3356 (Mr. Foo Bar) <fb@somewhere.edu>
3357 (Mr. Foo Bar) fb@somewhere.edu
3359 ------------------------------
3361 Subject: 06.04 Fixing "post: problem initializing server; [BHST] no servers available"
3362 From: Peter Marvit <marvit at hplabs.hpl.hp.com>,
3363 Eric Bracken <bracken at bacon.performance.com>
3364 Date: Tue, 1 Nov 1994 00:00:00 -0800
3366 The error message itself is essentially correct. However, what this
3367 really means is: MH's post cannot connect to a running sendmail over
3368 an SMTP port (MH configured with SMTP and SENDMTS).
3370 The potential problems:
3372 1. Your local sendmail daemon is dying or not running for some
3375 2. You use BIND and your local nameserver is not responding.
3376 Solution: Delete "/etc/resolv.conf."
3378 3. Your $MHLIB/mts.conf (mtstailor) has its "servers:" pointing to a
3379 non-existent machine or a machine which is a) not reachable or b)
3380 not running the sendmail daemon.
3382 From: Bdale Garbee <bdale at col.hp.com>,
3383 Eric Bracken <bracken at bacon.performance.com>
3384 Date: Sun, 1 May 1994 00:00:00 -0800
3386 4. The hostname localhost [127.0.0.1] is missing from /etc/hosts.
3388 Solution: add an entry for "localhost" to /etc/hosts or your DNS
3389 database or add the following to $MHLIB/mts.conf (mtstailor):
3391 servers: 127.0.0.1 \01localnet
3393 From: Larry Daffner <ldaffner at convex.com>
3394 Date: 3 Mar 1996 14:39:54 -0600
3396 5. Your load average is so high that sendmail is refusing
3399 Solution: Change your configuration from "mta: sendmail/smtp" to
3400 "mta: sendmail" so that a sendmail processes is spawned to
3401 deliver the message. This is a double-edged sword since the extra
3402 process only makes the load worse.
3404 From: Corbin Covault <cec8 at po.cwru.edu>
3405 Date: Sun, 02 Sep 2001 02:13:42 -0400
3407 6. Sendmail may not be located on the path that MH expects.
3409 Solution: Try specifying the path explicitly by adding a line to
3412 sendmail: /usr/sbin/sendmail
3414 or wherever your sendmail daemon executable lives.
3416 From: Neil W Rickert <rickert+nn at cs.niu.edu>
3417 Date: 13 Apr 2001 18:47:43 -0500
3419 7. You don't want to use an available server.
3423 postproc: /usr/local/lib/mh/spost
3425 in your MH profile (but check the path first). That should use
3426 command line sendmail.
3428 ------------------------------
3430 Subject: 06.05 Fixing "post: problem initializing server; [RPLY] 503 Sender already specified"
3431 From: Paul Pomes <ppomes at Qualcomm.com>
3432 Date: Mon, 1 Mar 1993 00:00:00 -0800
3434 The problem in sendmail is that the RSET after the ONEX does not
3435 reset all the state information. Normally sendmail fork()s after
3436 the Mail from: statement and a RSET causes that child to exit. This
3437 automatically cleans up. If the fork() is suppressed by ONEX, then
3438 the source must be modified to do the cleanup. See "srvrsmtp.c
3439 patch" in the Appendix. If you don't have the sources, modify your
3440 MH sources to not use the ONEX verb.
3442 ------------------------------
3444 Subject: 06.06 Fixing "post: unexpected response; [BHST] no socket opened"
3445 From: Steve Lembark <lembark at wrkhors.la.ca.us>, Bill Wohler <wohler at newt.com>
3446 Date: Mon, 1 Aug 1994 00:00:00 -0800
3448 This problem happens when there is no interface defined within the
3449 tcp system. A couple of workarounds include:
3451 o Use a hostname (other than the local host) instead of localhost in
3452 the "servers" entry of the $MHLIB/mts.conf (mtstailor) file.
3453 o Recompile MH with sendmail instead of sendmail/smtp (not very
3456 A better fix would be to define your tcp interface.
3458 Here, you run ifconfig and route (as root) to define the loopback
3459 device and route. You should add them to rc.local so they are
3460 effected at every boot.
3462 # ifconfig lo 127.0.0.1 # Linux
3463 # ifconfig lo0 127.0.0.1 # Sun
3467 If all is well, "ifconfig lo" (or lo0), will show something like
3468 this (on my Linux system):
3470 lo Link encap Local Loopback
3471 inet addr 127.0.0.1 Bcast 127.255.255.255 Mask 255.0.0.0
3472 UP LOOPBACK RUNNING MTU 2000 Metric 0
3473 RX packets 0 errors 0 dropped 0 overrun 0
3474 TX packets 519 errors 0 dropped 0 overrun 0
3476 and "netstat -r" will show:
3479 Destination net/address Gateway address Flags RefCnt Use Iface
3480 127.0.0.0 * UN 0 519 lo
3482 If you're not on a network and running DNS, your /etc/hosts will
3485 127.0.0.1 your_host_name localhost # loopback address
3487 Note: put your name FIRST on the localhost line. This official name
3488 is used by sendmail to determine your return address.
3490 If you are on a network and running DNS, you might find that putting
3491 your host name in the localhost entry might gum up other things, in
3492 which case you'll want your hostname to have its own proper address.
3494 This might not do it though. David Youatt <dpy at sgi.com> says that
3495 his network was happy but he still had the problem until he upgraded
3496 his system and got the latest revision of sendmail as well. He says:
3497 "Turns out that that the problem I was having seems to be caused (at
3498 least partly, maybe entirely) by the version of sendmail that is
3499 shipped with IRIX 5.2 (sendmail 5.65, I think). The version shipped
3500 w/IRIX 5.3 (in beta) is sendmail 8.6.9 and works fine."
3502 I'm not entirely happy with this section, so please give me some
3503 feedback. If you have this problem, please send me <wohler at
3504 newt.com> a brief description so I'll know which problems and
3505 solutions seem to be the most prevalent.
3507 ------------------------------
3509 Subject: 06.07 How do I fix the "X-Authentication-Warning" header?
3510 From: Bill Wohler <wohler at newt.com>
3511 Date: Mon, 9 Sep 1996 01:32:15 -0700
3513 (See "Fixing "Sender didn't use the HELO protocol"".)
3515 ------------------------------
3517 Subject: 06.08 Fixing "post: unexpected response; [RPLY] 503 Need MAIL before RCPT"
3518 From: Bjoern Stabell <bjoerns at acm.org>
3519 Date: Mon, 1 May 1995 00:00:00 -0800
3523 clientname: localhost
3525 in the $MHLIB/mts.conf (mtstailor) file, and that fixed the problem.
3527 ------------------------------
3529 Subject: 06.09 Fixing "post: problem initializing server; [BHST] premature end-of-file on socket"
3530 From: Ginko <gianluca at noroboter.rotoni.com>
3531 Date: Thu, 8 Mar 2001 09:18:14 +0000 (UTC)
3533 I have sendmail under control of tcpwrapper started by inetd and
3534 didn't want to take it away, the very simple fix to this problem was
3535 to allow the localhost on /etc/hosts.allow on the sendmail entry.
3537 From: Stefan Huebner <sh at muc.de>
3538 Date: Wed, 11 Sep 1996 20:06:49 +0200
3540 Use spost instead of post. To do this:
3545 From: Chuck Mattern <cmattern at mindspring.com>
3546 Date: Mon, 1 May 1995 00:00:00 -0800
3548 If you are running sendmail instead of smail, make sure that all
3549 smtp entries in /etc/inetd.conf are commented out. If you do edit
3550 /etc/inetd.conf, don't forget to run to restart inetd with "kill -1
3553 ------------------------------
3555 Subject: 06.10 Fixing "Sender didn't use the HELO protocol"
3556 From: rickert at cs.niu.edu (Neil Rickert)
3557 Date: Tue, 20 Mar 2001 22:01:16 -0800
3559 If you are sharing your $MHLIB/mts.conf (mtstailor) file among
3560 several machines, and you are connecting to the local sendmail, then
3561 use 'localhost' as the hostname argument to the clientname parameter
3564 Otherwise, place mts.conf somewhere under /etc on each system, and
3565 install a symlink to it on the shared file system.
3567 From: labrown at dg-rtp.dg.com (Lance A. Brown)
3568 Date: 23 Apr 1996 14:43:04 -0400
3570 You can solve this by putting
3572 localname: localhostname
3573 localdomain: local.domain.name
3575 in your $MHLIB/mts.conf (mtstailor) file. This will make MH send a
3576 HELO string in the SMTP transaction.
3578 From: Terry Manderson <terry at azure.dstc.edu.au>
3579 Date: Mon, 1 May 1995 00:00:00 -0800
3585 to $MHLIB/mts.conf (mtstailor) where sender is the name of the
3586 machine sending the message. The error message occurs because newer
3587 MTA's require SMTP's "HELO" command which MH omits in some
3588 configurations. When you add the above line, it forces MH to use the
3591 From: Bill Wohler <wohler at newt.com>
3592 Date: Fri, 1 Mar 1991 13:03:15 -0800
3594 You get a header like:
3596 X-Authentication-Warning: screamer.rtp.ericsson.se: Host
3597 rcur7.rtp.ericsson.se didn't use HELO protocol
3599 Easy possibilities are: apply the patch to MH that comes with
3600 Sendmail 8.X.X and makes it use HELO, or comment out the line that
3605 in your sendmail.cf.
3607 ------------------------------
3609 Subject: 06.11 Fixing "post: problem initializing server; [RPLY] 553 Local configuration error, hostname not recognized as local"
3610 From: "Matthew V. J. Whalen" <whalenm at aol.net>
3611 Date: Mon, 1 May 1995 00:00:00 -0800
3613 Change your "mts" in "conf/MH" from "sendmail/smtp" to just
3616 From: Bill Wohler <wohler at newt.com>
3617 Date: Mon, 1 May 1995 00:00:00 -0800
3619 The solution above will keep MH from using any SMTP server on your
3620 network. require sendmail to be installed on all machines. You could
3621 take advantage of the "sendmail/smtp" option to have MH talk to a
3622 non-local sendmail. In $MHLIB/mts.conf (mtstailor) add:
3624 servers <SMTP-server>
3626 It may also be caused by old versions of sendmail.
3628 ------------------------------
3630 Subject: 07.00 ***** Mail Filters *****
3631 From: Bill Wohler <wohler at newt.com>
3632 Date: Fri, 1 Mar 1991 13:03:15 -0800
3634 ------------------------------
3636 Subject: 07.01 What mail filters are available?
3637 From: Bill Wohler <wohler at newt.com>
3638 Date: Sun, 11 Mar 2001 10:27:24 -0800
3640 The list currently includes slocal (included with MH), deliver,
3641 procmail and mailagent. They are briefly described here. Slocal is
3642 probably the most popular by virtue of being included in the
3643 distribution. The next most popular entry is procmail, followed by
3646 Slocal comes with MH. It can be used to process incoming mail based
3647 on the contents of any of the headers. Actions include filing
3648 messages, running commands, printing messages on your terminal and
3649 so on. The configuration is made in ~/.maildelivery. People seem to
3650 have trouble with slocal bugs, and you can't use it if you don't
3651 have write permission on your system maildrop so a lot of people
3652 have opted for the alternatives, but it's easy to use and comes with
3655 procmail is quite popular and has a very powerful configuration
3656 file. However, the syntax is its own, but it is easy to learn given
3657 a couple of good examples. Its advantages are its small size and
3658 speed. Like deliver, procmail may be installed as a delivery agent
3659 so you would not even have to have a .forward file.
3661 Deliver can run any script or program (called ~/.deliver), so you
3662 really can do anything you want to incoming mail. One feature that
3663 it sports that no other does is that you can install it as a local
3664 mailer in place of /bin/mail. If it's the local mailer, you don't
3665 need to have a .forward--~/.deliver is run anyway. In addition, it
3666 allows the system administrator to write some programs to filter
3667 everybody's mail. It came with my Linux system, so installation was
3670 I started with slocal, and then moved to deliver. I switched to
3671 procmail because of a bug in deliver (which I think has since been
3672 fixed) whereby a blank line would be inserted into the header before
3673 header fields with numbers in them.
3675 I am still using procmail and probably will do so indefinitely since
3676 it is powerful, there are many spam filters written in it, and it
3677 coexists with MH and Gnus so well.
3679 My recommendation is to use the one that is installed on your system
3680 or get procmail. Here are the URLs for the filters mentioned in this
3683 http://www.procmail.org/
3685 From: "Eric D. Friedman" <friedman at hydra.acs.uci.edu>
3686 Date: 28 Aug 1996 08:28:46 GMT
3688 See http://www.faqs.org/faqs/mail/filtering-faq/index.html.
3690 From: Stephen R. van den Berg <berg at pool.informatik.rwth-aachen.de>
3691 Date: Mon, 1 Aug 1994 00:00:00 -0800
3693 Procmail can be used to create mail-servers, mailing lists, sort
3694 your incoming mail into separate folders/files (real convenient when
3695 subscribing to one or more mailing lists or for prioritizing your
3696 mail), preprocess your mail, start any programs upon mail arrival
3697 (e.g. to generate different chimes on your workstation for different
3698 types of mail) or selectively forward certain incoming mail
3699 automatically to someone.
3701 From: Raphael Manfredi <Raphael_Manfredi at pobox.com>
3702 Date: Tue, 28 Jul 1998 13:22:07 +0200
3704 "mailagent" is yet another mail filter, written in perl, which will
3705 let you do anything with your mail. It has all the features you may
3706 expect from a filter: mailing lists sorting, forwarding to MTA or to
3707 inews, pre-processing of message before saving into folder, vacation
3708 mode, etc. It was initially written as an Elm-filter replacement,
3709 but has now enough power to also supplant MMDF's .maildelivery.
3710 There is also a support for @SH mail hooks, which allows you to
3711 automatically distribute patches or software via command mails.
3713 The mailagent was designed to make mail filtering as easy as it can
3714 be. It is highly configurable and fairly complete. Rules are
3715 specified in a lex-like style, with the full power of perl's regular
3716 expressions. The automaton supports the notion of mode, and header
3717 selection has many magic features built-in, to ease the rule writing
3720 The distribution comes with a set of examples, an exhaustive test
3721 suite, and naturally a detailed manual page. It should be noted that
3722 the mailagent will work even if your system administrator forbids "|
3723 programs" hooks in the ~/.forward, provided you have access to some
3724 sort of cron daemon.
3726 http://www.cpan.org/authors/Raphael_Manfredi/
3728 ------------------------------
3730 Subject: 07.02 Why slocal writes messages to system mailbox that from(1) can't read.
3731 From: Bill Wohler <wohler at newt.com>
3732 Date: Mon, 1 May 1995 00:00:00 -0800
3734 Upgrade to MH 6.8 and set the RPATHS option. Better yet, use a more
3735 MH-like command instead of from: "scan -file $MAIL".
3737 ------------------------------
3739 Subject: 07.03 Where can I read about slocal and the format of .maildelivery?
3740 From: Bill Wohler <wohler at newt.com>
3741 Date: Fri, 1 Mar 1991 13:03:15 -0800
3743 See the slocal man page.
3745 Here is brief example of a .maildelivery file that stores messages
3746 to babble in a folder and the system mailbox, stores mh-users in a
3747 folder but not the system mailbox, and puts the rest in the system
3750 to mh-users | A "$MHLIB/rcvstore -create +lists/mh-users"
3751 cc mh-users | A "$MHLIB/rcvstore -create +lists/mh-users"
3752 to babble | R "$MHLIB/rcvstore -create +lists/babble"
3753 cc babble | R "$MHLIB/rcvstore -create +lists/babble"
3754 default - > ? /usr/spool/mail/wohler
3756 Your .forward file may look like (quotes necessary):
3758 "| $MHLIB/slocal -user your_login"
3760 In some implementations, the "-user your_login" is not needed. If
3761 not, manually running slocal with the flag will produce an error.
3763 See also chapter 12 (11) in the MH book, or the URL:
3765 http://rand-mh.sourceforge.net/book/mh/tocs/prmaau.html
3767 Alternatives to slocal include deliver, procmail, and mailagent.
3768 (See "What mail filters are available?")
3770 ------------------------------
3772 Subject: 07.04 How do I debug my .maildelivery file?
3773 From: Bill Wohler <wohler at newt.com>
3774 Date: Mon, 1 Mar 1993 00:00:00 -0800
3776 Use as many of the following as necessary.
3778 Put a message into a file and call slocal directly on it.
3780 $MHLIB/slocal -user $USER -verbose -debug < test-msg
3782 Modify your .forward to look like:
3784 "|/bin/sh -c 'exec >> /tmp/out 2>&1;
3785 $MHLIB/slocal -user $USER -verbose -debug'"
3787 Or modify a rule in .maildelivery to look like this:
3789 to foo | R "set -xv; exec >/tmp/out 2>&1; $MHLIB/rcvstore +foo"
3791 The previous examples are broken up for readability; the text must
3794 See also MH book section 12.11 (11.11), or the URL:
3796 http://rand-mh.sourceforge.net/book/mh/debugti.html
3798 ------------------------------
3800 Subject: 07.05 Why isn't slocal working?
3801 From: Bill Wohler <wohler at newt.com>
3802 Date: Mon, 1 Mar 1993 00:00:00 -0800
3804 If slocal doesn't appear to be doing anything, run the following
3806 $MHLIB/slocal -user your_login -verbose < file
3808 where "file" is some message in a mail folder. If you get something
3811 .maildelivery: ownership/modes bad (0, 154,154,0100666)
3813 your .maildelivery is writable by too many people. Make it writable
3814 only by you by running "chmod 644 .maildelivery".
3816 See also "How do I debug my .maildelivery file?"
3818 ------------------------------
3820 Subject: 07.06 Are there any good biff applications for MH?
3821 From: Rob Austein <sra at epilogue.com>
3822 Date: Tue, 01 Dec 1998 03:02:34 -0500
3824 I've been been using a program called xlbiff (X Literate Biff) and
3825 have been quite happy with it. By default, xlbiff generates its
3826 pop-up listings by running scan on your mail drop file, but it's not
3827 a big deal to customize xlbiff for more complicated setups if you
3828 make heavy use of procmail, multiple mail drops, and so on.
3830 From: Richard Coleman <coleman at math.gatech.edu>
3831 Date: 07 Jul 1997 03:31:42 -0400
3833 nmh (new MH) has an additional command (flist) that will tell you
3834 which folders have unseen messages. I can't imagine using MH without
3837 From: crow at tivoli.com (David L. Crow)
3838 Date: 7 Jul 97 09:36:32 GMT
3840 I have used the following X resource with xbiff before:
3842 xbiff*checkCommand: grep -q '^unread' `mhpath +inbox`/.mh_sequences \
3845 This should be all one line, but I split it with a line continuation
3846 character for readability.
3848 ------------------------------
3850 Subject: 07.07 How do I read new messages filed by procmail?
3851 From: Bill Wohler <wohler at newt.com>
3852 Date: Sun, 17 Oct 2004 15:17:14 -0700
3854 If you use MH-E, use "F n (mh-index-new-messages)" to display unseen
3857 From: Neil W Rickert <rickert+nn at cs.niu.edu>
3858 Date: 23 Apr 2002 20:38:57 GMT
3860 Here is my "unseen" shell script:
3865 "") grep unseen $HOME/Mail/context $HOME/Mail/*/.mh_sequences |
3866 sed -e '/\/fromme\//d' \
3867 -e "s=$HOME/Mail/==" \
3868 -e 's=/.mh_sequences:unseen=='
3871 mark -sequence unseen -add "$@"
3874 mark -sequence unseen -delete "$@"
3876 *) echo "Invalid arguments $*"
3880 From: Paul Fox <pgf-spam at foxharp.boston.ma.us>
3881 Date: Tue, 23 Apr 2002 20:13:42 GMT
3883 I have procmail deliver to a set of mbox files and use "inc -f foo"
3884 to inc from them. The names of the mbox files are the same as the MH
3885 folders which makes it easy to write a script that does something
3893 ------------------------------
3895 Subject: 08.00 ***** MH-E *****
3896 From: Bill Wohler <wohler at newt.com>
3897 Date: Fri, 1 Mar 1991 13:03:15 -0800
3899 ------------------------------
3901 Subject: 08.01 I have a question about MH-E
3902 From: Bill Wohler <wohler at newt.com>
3903 Date: Sat, 3 Mar 2001 13:51:29 -0800
3905 Let me send you over to:
3907 http://mh-e.sourceforge.net/
3909 This is the SourceForge MH-E project. It has mailing lists and files
3910 to download, and will let you submit patches or support requests.
3912 The Support Requests section may already contain an answer to your
3913 question. If not, you can post your question:
3915 http://sourceforge.net/tracker/?group_id=13357&atid=213357
3917 ------------------------------
3919 Subject: 09.00 ***** Xmh *****
3920 From: Bill Wohler <wohler at newt.com>
3921 Date: Fri, 1 Mar 1991 13:03:15 -0800
3923 ------------------------------
3925 Subject: 09.01 How can I get xmh to use Emacs as the editor?
3926 From: Bob Ellison <ellison at sei.cmu.edu>
3927 Date: Fri, 1 Mar 1991 13:03:15 -0800
3929 The modifications to xmh to support an external editor, annotations,
3930 and an append command can be found in the these places.
3932 ftp://ftp.x.org/R5contrib/xmh-mods-R5-1.7.Z 37k
3933 ftp://ftp.sei.cmu.edu/pub/xmh/xmh-mods-R5-1.7.Z 37k
3934 ftp://ftp.sei.cmu.edu/pub/xmh/xmh-mods-R6-1.0.Z 37k
3936 From: Andrew Wason <aw at bae.bellcore.com>
3937 Date: Fri, 1 Mar 1991 13:03:15 -0800
3939 As of R5, xmh has a new action proc called XmhShellCommand. A string
3940 parameter will be executed as a shell command with the currently
3941 selected messages as parameters (or the current message if there are
3942 no selected messages).
3944 Using this new action, a couple of shell scripts, a window version
3945 of emacs (e.g. xemacs) and some elisp code, xmh can use emacs as its
3946 editor instead of the built in Athena text widget editor. This
3947 doesn't require any source code changes to xmh. These are included
3948 in the Appendix "Switching xmh's editor".
3950 ------------------------------
3952 Subject: 09.02 Does xmh support subfolders?
3953 From: Steve Malowany <malowany at cenparmi.concordia.ca>
3954 Date: Fri, 1 Mar 1991 13:03:15 -0800
3956 Yes. Create one by invoking "Create Folder" as usual, and enter
3957 something like: existing-folder/new-sub-folder. You can then access
3958 the subfolder by popping up a menu over the "existing-folder" button
3963 From: John Cooper <jsc at saxon.Eng.Sun.COM>
3964 Date: Fri, 1 Mar 1991 13:03:15 -0800
3966 The R5 version of xmh does *not* handle nested sub-folders. If you
3967 create a folder as 'grab/some/bandwidth', xmh displays this folder
3968 name for the remainder of the session where it was created, BUT if
3969 you later re-run xmh, the folder is no longer visible to xmh.
3971 See also MH book section 15.6.2 (15.6.2), or the URL:
3973 http://rand-mh.sourceforge.net/book/xmh/orgfol.html#FolaSub
3975 ------------------------------
3977 Subject: 09.03 How do I precede included messages with ">" when replying in xmh?
3978 From: Len Makin <len at mel.dit.csiro.au>
3979 Date: Fri, 1 Mar 1991 13:03:15 -0800
3981 Include the following line in your ~/app-defaults/XMh file:
3983 Xmh*replyInsertFilter: "sed 's/^/> /'"
3987 Xmh.ReplyInsertFilter: $MHLIB/mhl -form repl.filter
3989 From: Andy Linton <andy.linton at comp.vuw.ac.nz>
3990 Date: Fri, 1 Mar 1991 13:03:15 -0800
3992 Using this means that you can chose to insert the original by use of
3993 the "Insert" button in the Draft message pane. See "How do I include
3994 messages in repl with or without ">"?" to find examples of
3997 See also MH book sections 15.1.4 (15.1.4), 16.3.3 (16.3.3), or the URLs:
3999 http://rand-mh.sourceforge.net/book/xmh/senmai.html#MorRep
4000 http://rand-mh.sourceforge.net/book/xmh/resfun.html#Rep
4002 ------------------------------
4005 From: Bill Wohler <wohler at newt.com>
4006 Date: Wed, 29 Sep 2004 00:04:34 -0700
4009 MHLIB Where MH support routines and files are kept; usually /usr/lib/mh
4010 or /usr/local/lib/mh.
4011 POP3 Post Office Protocol, RFC 1939
4012 MMDF Multi-channel Memo Distribution Facility
4013 MIME Multipurpose Internet Mail Extensions, RFC 1521
4014 IMAP Internet Message Access Protocol, RFC 1064, 1176
4015 TIS Trusted Information Systems
4016 PEM Privacy Enhanced Mail
4017 PGP Pretty Good Privacy
4018 SMTP Simple Mail Transport Protocol (STD 10; RFC 821)
4020 ------------------------------
4022 Subject: Acknowledgments
4023 From: Bill Wohler <wohler at newt.com>
4024 Date: Mon, 9 Sep 1996 01:37:27 -0700
4026 I'd like to thank the following people for providing ideas on the
4027 layout of this article:
4029 Joe Wells <jbw at bigbird.bu.edu> Richard M. Stallman <rms at gnu.org>
4030 David Elliott <dce at smsc.sony.com> Tom Christiansen <tchrist at perl.com>
4031 Eugene N. Miya <eugene at nas.nasa.gov>
4033 We are also grateful to Kim F. Storm <storm at olicom.dk> and Edward
4034 Vielmetti <emv at ox.com> and the folks mentioned in the text of this
4035 document who have provided answers or other information to make this a
4036 better document. I regret that it is possible that some names have
4037 been accidently omitted. I would also like to thank all the readers
4040 I'd also like to thank John Romine <jromine at yoyodyne.ICS.UCI.EDU> for
4041 maintaining MH and the MH Web page, Jerry Peek <jpeek at jpeek.com> for
4042 writing the MH bible and for all his hard work with the entire MH
4043 project, Stephen Gildea <gildea at stop.mail-abuse.org> for maintaining MH-E
4044 in years past and always sending me lots of great comments, Kimmo
4045 Suominen <kim at tac.nyc.ny.us> for maintaining the MH patch page, and
4046 Richard Coleman <coleman at math.gatech.edu> for taking MH to nmh.
4048 ------------------------------
4050 Subject: Switching xmh's editor
4051 From: Andrew Wason <aw at bae.bellcore.com>
4052 Date: Fri, 1 Mar 1991 13:03:15 -0800
4055 # This is a shell archive. Remove anything before this line, then unpack
4056 # it by saving it into a file and typing "sh file". To overwrite existing
4057 # files, type "sh file -c". You can also feed this as standard input via
4058 # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
4059 # will see the following message at the end:
4060 # "End of shell archive."
4061 # Contents: README Xmh.ad xmh-command.el xmhcommand xmhemacs
4062 # Wrapped by aw@jello on Fri Nov 15 17:10:34 1991
4063 PATH=/bin:/usr/bin:/usr/ucb ; export PATH
4064 if test -f 'README' -a "${1}" != "-c" ; then
4065 echo shar: Will not clobber existing file \"'README'\"
4067 echo shar: Extracting \"'README'\" \(1269 characters\)
4068 sed "s/^X//" >'README' <<'END_OF_FILE'
4069 XThis is a short description of what to do with each of the enclosed files.
4072 X Merge this in with your xmh resources. If you already have
4073 X user defined buttons, then you may need to renumber the
4074 X buttons in this resource file.
4077 X Byte compile this file and put it in your GNU emacs load-path.
4081 X Put these somewhere in your path.
4084 XOnce you have installed these, restart the R5 xmh with the new
4085 Xresources. When you press the repl, forw or comp buttons
4086 Xan xemacs window will come up with your draft message.
4088 XOnce you have written your mail, save it and exit GNU emacs (C-xC-c).
4089 XYou will be prompted if you want to send the current message.
4090 XIf you enter 'y', the message will be sent and the output will
4091 Xbe displayed in an emacs window (in case you use -verbose or -snoop).
4092 XThen you will be prompted to exit emacs. Enter 'y' when you are ready.
4094 XIf you answered 'n' when prompted to send the message,
4095 Xthen the draft message will be deleted and emacs will exit.
4097 XYou can modify the Xmh.ad resources to add more buttons.
4098 XAny MH command which accepts "+folder msg" can be used
4099 X(e.g. a replx shell script which includes the body of the
4100 Xmessage being replied to can be bound to a replx button)
4104 Xaw at bae.bellcore.com
4106 if test 1269 -ne `wc -c <'README'`; then
4107 echo shar: \"'README'\" unpacked with wrong size!
4111 if test -f 'Xmh.ad' -a "${1}" != "-c" ; then
4112 echo shar: Will not clobber existing file \"'Xmh.ad'\"
4114 echo shar: Extracting \"'Xmh.ad'\" \(457 characters\)
4115 sed "s/^X//" >'Xmh.ad' <<'END_OF_FILE'
4116 XXmh*CommandButtonCount: 3
4118 XXmh*commandBox.button1.label: repl
4119 XXmh*commandBox.button1.translations:\
4121 X <Btn1Up>: XmhShellCommand(xmhcommand y repl) unset()
4123 XXmh*commandBox.button2.label: forw
4124 XXmh*commandBox.button2.translations:\
4126 X <Btn1Up>: XmhShellCommand(xmhcommand y forw) unset()
4128 XXmh*commandBox.button3.label: comp
4129 XXmh*commandBox.button3.translations:\
4131 X <Btn1Up>: XmhShellCommand(xmhcommand n comp) unset()
4133 if test 457 -ne `wc -c <'Xmh.ad'`; then
4134 echo shar: \"'Xmh.ad'\" unpacked with wrong size!
4138 if test -f 'xmh-command.el' -a "${1}" != "-c" ; then
4139 echo shar: Will not clobber existing file \"'xmh-command.el'\"
4141 echo shar: Extracting \"'xmh-command.el'\" \(1294 characters\)
4142 sed "s/^X//" >'xmh-command.el' <<'END_OF_FILE'
4143 X;;; These functions are for use with xemacs and xmh.
4144 X;;; The R5 xmh has a new action - XmhShellCommand which executes
4145 X;;; a shell command with the current msg as an arg.
4146 X;;; By executing something like:
4147 X;;; XmhShellCommand(xmhcommand repl)
4148 X;;; you can use xemacs as your editor with xmh.
4150 X;;; The following elisp functions perform the basic whatnowproc functionality
4151 X;;; (quitting and deleting, sending)
4153 X;;; Andrew Wason aw at bae.bellcore.com
4156 X;;; Override C-xC-c
4157 X(define-key indented-text-mode-map "\C-x\C-c" 'xmh-command-send-or-delete)
4160 X(setq mhdraft (getenv "mhdraft")) ; save the filename of the draft
4163 X(find-file mhdraft) ; load the draft letter
4164 X(indented-text-mode)
4165 X(setq draft-buffer (current-buffer)) ; save the buffer the draft is in
4168 X(defun xmh-command-send-or-delete ()
4169 X "Prompt to send or delete letter, then quit."
4171 X (set-buffer draft-buffer)
4172 X (if (y-or-n-p "Send message? ")
4174 X (save-buffer) ; save the draft buffer
4175 X (message "Sending...")
4176 X (pop-to-buffer "MH mail delivery"); pop to a buffer for "send" output
4178 X (call-process "send" nil t t mhdraft) ; call MH "send"
4179 X (if (y-or-n-p "Exit? ")
4180 X (kill-emacs))) ; exit emacs
4181 X (delete-file mhdraft) ; delete the draft letter
4182 X (kill-emacs))) ; exit emacs
4184 if test 1294 -ne `wc -c <'xmh-command.el'`; then
4185 echo shar: \"'xmh-command.el'\" unpacked with wrong size!
4187 # end of 'xmh-command.el'
4189 if test -f 'xmhcommand' -a "${1}" != "-c" ; then
4190 echo shar: Will not clobber existing file \"'xmhcommand'\"
4192 echo shar: Extracting \"'xmhcommand'\" \(669 characters\)
4193 sed "s/^X//" >'xmhcommand' <<'END_OF_FILE'
4195 X# This shell should be invoked by the xmh XmhShellCommand() action as
4196 X# XmhShellCommand(xmhcommand y repl)
4197 X# XmhShellCommand(xmhcommand n comp) etc.
4198 X# If the second arg is y, then the message list will be used.
4200 X# We invoke the passed MH command on the identified message
4201 X# (we must strip the message number and folder from the pathname)
4204 X $2 -whatnowproc xmhemacs +`dirname \`echo $3 | \
4205 X sed "s;\\\`mhpath +\\\`/;;"\`` `basename $3`
4207 X# You can use this more readable version instead if you have ksh
4208 X# $2 -whatnowproc xmhemacs +$(dirname $(echo $3 | \
4209 X# sed "s;$(mhpath +)/;;")) $(basename $3)
4212 X $2 -whatnowproc xmhemacs
4215 if test 669 -ne `wc -c <'xmhcommand'`; then
4216 echo shar: \"'xmhcommand'\" unpacked with wrong size!
4218 chmod +x 'xmhcommand'
4219 # end of 'xmhcommand'
4221 if test -f 'xmhemacs' -a "${1}" != "-c" ; then
4222 echo shar: Will not clobber existing file \"'xmhemacs'\"
4224 echo shar: Extracting \"'xmhemacs'\" \(116 characters\)
4225 sed "s/^X//" >'xmhemacs' <<'END_OF_FILE'
4227 X# Invoke xemacs and load the xmh-command.el stuff.
4228 X# xmhemacs is used by xmhcommand
4229 Xxemacs -l xmh-command
4231 if test 116 -ne `wc -c <'xmhemacs'`; then
4232 echo shar: \"'xmhemacs'\" unpacked with wrong size!
4237 echo shar: End of shell archive.
4240 ------------------------------
4242 Subject: babyl2mh.pl
4243 From: Vivek Khera <khera at cs.duke.edu>
4244 Date: Fri, 1 Mar 1991 13:03:15 -0800
4247 # incorporate an RMAIL babyl file into an MH folder
4249 # usage: babyl2mh +folder babyl-file
4251 # V. Khera <khera at cs.duke.edu> 17-JUL-1991
4253 # where to find rcvstore
4254 $rcvstore = "/usr/local/lib/mh/rcvstore";
4257 # pull out command line args
4259 die "usage: babyl2mh +folder babyl-file\n" unless @ARGV == 2;
4262 # make sure folder name starts with a "+"
4263 (substr($folder,0,1) eq "+") || (substr($folder,0,0) = "+");
4266 print "Incorporating RMAIL file $bfname into MH folder $folder\n";
4269 # read in babyl file.
4271 $/ = "\037"; # this separates the records in a babyl file
4272 $* = 1; # records are multi-lines
4274 open(BABYL,$bfname) || die "Couldn't open $bfname\n";
4276 $_ = <BABYL>; # discard header.
4281 chop; # get rid of delimeter
4282 s/\f(.|\n)*\*\*\* EOOH \*\*\*\n//; # remove duplicate header information
4283 open(RCVSTORE,"|" . $rcvstore . " $folder");
4286 print "Message $msgnum done.\n";
4289 ------------------------------
4291 Subject: inco - babyl to MH converter
4292 From: Juergen Nickelsen <nickel at cs.tu-berlin.de>
4293 Date: Fri, 1 Mar 1991 13:03:15 -0800
4296 # Usage: inco [from [folder]]
4297 # "from" defaults to $HOME/Mail/outbound, "folder" to +inbox.
4299 lispfile=/tmp/inco.$$.el
4300 input=${1-$HOME/Mail/outbound}
4301 tmpmbox=/tmp/inc.$$.mbox
4304 if [ $# -ge 3 ]; then
4305 echo Usage: `basename $0` [ from [ folder ]]
4309 trap "rm -f $lispfile $tmpmbox ; exit 1" 1 2 15
4314 echo '(rmail-input "'$input'")
4315 (rmail-last-message)
4316 (setq last (rmail-what-message))
4317 (rmail-show-message 1)
4318 (while (not (equal (rmail-what-message) last))
4319 (rmail-output "'$tmpmbox'")
4320 (rmail-delete-forward nil))
4321 (rmail-output "'$tmpmbox'")
4322 (kill-buffer (current-buffer))
4325 emacs -batch -l $lispfile
4326 inc -file $tmpmbox $folder
4329 rm -f $lispfile $tmpmbox
4331 ------------------------------
4333 Subject: t2h - add hyperlinks to message viewed
4334 From: TANAKA Tomoyuki <tanaka at step.mother.com>
4335 Date: Mon, 13 Sep 1999 11:35:43 -0600
4338 # "t2h" by TT news:alt.tanaka-tomoyuki http://listen.to/TT
4339 # USE: t2h <file.txt >file.html
4340 # Or: show | t2h | lynx -
4346 s/http:[^ "&) ]*/<a href="&">&<\/a>/g
4347 s/news:[^ "&) ]*/<a href="&">&<\/a>/g
4348 s/ftp:[^ "&) ]*/<a href="&">&<\/a>/g
4349 s/telnet:[^ "&) ]*/<a href="&">&<\/a>/g
4357 ------------------------------
4359 Subject: srvrsmtp.c patch
4360 From: Paul Pomes <ppomes at Qualcomm.com>
4361 Date: Fri, 1 Mar 1991 13:03:15 -0800
4363 >From the 5.67 sources:
4365 *** srvrsmtp.c- Mon Feb 22 12:25:54 1993
4366 --- srvrsmtp.c Mon Feb 22 12:29:09 1993
4370 message("250", "Reset state");
4374 + /* clean up a bit if running in parent */
4376 + dropenvelope(CurEnv);
4377 + CurEnv = newenvelope(CurEnv);
4378 + CurEnv->e_flags = BlankEnvelope.e_flags;
4381 case CMDVRFY: /* vrfy -- verify address */
4383 ------------------------------
4385 Subject: IRIX config file
4386 From: Jack Repenning <jackr at informix.com>
4387 Date: 25 Jul 1995 02:35:41 GMT
4389 # Irix 5.3 (based on examples/sys5r4)
4391 bin /usr/local/bin/mh
4396 etc /usr/local/lib/mh
4397 ldoptions -L/usr/local/lib/mh
4403 popdir /usr/local/bin
4406 #slibdir /usr/local/lib/mh
4412 options FOLDPROT='"0700"'
4416 options MORE='"/usr/bsd/more"'
4417 options MSGPROT='"0600"'
4420 options SBACKUP='"\\#"'
4429 options _XOPEN_SOURCE
4432 From: David Paschich <dpassage at bigbook.com>
4433 Date: 23 Apr 96 21:27:12 GMT
4436 # a 4.2BSD VAX system running SendMail
4437 bin /usr/local/bin/mh
4439 etc /usr/local/lib/mh
4442 mandir /usr/local/man
4447 options BIND LOCKF FOLDPROT='"0700"' MHE MHRC MORE='"/usr/bsd/more"'
4448 options MSGPROT='"0600"' RPATHS SENDMTS SGI SMTP SOCKETS SYS5
4449 options TYPESIG="void" ncr MIME VSPRINTF UNISTD SYSVR4 SYS5DIR
4451 ------------------------------
4453 Subject: HP-UX 10.20 config file
4454 From: Marko Heikkinen <hema at iki.fi>
4455 Date: 06 Jan 1997 17:19:07 +0000
4459 etc /opt/mail/lib/mh
4467 ccoptions +DA1.0 +DS1.0
4471 slibdir: /opt/mail/lib
4483 options MORE='"/opt/gnu/bin/less"'
4484 options MSGPROT='"0600"'
4491 options TYPESIG=void
4496 curses -lcurses -ltermlib
4499 ------------------------------
4501 Subject: Removing duplicate messages (Bourne)
4502 From: Jerry Peek <jpeek at jpeek.com>
4503 Date: 20 Nov 1995 18:51:24 GMT
4505 Here's a simple-minded Bourne shell version. It uses
4506 "scan" to get the message number and message-id of each message. If
4507 a message has the same message-id as the previous message, the
4508 script adds its message number to the "remove" shell variable.
4514 scan -width 300 -format '%(msg) %{message-id}' |
4515 while read msg msgid; do
4516 if [ "$msgid" = "$lastmsgid" ]; then
4517 remove="$remove $msg"
4524 That's pretty simple-minded. For example, if the $remove variable
4525 gets too big, your system may complain. And I'm sure there are some
4526 more-efficient ways to find the list of duplicate message-ids. But
4529 Subject: Removing duplicate messages (Perl)
4530 From: rtor at ansa.co.uk (Owen Rees)
4531 Date: 20 Nov 1995 12:39:47 GMT
4533 I wrote a perl script to do this some time ago. All the usual dire
4534 warnings about destructive technology apply - take a backup, do it on
4535 a copy, try it on a small test case first etc. Don't use this script
4536 unless you are prepared to accept the consequences.
4538 #!/usr/local/bin/perl
4540 $version = "rmmdup 1";
4542 if (@ARGV == 0) { $folder = ""; }
4543 elsif (@ARGV == 1) { $folder = $ARGV[0];
4544 unless ( $folder =~ /^\+.+$/ )
4545 { die "usage $0 [+folder]\n"; };
4547 else { die "usage $0 [+folder]\n"; };
4551 open (scan, "scan $folder -format '%(msg) %{message-id}'|");
4553 { if ( ($msg,$msgid) = /^(\d+) (<.*>)$/)
4554 { if ($msgs{$msgid})
4555 { print "$msg duplicates $msgs{$msgid}\n";
4556 $rmmlist .= " $msg";
4558 else { $msgs{$msgid} = $msg; };
4561 if ( $rmmlist ) { exec "rmm $folder $rmmlist"; };
4564 Subject: Removing duplicate messages (Perl)
4565 From: Bill Wohler <wohler at newt.com>
4566 Date: Sun, 17 Oct 2004 13:00:20 -0700
4570 # Id: mhfinddup 6593 2004-09-02 16:34:24Z wohler
4574 mhfinddup - find duplicate messages
4578 mhfinddup [options] [folder ...]
4582 B<mhfinddup> finds and removes duplicate MH messages in the folders listed on
4583 the command line (default: current folder). By default, you deal with
4584 duplicate messages interactively. You can either remove the duplicate, not
4585 remove the duplicate, or view the original and duplicate message before
4588 If you use the B<-msgid> option to B<send>, then you probably don't want to
4589 list any F<+outbox> folders if you are using the B<--no-same-folder> option
4590 and you want to preserve your sent messages as well as your messages to
4593 Note that if you specify one or more folders, or if you use the B<--all>
4594 option, B<mhfinddup> recursively descends the given folders.
4598 Context is per B<flist>(1). That is, if F<+folder> is given, it will become
4599 the current folder. If multiple folders are given, the last one specified will
4600 become the current folder.
4608 Look for duplicates in all folders. If any folders are specified, this option
4613 Turn on debugging messages.
4617 Display the usage of this command.
4621 List duplicated messages.
4623 =item --no-same-folder
4625 Since it is common to use C<refile -link> to file a message in multiple
4626 folders, this script doesn't consider messages in different folders to be
4627 duplicates. Specify this option to list or remove duplicates across folders.
4631 Remove messages non-interactively. Use with care! For safety, the B<--list>
4632 option takes precedence if specified and is a good option to use before using
4637 Display program version.
4643 Returns 0 if all is well; non-zero otherwise.
4651 Interactively remove duplicates from the current folder.
4653 =item mhfinddup --all --list --no-same-folder
4655 List all duplicates regardless if they are in different folders or not.
4657 =item mhfinddup --rmm +lists
4659 Remove all duplicates in F<+lists>, recursively.
4665 B<rmm>(1), B<mhl>(1), B<scan>(1)
4673 Bill Wohler <wohler at newt.com>
4675 Copyright (c) 2003 Newt Software. All rights reserved.
4677 This program is free software; you can redistribute it and/or
4678 modify it under the terms of the GNU General Public License
4679 as published by the Free Software Foundation; either version 2
4680 of the License, or (at your option) any later version.
4682 This program is distributed in the hope that it will be useful,
4683 but WITHOUT ANY WARRANTY; without even the implied warranty of
4684 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4685 GNU General Public License for more details.
4687 You should have received a copy of the GNU General Public License
4688 along with this program; if not, you can find it at
4689 http://www.gnu.org/copyleft/gpl.html or write to the Free Software
4690 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
4696 # Packages and pragmas.
4702 my $cmd; # name by which command called
4703 ($cmd = $0) =~ s|^\./||; # ...minus the leading ./
4704 my $ver = '6593'; # program version with CVS noise
4706 # Variables (may be overridden by arguments).
4707 my $all = 0; # look in all folders
4708 my $debug = 0; # verbose mode
4709 my $help = 0; # display usage
4710 my $version = 0; # display version
4711 my $list = 0; # list duplicates
4712 my $no_same_folder = 0; # consider duplicates across folders
4713 my $rmm = 0; # remove duplicates without asking
4716 my $mhl = "/usr/lib/mh/mhl";
4717 my $tmp = "/tmp/mhfinddup$$";
4719 # Parse command line.
4720 # The use of the posix_default option is to ensure that folders like +a are
4721 # not confused with --all. I'd really prefer to set prefix_pattern to "(--|-)"
4722 # so that abbreviations of options can be used without being confused with
4723 # folders, but I couldn't make it so.
4725 Getopt::Long::Configure("pass_through", "posix_default");
4726 GetOptions('all' => \$all,
4730 'no-same-folder' => \$no_same_folder,
4732 'version' => \$version,
4735 show_version() if ($version);
4736 usage() if ($help || int(@ARGV) != int(map(/^\+/, @ARGV)));
4738 my @folders = expand_folders(@ARGV);
4739 print("Expanded " . join(" ", @ARGV) . " into\n" . join("\n", @folders) . "\n")
4742 print("Scanning for duplicate messages...\n");
4744 foreach my $folder (sort @folders) {
4745 print("Scanning $folder...\n") if ($debug);
4747 "MHCONTEXT=$tmp scan +$folder -format '%(msg) %{message-id}'|");
4749 if (my ($msg, $msgid) = /^(\d+) (<.*>)$/) {
4750 if ($msgs{$msgid}) {
4751 $msgs{$msgid} =~ m|^\+(.*)/(\d+)$|;
4752 my($f, $m) = ($1, $2);
4753 if ($folder eq $f || $no_same_folder) {
4754 handle_dup($f, $m, $folder, $msg);
4757 $msgs{$msgid} = "+$folder/$msg";
4766 sub expand_folders {
4769 print("Getting list of folders...");
4772 . (($all == 1 && @folders == 0) ? "-all" : join(" ", @folders))
4774 or die("Could not determine folders\n");
4776 chomp(my $current_folder = `mhparam Current-Folder`);
4777 $current_folder = quotemeta($current_folder);
4780 my ($folder, $a, $b, $c, $d, $e, $f, $g, $count) = split;
4781 if ($folder =~ /^$current_folder\+$/) {
4782 $folder =~ s/\+$//; # remove current folder indication
4784 next if ($count == 0);
4785 push(@folders, $folder);
4794 my($f1, $m1, $f2, $m2) = @_;
4799 print("+$f2/$m2 duplicate of +$f1/$m1");
4808 print(", remove? [Yns?] ");
4809 chomp($ans = <STDIN>);
4812 if ($ans eq "y" || $ans eq "") {
4813 system("rmm +$f2 $m2");
4814 } elsif ($ans eq "s") {
4815 system("$mhl `mhpath +$f1 $m1` `mhpath +$f2 $m2`");
4817 } elsif ($ans eq "?") {
4818 print("y, remove message (default)\n" .
4819 "n, don't remove message\n" .
4820 "s, show messages\n" .
4821 "?, show this message\n");
4830 Display usage information and exit.
4836 Usage: $cmd [options] [folder ...]
4837 --all remove duplicates in all folders
4838 --debug print actions that program takes
4839 --help display this message
4840 --list list duplicates only
4841 --no-same-folder consider duplicates even if in different folders
4842 --rmm remove duplicates without asking
4843 --version display program version
4850 Display version information and exit.
4855 print("$cmd version $ver\n".
4856 "Copyright (c) 2003 Bill Wohler <wohler at newt.com>\n\n".
4857 "$cmd comes with ABSOLUTELY NO WARRANTY.\n\n".
4858 "This is free software, and you are welcome\n".
4859 "to redistribute it under certain conditions.\n\n".
4860 "See `http://www.gnu.org/copyleft/gpl.html' for details.\n");
4867 outline-regexp: "^Subject:"