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