diff options
Diffstat (limited to 'en/tutorials/mh')
-rw-r--r-- | en/tutorials/mh/Makefile | 7 | ||||
-rw-r--r-- | en/tutorials/mh/mh.docb | 704 |
2 files changed, 0 insertions, 711 deletions
diff --git a/en/tutorials/mh/Makefile b/en/tutorials/mh/Makefile deleted file mode 100644 index 14a686e6af..0000000000 --- a/en/tutorials/mh/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# $Id: Makefile,v 1.4 1997-07-01 05:38:13 max Exp $ - -DOCS= mh.docb -INDEXLINK= mh.html - -.include "../../web.mk" - diff --git a/en/tutorials/mh/mh.docb b/en/tutorials/mh/mh.docb deleted file mode 100644 index 839f8b7611..0000000000 --- a/en/tutorials/mh/mh.docb +++ /dev/null @@ -1,704 +0,0 @@ -<!-- $Id: mh.docb,v 1.2 1997-07-01 21:38:44 max Exp $ --> -<!-- FreeBSD Documentation Project --> - -<!DOCTYPE BOOK PUBLIC "-//Davenport//DTD DocBook V3.0//EN"> -<book> - -<bookinfo> -<bookbiblio> -<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> - -</bookbiblio> -</bookinfo> - -<chapter 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># <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> - -</chapter> - -<chapter> -<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> - - -<sect1 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: -<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> -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. -<informalexample> -<screen>tempest% <userinput>inc -host mail.pop.org -user <replaceable>username</> -norpop</></screen> -</informalexample> -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> - -</sect1> - -<sect1 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: -<informalexample> -<screen>tempest% <userinput>show 32 45 56</></screen> -</informalexample> -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> - -</sect1> - -<sect1 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. -<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> -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> - -</sect1> - -<sect1 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> - -</sect1> - -<sect1 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</>. -<informalexample> -<screen>tempest% <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 -tempest%</screen> -</informalexample> -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. -<informalexample> -<screen>tempest% <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 - -tempest% <userinput>rmm</> -tempest% <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> - -<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: -<informalexample> -<screen>tempest% <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 -tempest%</screen> -</informalexample> -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> - -</sect1> -</chapter> - -<chapter> -<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> - - -<sect1> -<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 -<informalexample> -<screen>tempest% <userinput>pick -search pci</> -15 -42 -55 -56 -57</screen> -</informalexample> - -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: -<informalexample> -<screen>tempest% <userinput>pick -search pci -seq pick</> -5 hits -tempest% <userinput>show pick</></screen> -</informalexample> -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: - -<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> - -<para>This allows you to do things like -<informalexample> -<screen>tempest% <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: -<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> -These commands allow you to do things like -<informalexample> -<screen>tempest% <userinput>pick -to freebsd-hackers -and -cc freebsd-hackers</></screen> -</informalexample> -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 -<informalexample> -<screen>tempest% <userinput>pick -lbrace -to freebsd-hackers -and - -not -cc freebsd-questions -rbrace -and -subject pci</></screen> -</informalexample></para> - -<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> - -</sect1> - -<sect1> -<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: -<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> - -<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> - -</sect1> -</chapter> - -<chapter> -<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> - - -<sect1> -<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: -<informalexample> -<screen>To: -cc: -Subject: --------- -</screen> -</informalexample></para> - -<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. -<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> -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> - -</sect1> - -<sect1> -<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: -<informalexample> -<screen>To: -Fcc: out -Subject: -X-Mailer: MH 6.8.3 -X-Home-Page: http://www.freebsd.org/ --------</screen> -</informalexample> - -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: -<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> - -<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: -<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> - -<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> - -</sect1> -</chapter> -</book> |