diff options
Diffstat (limited to 'en_US.ISO8859-1/articles/mh/article.sgml')
-rw-r--r-- | en_US.ISO8859-1/articles/mh/article.sgml | 782 |
1 files changed, 0 insertions, 782 deletions
diff --git a/en_US.ISO8859-1/articles/mh/article.sgml b/en_US.ISO8859-1/articles/mh/article.sgml deleted file mode 100644 index 9dfa488f0e..0000000000 --- a/en_US.ISO8859-1/articles/mh/article.sgml +++ /dev/null @@ -1,782 +0,0 @@ -<!-- $FreeBSD: doc/en_US.ISO_8859-1/articles/mh/article.sgml,v 1.6 1999/10/10 19:29:59 jhb Exp $ --> -<!-- FreeBSD Documentation Project --> - -<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN"> -<article> - <artheader> - <title>An MH Primer</title> - - <authorgroup> - <author> - <firstname>Matt</firstname> - - <surname>Midboe</surname> - - <affiliation> - <address> - <email>matt@garply.com</email> - </address> - </affiliation> - </author> - </authorgroup> - - <pubdate>v1.0, 16 January 1996</pubdate> - - <abstract> - <para>This document contains an introduction to using MH on - FreeBSD</para> - </abstract> - </artheader> - - <sect1 id="mhintro"> - <title>Introduction</title> - - <para>MH started back in 1977 at the RAND Corporation, where the - initial philosophies behind MH were developed. MH isn't so much - a monolithic email program but a philosophy about how best to - develop tools for reading email. The MH developers have done a - great job adhering to the <acronym>KISS</> principle: Keep It - Simple Stupid. Rather than have one large program for reading, - sending and handling email they have written specialized - programs for each part of your email life. One might liken MH to - the specialization that one finds in insects and nature. Each - tool in MH does one thing, and does it very well.</para> - - <para>Beyond just the various tools that one uses to handle their - email MH has done an excellent job keeping the configuration of - each of these tools consistent and uniform. In fact, if you are - not quite sure how something is supposed to work or what the - arguments for some command are supposed to be then you can - generally guess and be right. Each MH command is consistent - about how it handles reading the configuration files and how it - takes arguments on the command line. One useful thing to - remember is that you can always add a <option>-help</option> to - the command to have it display the options for that - command.</para> - - <para>The first thing that you need to do is to make sure that you - have installed the MH package on your FreeBSD machine. If you - installed from CDROM you should be able to execute the following - to load mh: - - <informalexample> - <screen>&prompt.root; <userinput>pkg_add /cdrom/packages/mh-6.8.3.tgz</> - </screen> - </informalexample> - - You will notice that it created a <filename>/usr/local/lib/mh</> - directory for you as well as adding several binaries to the - <filename>/usr/local/bin</> directory. If you would prefer to - compile it yourself then you can anonymous ftp it from <ulink - URL="ftp://ftp.ics.uci.edu/">ftp.ics.uci.edu</ulink> or <ulink - URL="ftp://louie.udel.edu/">louie.udel.edu</ulink>.</para> - - <para>This primer is not a full comprehensive explanation of how - MH works. This is just intended to get you started on the road - to happier, faster mail reading. You should read the man pages - for the various commands. Also you might want to read the <ulink - URL="news:comp.mail.mh">comp.mail.mh</ulink> newsgroup. Also - you can read the <ulink - URL="http://www.cis.ohio-state.edu/hypertext/faq/usenet/mh-faq/part1/faq.html">FAQ - for MH</ulink>. The best resource for MH is the O'Reilly and - Associates book written by Jerry Peek.</para> - </sect1> - - <sect1> - <title>Reading Mail</title> - - <para>This section covers how to use <command>inc</>, - <command>show</>, <command>scan</>, <command>next</>, - <command>prev</>, <command>rmm</>, <command>rmf</>, and - <command>msgchk</>. One of the best things about MH is the - consistent interface between programs. A few things to keep in - mind when using these commands is how to specify message lists. - In the case of <command>inc</> this doesn't really make any - sense but with commands like <command>show</> it is useful to - know. </para> - - <para>A message list can consist of something like <parameter>23 - 20 16</> which will act on messages 23, 20 and 16. This is - fairly simple but you can do more useful things like - <parameter>23-30</> which will act on all the messages between - 23 and 30. You can also specify something like - <parameter>cur:10</> which will act on the current message and - the next 9 messages. The <parameter>cur</>, <parameter>last</>, - and <parameter>first</> messages are special messages that refer - to the current, last or first message in the folder.</para> - - <sect2 id="inc"> - <title><command>inc</>, <command>msgchk</>—read in your - new email or check it</title> - - <para>If you just type in <userinput>inc</> and hit - <keycap>return</> you will be well on your way to getting - started with MH. The first time you run <command>inc</> it - will setup your account to use all the MH defaults and ask you - about creating a Mail directory. If you have mail waiting to - be downloaded you will see something that looks like:</para> - - <informalexample> - <screen> 29 01/15 Doug White Re: Another Failed to boot problem<<On Mon, 15 J - 30 01/16 "Jordan K. Hubbar Re: FBSD 2.1<<> Do you want a library instead of - 31 01/16 Bruce Evans Re: location of bad144 table<<>> >It would appea - 32 01/16 "Jordan K. Hubbar Re: video is up<<> Anyway, mrouted won't run, ev - 33 01/16 Michael Smith Re: FBSD 2.1<<Nate Williams stands accused of sa - </screen> - </informalexample> - - <para>This is the same thing you will see from a - <command>scan</> (see <xref linkend="scan">). If you just run - <command>inc</> with no arguments it will look on your - computer for email that is supposed to be coming to - you.</para> - - <para>A lot of people like to use POP for grabbing their email. - MH can do POP to grab your email. You will need to give - <command>inc</> a few command line arguments.</para> - - <informalexample> - <screen>&prompt.user; <userinput>inc -host mail.pop.org -user <replaceable>username</> -norpop</> - </screen> - </informalexample> - - <para>That tells <command>inc</> to go to - <parameter>mail.pop.org</> to download your email, and that - your username on their system is <replaceable>username</>. The - <option>-norpop</option> option tells <command>inc</> to use - plain POP3 for downloading your email. MH has support for a - few different dialects of POP. More than likely you will never - ever need to use them though. While you can do more complex - things with inc such as audit files and scan format files this - will get you going.</para> - - <para>The <command>msgchk</> command is used to get information - on whether or not you have new email. <command>msgchk</> takes - the same <option>-host</option> and <option>-user</option> - options that <command>inc</> takes.</para> - </sect2> - - <sect2 id="show"> - <title><command>show</>, <command>next</> and - <command>prev</>—displaying and moving through - email</title> - - <para><command>show</> is to show a letter in your current - folder. Like <command>inc</>, <command>show</> is a fairly - straightforward command. If you just type <userinput>show</> - and hit <keycap>return</> then it displays the current - message. You can also give specific message numbers to - show:</para> - - <informalexample> - <screen>&prompt.user; <userinput>show 32 45 56</> - </screen> - </informalexample> - - <para>This would display message numbers 32, 45 and 56 right - after each other. Unless you change the default behavior - <command>show</> basically just does a <command>more</> on the - email message.</para> - - <para><command>next</> is used to move onto the next message and - <command>prev</> will go to the previous message. Both - commands have an implied <command>show</> command so that when - you go to the next message it automatically displays - it.</para> - </sect2> - - <sect2 id="scan"> - <title><command>scan</>—shows you a scan of your - messages</title> - - <para><command>scan</> will display a brief listing of the - messages in your current folder. This is an example of what - the <command>scan</> command will give you.</para> - - <informalexample> - <screen> 30+ 01/16 "Jordan K. Hubbar Re: FBSD 2.1<<> Do you want a library instead of - 31 01/16 Bruce Evans Re: location of bad144 table<<>> >It would appea - 32 01/16 "Jordan K. Hubbar Re: video is up<<> Anyway, mrouted won't run, ev - 33 01/16 Michael Smith Re: FBSD 2.1<<Nate Williams stands accused of sa - </screen> - </informalexample> - - <para>Like just about everything in MH this display is very - configurable. This is the typical default display. It gives - you the message number, the date on the email, the sender, the - subject line, and a sentence fragment from the very beginning - of the email if it can fit it. The <literal>+</> means that - message is the current message, so if you do a - <command>show</> it will display that message.</para> - - <para>One useful option for scan is the - <option>-reverse</option> option. This will list your messages - with the highest message number first and lowest message - number last. Another useful option with <command>scan</> is to - have it read from a file. If you want to scan your incoming - mailbox on FreeBSD without having to <command>inc</> it you - can do <command>scan -file - /var/mail/<replaceable>username</></command>. This can be used - with any file that is in the <database>mbox</> format.</para> - </sect2> - - <sect2 id="rmm"> - <title><command>rmm</> and <command>rmf</>—remove the - current message or folder</title> - - <para><command>rmm</> is used to remove a mail message. The - default is typically to not actually remove the message but to - rename the file to one that is ignored by the MH commands. You - will need to through periodically and physically delete the - <quote>removed</> messages.</para> - - <para>The <command>rmf</> command is used to remove folders. - This doesn't just rename the files but actually removes the - from the hard drive so you should be careful when you use this - command.</para> - </sect2> - - <sect2 id="samplereading"> - <title>A typical session of reading with MH</title> - - <para>The first thing that you will want to do is - <command>inc</> your new mail. So at a shell prompt just type - in <command>inc</> and hit <keycap>return</>.</para> - - <informalexample> - <screen>&prompt.user; <userinput>inc</> -Incorporating new mail into inbox... - - 36+ 01/19 "Stephen L. Lange Request...<<Please remove me as contact for pind - 37 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl - 38 01/19 "Amancio Hasty Jr Re: FreeBSD and VAT<<>>> Bill Fenner said: > In -&prompt.user; - </screen> - </informalexample> - - <para>This shows you the new email that has been added to your - mailbox. So the next thing to do is <command>show</> the email - and move around.</para> - - <informalexample> - <screen>&prompt.user; <userinput>show</> -Received: by sashimi.wwa.com (Smail3.1.29.1 #2) - id m0tdMZ2-001W2UC; Fri, 19 Jan 96 13:33 CST -Date: Fri, 19 Jan 1996 13:33:31 -0600 (CST) -From: "Stephen L. Lange" <stvlange@wwa.com> -To: matt@garply.com -Subject: Request... -Message-Id: <Pine.BSD.3.91.960119133211.824A-100000@sashimi.wwa.com> -Mime-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII - - -Please remove me as contact for pindat.com - -&prompt.user; <userinput>rmm</> -&prompt.user; <userinput>next</> -Received: from localhost (localhost [127.0.0.1]) by whydos.lkg.dec.com (8.6.11/8 -.6.9) with SMTP id RAA24416; Fri, 19 Jan 1996 17:56:48 GMT -Message-Id: <199601191756.RAA24416@whydos.lkg.dec.com> -X-Authentication-Warning: whydos.lkg.dec.com: Host localhost didn't use HELO pro -tocol -To: hsu@clinet.fi -Cc: hackers@FreeBSD.org -Subject: Re: kern/950: Two PCI bridge chips fail (multiple multiport ethernet - boards) -In-Reply-To: Your message of "Fri, 19 Jan 1996 00:18:36 +0100." - <199601182318.AA11772@Sysiphos> -X-Mailer: exmh version 1.5omega 10/6/94 -Date: Fri, 19 Jan 1996 17:56:40 +0000 -From: Matt Thomas <matt@lkg.dec.com> -Sender: owner-hackers@FreeBSD.org -Precedence: bulk - - -This is due to a typo in pcireg.h (to -which I am probably the guilty party). - </screen> - </informalexample> - - <para>The <command>rmm</> removed the current message and the - <command>next</> command moved me on to the next message. Now - if I wanted to look at ten most recent messages so I could - read one of them here is what I would do:</para> - - <informalexample> - <screen>&prompt.user; <userinput>scan last:10</> - 26 01/16 maddy Re: Testing some stuff<<yeah, well, Trinity has - 27 01/17 Automatic digest NET-HAPPENINGS Digest - 16 Jan 1996 to 17 Jan 19 - 28 01/17 Evans A Criswell Re: Hey dude<<>From matt@tempest.garply.com Tue - 29 01/16 Karl Heuer need configure/make volunteers<<The FSF is looki - 30 01/18 Paul Stephanouk Re: [alt.religion.scientology] Raw Meat (humor)< - 31 01/18 Bill Lenherr Re: Linux NIS Solaris<<--- On Thu, 18 Jan 1996 1 - 34 01/19 John Fieber Re: Stuff for the email section?<<On Fri, 19 Jan - 35 01/19 support@foo.garpl [garply.com #1138] parlor<<Hello. This is the Ne - 37+ 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl - 38 01/19 "Amancio Hasty Jr Re: FreeBSD and VAT<<>>> Bill Fenner said: > In -&prompt.user; - </screen> - </informalexample> - - <para>Then if I wanted to read message number 27 I would do a - <userinput>show 27</> and it would be displayed. As you can - probably tell from this sample session MH is pretty easy to - use and looking through emails and displaying them is fairly - intuitive and easy.</para> - </sect2> - </sect1> - - <sect1> - <title>Folders and Mail Searching</title> - - <para>Anybody who gets lots of email definitely wants to be able - to prioritize, stamp, brief, de-brief, and number their emails - in a variety of different ways. MH can do this better than just - about anything. One thing that we haven't really talked about is - the concept of folders. You have undoubtedly come across the - folders concept using other email programs. MH has folders too. - MH can even do sub-folders of a folder. One thing you should - keep in mind with MH is that when you ran <command>inc</> for - the first time and it asked you if it could create a - <filename>Mail</> directory it began storing everything in that - directory. If you look at that directory you will find a - directory named <filename>inbox</>. The <filename>inbox</> - directory houses all of your incoming mail that hasn't been - thrown anywhere else.</para> - - <para>Whenever you create a new folder a new directory is going to - be created underneath your MH <filename>Mail</> directory, and - messages in that folder are going to be stored in that - directory. When new email comes in that new email is thrown - into your <filename>inbox</> directory with a file name that is - equivalent to the message number. So even if you didn't have - any of the MH tools to read your email you could still use - standard UNIX commands to munge around in those directories and - just more your files. It's this simplicity that really gives you - a lot of power with what you can do with your email.</para> - - <para>Just as you can use message lists like <parameter>23 16 - 42</> with most MH commands there is a folder option you can - specify with just about every MH command. If you do a - <command>scan +freebsd</> it will scan your <filename>freebsd</> - folder, and your current folder will be changed to - <filename>freebsd</>. If you do a <command>show +freebsd 23 16 - 42</>, <command>show</> is going to switch to your - <filename>freebsd</> folder and display messages 23, 16 and 42. - So remember that <option>+<replaceable>folder</></> syntax. You - will need to make sure you use it to make commands process - different folders. Remember you default folder for mail is - <filename>inbox</> so doing a <command>folder +inbox</> should - always get you back to your mail. Of course, in MH's infinite - flexibility this can be changed but most places have probably - left it as <command>inbox</>.</para> - - <sect2> - <title><command>pick</>—search email that matches certain - criteria</title> - - <para><command>pick</> is one of the more complex commands in - the MH system. So you might want to read the - <citerefentry><refentrytitle>pick</><manvolnum>1</></> man - page for a more thorough understanding. At its simplest level - you can do something like</para> - - <informalexample> - <screen>&prompt.user; <userinput>pick -search pci</> -15 -42 -55 -56 -57 - </screen> - </informalexample> - - <para>This will tell <command>pick</> to look through every - single line in every message in your current folder and tell - you which message numbers it found the word <literal>pci</> - in. You can then <command>show</> those messages and read them - if you wish or <command>rmm</> them. You would have to specify - something like <command>show 15 42 55-57</> to display them - though. A slightly more useful thing to do is this:</para> - - <informalexample> - <screen>&prompt.user; <userinput>pick -search pci -seq pick</> -5 hits -&prompt.user; <userinput>show pick</> - </screen> - </informalexample> - - <para>This will show you the same messages you just didn't have - to work as hard to do it. The <option>-seq</option> option is - really an abbreviation of <option>-sequence</option> and - <command>pick</> is just a sequence which contains the message - numbers that matched. You can use sequences with just about - any MH command. So you could have done an <command>rmm pick</> - and all those messages would be removed instead. You sequence - can be named anything. If you run pick again it will overwrite - the old sequence if you use the same name.</para> - - <para>Doing a <command>pick -search</command> can be a bit more - time consuming than just searching for message from someone, - or to someone. So <command>pick</> allows you to use the - following predefined search criteria:</para> - - <variablelist> - <varlistentry> - <term><option>-to</option></term> - - <listitem> - <para>search based upon who the message is to</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-cc</option></term> - - <listitem> - <para>search based on who is in the cc list</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-from</option></term> - - <listitem> - <para>search for who sent the message</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-subject</option></term> - - <listitem> - <para>search for emails with this subject</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-date</option></term> - - <listitem> - <para>find emails with a matching dat</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--<replaceable>component</replaceable></option></term> - - <listitem> - <para>search for any other component in the header. (i.e. - <option>--reply-to</> to find all emails with a certain - reply-to in the header)</para> - </listitem> - </varlistentry> - </variablelist> - - <para>This allows you to do things like - - <informalexample> - <screen>&prompt.user; <userinput>pick -to freebsd-hackers@FreeBSD.org -seq hackers</> - </screen> - </informalexample> - - to get a list of all the email send to the FreeBSD hackers - mailing list. <command>pick</> also allows you to group these - criteria in different ways using the following options:</para> - - <itemizedlist> - <listitem> - <para>… <option>-and</option> …</para> - </listitem> - - <listitem> - <para>… <option>-or</option> &hellip</para> - </listitem> - - <listitem> - <para><option>-not</option> …</para> - </listitem> - - <listitem> - <para><option>-lbrace</option> … - <option>-rbrace</option></para> - </listitem> - </itemizedlist> - - <para>These commands allow you to do things like</para> - - <informalexample> - <screen>&prompt.user; <userinput>pick -to freebsd-hackers -and -cc freebsd-hackers</> - </screen> - </informalexample> - - <para>That will grab all the email in your inbox that was sent - to freebsd-hackers or cc'd to that list. The brace options - allow you to group search criteria together. This is sometimes - very necessary as in the following example</para> - - <informalexample> - <screen>&prompt.user; <userinput>pick -lbrace -to freebsd-hackers -and - -not -cc freebsd-questions -rbrace -and -subject pci</> - </screen> - </informalexample> - - <para>Basically this says <quote>pick (to freebsd-hackers and - not cc'd on freebsd-questions) and the subject is - pci</quote>. It should look through your folder and find - all messages sent to the freebsd-hackers list that aren't cc'd - to the freebsd-questions list that contain something on pci in - the subject line. Ordinarily you might have to worry about - something called operator precedence. Remember in math how you - evaluate from left to right and you do multiplication and - division first and addition and subtraction second? MH has the - same type of rules for <command>pick</>. It's fairly complex - so you might want to study the man page. This document is just - to help you get acquainted with MH.</para> - </sect2> - - <sect2> - <title><command>folder</>, <command>folders</>, - <command>refile</>—three useful programs for folder - maintenance</title> - - <para>There are three programs which are primarily just for - manipulating your folders. The <command>folder</> program is - used to switch between folders, pack them, and list them. At - its simplest level you can do a <command>folder - +<replaceable>newfolder</></> and you will be switched into - <replaceable>newfolder</>. From there on out all your MH - commands like <command>comp</>, <command>repl</>, - <command>scan</>, and <command>show</> will act on that - <command>newfolder</> folder.</para> - - <para>Sometimes when you are reading and deleting messages you - will develop <quote>holes</> in your folders. If you do a - <command>scan</> you might just see messages 34, 35, 36, 43, - 55, 56, 57, 80. If you do a <command>folder -pack</command> - this will renumber all your messages so that there are no - holes. It doesn't actually delete any messages though. So you - may need to periodically go through and physically delete - <command>rmm</>'d messages.</para> - - <para>If you need statistics on your folders you can do a - <command>folders</> or <command>folder -all</command> to list - all your folders, how many messages they have, what the - current message is in each one and so on. This line of stats - it displays for all your folders is the same one you get when - you change to a folder with <command>folder +foldername</>. A - <command>folders</> command looks like this:</para> - - <informalexample> - <screen> Folder # of messages ( range ); cur msg (other files) - announce has 1 message ( 1- 1). - drafts has no messages. - f-hackers has 43 messages ( 1- 43). - f-questions has 16 messages ( 1- 16). - inbox+ has 35 messages ( 1- 38); cur= 37. - lists has 8 messages ( 1- 8). - netfuture has 1 message ( 1- 1). - out has 31 messages ( 1- 31). - personal has 6 messages ( 1- 6). - todo has 58 messages ( 1- 58); cur= 1. - - TOTAL= 199 messages in 13 folders. - </screen> - </informalexample> - - <para>The <command>refile</> command is what you use to move - messages between folders. When you do something like - <command>refile 23 +netfuture</> message number 23 is moved - into the <filename>netfuture</> folder. You could also do - something like <command>refile 23 +netfuture/latest</> which - would put message number 23 in a subfolder called - <filename>latest</> under the <filename>netfuture</> folder. - If you want to keep a message in the current folder and link - it you can do a <command>refile -link 23 +netfuture</command> - which would keep 23 in your current <filename>inbox</> but - also list in your <filename>netfuture</> folder. You are - probably beginning to realize some of the really powerful - things you can do with MH.</para> - </sect2> - </sect1> - - <sect1> - <title>Sending Mail</title> - - <para>Email is a two way street for most people so you want to be - able to send something back. The way MH handles sending mail can - be a bit difficult to follow at first, but it allows for - incredible flexibility. The first thing MH does is to copy a - components file into your outgoing email. A components file is - basically a skeleton email letter with stuff like the To: and - Subject: headers already in it. You are then sent into your - editor where you fill in the header information and then type - the body of your message below the dashed lines in the message. - Then to the <command>whatnow</> program. When you are at the - <prompt>What now?</prompt> prompt you can tell it to - <command>send</>, <command>list</>, <command>edit</>, - <command>edit</>, <command>push</>, and <command>quit</>. Most - of these commands are self-explanatory. So the message sending - process involves copying a component file, editing your email, - and then telling the <command>whatnow</> program what to do with - your email.</para> - - <sect2> - <title><command>comp</>, <command>forw</>, - <command>reply</>—compose, forward or reply to a message - to someone</title> - - <para>The <command>comp</> program has a few useful command line - options. The most important one to know right now is the - <option>-editor</option> option. When MH is installed the - default editor is usually a program called - <command>prompter</> which comes with MH. It's not a very - exciting editor and basically just gets the job done. So when - you go to compose a message to someone you might want to use - <command>comp -editor /usr/bin/vi/</> or <command>comp -editor - /usr/local/bin/pico/</> instead. Once you have run - <emphasis>comp</emphasis> you are in your editor and you see - something that looks like this:</para> - - <informalexample> - <screen>To: -cc: -Subject: --------- - </screen> - </informalexample> - - <para>You need to put the person you are sending the mail to - after the <literal>To:</> line. It works the same way for the - other headers also, so you would need to put your subject - after the <literal>Subject:</> line. Then you would just put - the body of your message after the dashed lines. It may seem a - bit simplistic since a lot of email programs have special - requesters that ask you for this information but there really - isn't any point to that. Plus this really gives you excellent - flexibility.</para> - - <informalexample> - <screen>To:<userinput>freebsd-rave@FreeBSD.org</> -cc: -Subject:<userinput>And on the 8th day God created the FreeBSD core team</> --------- -<userinput>Wow this is an amazing operating system. Thanks!</> - </screen> - </informalexample> - - <para>You can now save this message and exit your editor. You - will see the <prompt>What now?</> prompt and you can type in - <userinput>send</> or <userinput>s</> and hit - <keycap>return</>. Then the FreeBSD core team will receive - their just rewards. As I mentioned earlier you can also use - other commands, for example <command>quit</> if you don't want - to send the message.</para> - - <para>The <command>forw</> command is stunningly similar. The - big difference being that the message you are forwarding is - automatically included in the outgoing message. When you run - <command>forw</> it will forward your current message. You can - always tell it to forward something else by doing something - like <command>forw 23</> and then message number 23 will be - put in your outgoing message instead of the current message. - Beyond those small differences <command>forw</> functions - exactly the same as <command>comp</>. You go through the exact - same message sending process.</para> - - <para>The <command>repl</> command will reply to whatever your - current message is, unless you give it a different message to - reply to. <command>repl</> will do its best to go ahead and - fill in some of the email headers already. So you will notice - that the <literal>To:</> header already has the address of the - recipient in there. Also the <literal>Subject:</> line will - already be filled in. You then go about the normal message - composition process and you are done. One useful command line - option to know here is the <option>-cc</option> option. You - can use <parameter>all</>, <parameter>to</>, <parameter>cc</>, - <parameter>me</> after the <option>-cc</option> option to have - <command>repl</> automatically add the various addresses to - the cc list in the message. You have probably noticed that the - original message isn't included. This is because most MH - setups are configured to do this from the start.</para> - </sect2> - - <sect2> - <title><filename>components</>, and - <filename>replcomps</>—components files for - <command>comp</> and <command>repl</></title> - - <para>The <filename>components</> file is usually in - <filename>/usr/local/lib/mh</filename>. You can copy that file - into your MH Mail directory and edit to contain what you want - it to contain. It is a fairly basic file. You have various - email headers at the top, a dashed line and then nothing. The - <command>comp</command> command just copies this - <filename>components</> file and then edits it. You can add - any kind of valid RFC822 header you want. For instance you - could have something like this in your <filename>components</> - file:</para> - - <informalexample> - <screen>To: -Fcc: out -Subject: -X-Mailer: MH 6.8.3 -X-Home-Page: http://www.FreeBSD.org/ -------- - </screen> - </informalexample> - - <para>MH would then copy this components file and throw you into - your editor. The <filename>components</> file is fairly - simple. If you wanted to have a signature on those messages - you would just put your signature in that - <filename>components</> file.</para> - - <para>The <filename>replcomps</> file is a bit more complex. The - default <filename>replcomps</> looks like this:</para> - - <informalexample> - <screen>%(lit)%(formataddr %<{reply-to}%?{from}%?{sender}%?{return-path}%>)\ -%<(nonnull)%(void(width))%(putaddr To: )\n%>\ -%(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\ -%<(nonnull)%(void(width))%(putaddr cc: )\n%>\ -%<{fcc}Fcc: %{fcc}\n%>\ -%<{subject}Subject: Re: %{subject}\n%>\ -%<{date}In-reply-to: Your message of "\ -%<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id} - %{message-id}%>\n%>\ --------- - </screen> - </informalexample> - - <para>It's in the same basic format as the - <filename>components</> file but it contains quite a few extra - formatting codes. The <literal>%(lit)</> command makes room - for the address. The <literal>%(formataddr</> is a function - that returns a proper email address. The next part is - <literal>%<</literal> which means if and the - <literal>{reply-to}</> means the reply-to field in the - original message. So that might be translated this way:</para> - - <informalexample> - <screen>%<<emphasis remap=bf>if</emphasis> {reply-to} <emphasis remap=bf>the original message has a reply-to</emphasis> -then give that to formataddr, %? <emphasis remap=bf>else</emphasis> {from} <emphasis remap=bf>take the -from address</emphasis>, %? <emphasis remap=bf>else</emphasis> {sender} <emphasis remap=bf>take the sender address</emphasis>, %? -<emphasis remap=bf>else</emphasis> {return-path} <emphasis remap=bf>take the return-path from the original -message</emphasis>, %> <emphasis remap=bf>endif</emphasis>. - </screen> - </informalexample> - - <para>As you can tell MH formatting can get rather involved. You - can probably decipher what most of the other functions and - variables mean. All of the information on writing these format - strings is in the MH-Format man page. The really nice thing is - that once you have built your customized - <filename>replcomps</> file you won't need to touch it again. - No other email program really gives you the power and - flexibility that MH gives you.</para> - </sect2> - </sect1> -</article> |