|
Lines 35-41
Link Here
|
| 35 |
initial philosophies behind MH were developed. MH isn't so much |
35 |
initial philosophies behind MH were developed. MH isn't so much |
| 36 |
a monolithic email program but a philosophy about how best to |
36 |
a monolithic email program but a philosophy about how best to |
| 37 |
develop tools for reading email. The MH developers have done a |
37 |
develop tools for reading email. The MH developers have done a |
| 38 |
great job adhering to the <acronym>KISS</> principle: Keep It |
38 |
great job adhering to the <acronym>KISS</acronym> principle: Keep It |
| 39 |
Simple Stupid. Rather than have one large program for reading, |
39 |
Simple Stupid. Rather than have one large program for reading, |
| 40 |
sending and handling email they have written specialized |
40 |
sending and handling email they have written specialized |
| 41 |
programs for each part of your email life. One might liken MH to |
41 |
programs for each part of your email life. One might liken MH to |
|
Lines 64-72
Link Here
|
| 64 |
</screen> |
64 |
</screen> |
| 65 |
</informalexample> |
65 |
</informalexample> |
| 66 |
|
66 |
|
| 67 |
You will notice that it created a <filename>/usr/local/lib/mh</> |
67 |
You will notice that it created a <filename>/usr/local/lib/mh</filename> |
| 68 |
directory for you as well as adding several binaries to the |
68 |
directory for you as well as adding several binaries to the |
| 69 |
<filename>/usr/local/bin</> directory. If you would prefer to |
69 |
<filename>/usr/local/bin</filename> directory. If you would prefer to |
| 70 |
compile it yourself then you can anonymous ftp it from <ulink |
70 |
compile it yourself then you can anonymous ftp it from <ulink |
| 71 |
URL="ftp://ftp.ics.uci.edu/">ftp.ics.uci.edu</ulink> or <ulink |
71 |
URL="ftp://ftp.ics.uci.edu/">ftp.ics.uci.edu</ulink> or <ulink |
| 72 |
URL="ftp://louie.udel.edu/">louie.udel.edu</ulink>.</para> |
72 |
URL="ftp://louie.udel.edu/">louie.udel.edu</ulink>.</para> |
|
Lines 85-117
Link Here
|
| 85 |
<sect1> |
85 |
<sect1> |
| 86 |
<title>Reading Mail</title> |
86 |
<title>Reading Mail</title> |
| 87 |
|
87 |
|
| 88 |
<para>This section covers how to use <command>inc</>, |
88 |
<para>This section covers how to use <command>inc</command>, |
| 89 |
<command>show</>, <command>scan</>, <command>next</>, |
89 |
<command>show</command>, <command>scan</command>, <command>next</command>, |
| 90 |
<command>prev</>, <command>rmm</>, <command>rmf</>, and |
90 |
<command>prev</command>, <command>rmm</command>, <command>rmf</command>, and |
| 91 |
<command>msgchk</>. One of the best things about MH is the |
91 |
<command>msgchk</command>. One of the best things about MH is the |
| 92 |
consistent interface between programs. A few things to keep in |
92 |
consistent interface between programs. A few things to keep in |
| 93 |
mind when using these commands is how to specify message lists. |
93 |
mind when using these commands is how to specify message lists. |
| 94 |
In the case of <command>inc</> this doesn't really make any |
94 |
In the case of <command>inc</command> this doesn't really make any |
| 95 |
sense but with commands like <command>show</> it is useful to |
95 |
sense but with commands like <command>show</command> it is useful to |
| 96 |
know. </para> |
96 |
know. </para> |
| 97 |
|
97 |
|
| 98 |
<para>A message list can consist of something like <parameter>23 |
98 |
<para>A message list can consist of something like <parameter>23 |
| 99 |
20 16</> which will act on messages 23, 20 and 16. This is |
99 |
20 16</parameter> which will act on messages 23, 20 and 16. This is |
| 100 |
fairly simple but you can do more useful things like |
100 |
fairly simple but you can do more useful things like |
| 101 |
<parameter>23-30</> which will act on all the messages between |
101 |
<parameter>23-30</parameter> which will act on all the messages between |
| 102 |
23 and 30. You can also specify something like |
102 |
23 and 30. You can also specify something like |
| 103 |
<parameter>cur:10</> which will act on the current message and |
103 |
<parameter>cur:10</parameter> which will act on the current message and |
| 104 |
the next 9 messages. The <parameter>cur</>, <parameter>last</>, |
104 |
the next 9 messages. The <parameter>cur</parameter>, <parameter>last</parameter>, |
| 105 |
and <parameter>first</> messages are special messages that refer |
105 |
and <parameter>first</parameter> messages are special messages that refer |
| 106 |
to the current, last or first message in the folder.</para> |
106 |
to the current, last or first message in the folder.</para> |
| 107 |
|
107 |
|
| 108 |
<sect2 id="inc"> |
108 |
<sect2 id="inc"> |
| 109 |
<title><command>inc</>, <command>msgchk</>—read in your |
109 |
<title><command>inc</command>, <command>msgchk</command>—read in your |
| 110 |
new email or check it</title> |
110 |
new email or check it</title> |
| 111 |
|
111 |
|
| 112 |
<para>If you just type in <userinput>inc</> and hit |
112 |
<para>If you just type in <userinput>inc</userinput> and hit |
| 113 |
<keycap>return</> you will be well on your way to getting |
113 |
<keycap>return</keycap> you will be well on your way to getting |
| 114 |
started with MH. The first time you run <command>inc</> it |
114 |
started with MH. The first time you run <command>inc</command> it |
| 115 |
will setup your account to use all the MH defaults and ask you |
115 |
will setup your account to use all the MH defaults and ask you |
| 116 |
about creating a Mail directory. If you have mail waiting to |
116 |
about creating a Mail directory. If you have mail waiting to |
| 117 |
be downloaded you will see something that looks like:</para> |
117 |
be downloaded you will see something that looks like:</para> |
|
Lines 126-170
Link Here
|
| 126 |
</informalexample> |
126 |
</informalexample> |
| 127 |
|
127 |
|
| 128 |
<para>This is the same thing you will see from a |
128 |
<para>This is the same thing you will see from a |
| 129 |
<command>scan</> (see <xref linkend="scan">). If you just run |
129 |
<command>scan</command> (see <xref linkend="scan">). If you just run |
| 130 |
<command>inc</> with no arguments it will look on your |
130 |
<command>inc</command> with no arguments it will look on your |
| 131 |
computer for email that is supposed to be coming to |
131 |
computer for email that is supposed to be coming to |
| 132 |
you.</para> |
132 |
you.</para> |
| 133 |
|
133 |
|
| 134 |
<para>A lot of people like to use POP for grabbing their email. |
134 |
<para>A lot of people like to use POP for grabbing their email. |
| 135 |
MH can do POP to grab your email. You will need to give |
135 |
MH can do POP to grab your email. You will need to give |
| 136 |
<command>inc</> a few command line arguments.</para> |
136 |
<command>inc</command> a few command line arguments.</para> |
| 137 |
|
137 |
|
| 138 |
<informalexample> |
138 |
<informalexample> |
| 139 |
<screen>&prompt.user; <userinput>inc -host mail.pop.org -user <replaceable>username</> -norpop</> |
139 |
<screen>&prompt.user; <userinput>inc -host mail.pop.org -user <replaceable>username</> -norpop</> |
| 140 |
</screen> |
140 |
</screen> |
| 141 |
</informalexample> |
141 |
</informalexample> |
| 142 |
|
142 |
|
| 143 |
<para>That tells <command>inc</> to go to |
143 |
<para>That tells <command>inc</command> to go to |
| 144 |
<parameter>mail.pop.org</> to download your email, and that |
144 |
<parameter>mail.pop.org</parameter> to download your email, and that |
| 145 |
your username on their system is <replaceable>username</>. The |
145 |
your username on their system is <replaceable>username</replaceable>. The |
| 146 |
<option>-norpop</option> option tells <command>inc</> to use |
146 |
<option>-norpop</option> option tells <command>inc</command> to use |
| 147 |
plain POP3 for downloading your email. MH has support for a |
147 |
plain POP3 for downloading your email. MH has support for a |
| 148 |
few different dialects of POP. More than likely you will never |
148 |
few different dialects of POP. More than likely you will never |
| 149 |
ever need to use them though. While you can do more complex |
149 |
ever need to use them though. While you can do more complex |
| 150 |
things with inc such as audit files and scan format files this |
150 |
things with inc such as audit files and scan format files this |
| 151 |
will get you going.</para> |
151 |
will get you going.</para> |
| 152 |
|
152 |
|
| 153 |
<para>The <command>msgchk</> command is used to get information |
153 |
<para>The <command>msgchk</command> command is used to get information |
| 154 |
on whether or not you have new email. <command>msgchk</> takes |
154 |
on whether or not you have new email. <command>msgchk</command> takes |
| 155 |
the same <option>-host</option> and <option>-user</option> |
155 |
the same <option>-host</option> and <option>-user</option> |
| 156 |
options that <command>inc</> takes.</para> |
156 |
options that <command>inc</command> takes.</para> |
| 157 |
</sect2> |
157 |
</sect2> |
| 158 |
|
158 |
|
| 159 |
<sect2 id="show"> |
159 |
<sect2 id="show"> |
| 160 |
<title><command>show</>, <command>next</> and |
160 |
<title><command>show</command>, <command>next</command> and |
| 161 |
<command>prev</>—displaying and moving through |
161 |
<command>prev</command>—displaying and moving through |
| 162 |
email</title> |
162 |
email</title> |
| 163 |
|
163 |
|
| 164 |
<para><command>show</> is to show a letter in your current |
164 |
<para><command>show</command> is to show a letter in your current |
| 165 |
folder. Like <command>inc</>, <command>show</> is a fairly |
165 |
folder. Like <command>inc</command>, <command>show</command> is a fairly |
| 166 |
straightforward command. If you just type <userinput>show</> |
166 |
straightforward command. If you just type <userinput>show</userinput> |
| 167 |
and hit <keycap>return</> then it displays the current |
167 |
and hit <keycap>return</keycap> then it displays the current |
| 168 |
message. You can also give specific message numbers to |
168 |
message. You can also give specific message numbers to |
| 169 |
show:</para> |
169 |
show:</para> |
| 170 |
|
170 |
|
|
Lines 175-197
Link Here
|
| 175 |
|
175 |
|
| 176 |
<para>This would display message numbers 32, 45 and 56 right |
176 |
<para>This would display message numbers 32, 45 and 56 right |
| 177 |
after each other. Unless you change the default behavior |
177 |
after each other. Unless you change the default behavior |
| 178 |
<command>show</> basically just does a <command>more</> on the |
178 |
<command>show</command> basically just does a <command>more</command> on the |
| 179 |
email message.</para> |
179 |
email message.</para> |
| 180 |
|
180 |
|
| 181 |
<para><command>next</> is used to move onto the next message and |
181 |
<para><command>next</command> is used to move onto the next message and |
| 182 |
<command>prev</> will go to the previous message. Both |
182 |
<command>prev</command> will go to the previous message. Both |
| 183 |
commands have an implied <command>show</> command so that when |
183 |
commands have an implied <command>show</command> command so that when |
| 184 |
you go to the next message it automatically displays |
184 |
you go to the next message it automatically displays |
| 185 |
it.</para> |
185 |
it.</para> |
| 186 |
</sect2> |
186 |
</sect2> |
| 187 |
|
187 |
|
| 188 |
<sect2 id="scan"> |
188 |
<sect2 id="scan"> |
| 189 |
<title><command>scan</>—shows you a scan of your |
189 |
<title><command>scan</command>—shows you a scan of your |
| 190 |
messages</title> |
190 |
messages</title> |
| 191 |
|
191 |
|
| 192 |
<para><command>scan</> will display a brief listing of the |
192 |
<para><command>scan</command> will display a brief listing of the |
| 193 |
messages in your current folder. This is an example of what |
193 |
messages in your current folder. This is an example of what |
| 194 |
the <command>scan</> command will give you.</para> |
194 |
the <command>scan</command> command will give you.</para> |
| 195 |
|
195 |
|
| 196 |
<informalexample> |
196 |
<informalexample> |
| 197 |
<screen> 30+ 01/16 "Jordan K. Hubbar Re: FBSD 2.1<<> Do you want a library instead of |
197 |
<screen> 30+ 01/16 "Jordan K. Hubbar Re: FBSD 2.1<<> Do you want a library instead of |
|
Lines 205-236
Link Here
|
| 205 |
configurable. This is the typical default display. It gives |
205 |
configurable. This is the typical default display. It gives |
| 206 |
you the message number, the date on the email, the sender, the |
206 |
you the message number, the date on the email, the sender, the |
| 207 |
subject line, and a sentence fragment from the very beginning |
207 |
subject line, and a sentence fragment from the very beginning |
| 208 |
of the email if it can fit it. The <literal>+</> means that |
208 |
of the email if it can fit it. The <literal>+</literal> means that |
| 209 |
message is the current message, so if you do a |
209 |
message is the current message, so if you do a |
| 210 |
<command>show</> it will display that message.</para> |
210 |
<command>show</command> it will display that message.</para> |
| 211 |
|
211 |
|
| 212 |
<para>One useful option for scan is the |
212 |
<para>One useful option for scan is the |
| 213 |
<option>-reverse</option> option. This will list your messages |
213 |
<option>-reverse</option> option. This will list your messages |
| 214 |
with the highest message number first and lowest message |
214 |
with the highest message number first and lowest message |
| 215 |
number last. Another useful option with <command>scan</> is to |
215 |
number last. Another useful option with <command>scan</command> is to |
| 216 |
have it read from a file. If you want to scan your incoming |
216 |
have it read from a file. If you want to scan your incoming |
| 217 |
mailbox on FreeBSD without having to <command>inc</> it you |
217 |
mailbox on FreeBSD without having to <command>inc</command> it you |
| 218 |
can do <command>scan -file |
218 |
can do <command>scan -file |
| 219 |
/var/mail/<replaceable>username</></command>. This can be used |
219 |
/var/mail/<replaceable>username</replaceable></command>. This can be used |
| 220 |
with any file that is in the <database>mbox</> format.</para> |
220 |
with any file that is in the <database>mbox</database> format.</para> |
| 221 |
</sect2> |
221 |
</sect2> |
| 222 |
|
222 |
|
| 223 |
<sect2 id="rmm"> |
223 |
<sect2 id="rmm"> |
| 224 |
<title><command>rmm</> and <command>rmf</>—remove the |
224 |
<title><command>rmm</command> and <command>rmf</command>—remove the |
| 225 |
current message or folder</title> |
225 |
current message or folder</title> |
| 226 |
|
226 |
|
| 227 |
<para><command>rmm</> is used to remove a mail message. The |
227 |
<para><command>rmm</command> is used to remove a mail message. The |
| 228 |
default is typically to not actually remove the message but to |
228 |
default is typically to not actually remove the message but to |
| 229 |
rename the file to one that is ignored by the MH commands. You |
229 |
rename the file to one that is ignored by the MH commands. You |
| 230 |
will need to through periodically and physically delete the |
230 |
will need to through periodically and physically delete the |
| 231 |
<quote>removed</> messages.</para> |
231 |
<quote>removed</quote> messages.</para> |
| 232 |
|
232 |
|
| 233 |
<para>The <command>rmf</> command is used to remove folders. |
233 |
<para>The <command>rmf</command> command is used to remove folders. |
| 234 |
This doesn't just rename the files but actually removes the |
234 |
This doesn't just rename the files but actually removes the |
| 235 |
from the hard drive so you should be careful when you use this |
235 |
from the hard drive so you should be careful when you use this |
| 236 |
command.</para> |
236 |
command.</para> |
|
Lines 240-247
Link Here
|
| 240 |
<title>A typical session of reading with MH</title> |
240 |
<title>A typical session of reading with MH</title> |
| 241 |
|
241 |
|
| 242 |
<para>The first thing that you will want to do is |
242 |
<para>The first thing that you will want to do is |
| 243 |
<command>inc</> your new mail. So at a shell prompt just type |
243 |
<command>inc</command> your new mail. So at a shell prompt just type |
| 244 |
in <command>inc</> and hit <keycap>return</>.</para> |
244 |
in <command>inc</command> and hit <keycap>return</keycap>.</para> |
| 245 |
|
245 |
|
| 246 |
<informalexample> |
246 |
<informalexample> |
| 247 |
<screen>&prompt.user; <userinput>inc</> |
247 |
<screen>&prompt.user; <userinput>inc</> |
|
Lines 255-261
Link Here
|
| 255 |
</informalexample> |
255 |
</informalexample> |
| 256 |
|
256 |
|
| 257 |
<para>This shows you the new email that has been added to your |
257 |
<para>This shows you the new email that has been added to your |
| 258 |
mailbox. So the next thing to do is <command>show</> the email |
258 |
mailbox. So the next thing to do is <command>show</command> the email |
| 259 |
and move around.</para> |
259 |
and move around.</para> |
| 260 |
|
260 |
|
| 261 |
<informalexample> |
261 |
<informalexample> |
|
Lines 298-305
Link Here
|
| 298 |
</screen> |
298 |
</screen> |
| 299 |
</informalexample> |
299 |
</informalexample> |
| 300 |
|
300 |
|
| 301 |
<para>The <command>rmm</> removed the current message and the |
301 |
<para>The <command>rmm</command> removed the current message and the |
| 302 |
<command>next</> command moved me on to the next message. Now |
302 |
<command>next</command> command moved me on to the next message. Now |
| 303 |
if I wanted to look at ten most recent messages so I could |
303 |
if I wanted to look at ten most recent messages so I could |
| 304 |
read one of them here is what I would do:</para> |
304 |
read one of them here is what I would do:</para> |
| 305 |
|
305 |
|
|
Lines 320-326
Link Here
|
| 320 |
</informalexample> |
320 |
</informalexample> |
| 321 |
|
321 |
|
| 322 |
<para>Then if I wanted to read message number 27 I would do a |
322 |
<para>Then if I wanted to read message number 27 I would do a |
| 323 |
<userinput>show 27</> and it would be displayed. As you can |
323 |
<userinput>show 27</userinput> and it would be displayed. As you can |
| 324 |
probably tell from this sample session MH is pretty easy to |
324 |
probably tell from this sample session MH is pretty easy to |
| 325 |
use and looking through emails and displaying them is fairly |
325 |
use and looking through emails and displaying them is fairly |
| 326 |
intuitive and easy.</para> |
326 |
intuitive and easy.</para> |
|
Lines 337-355
Link Here
|
| 337 |
the concept of folders. You have undoubtedly come across the |
337 |
the concept of folders. You have undoubtedly come across the |
| 338 |
folders concept using other email programs. MH has folders too. |
338 |
folders concept using other email programs. MH has folders too. |
| 339 |
MH can even do sub-folders of a folder. One thing you should |
339 |
MH can even do sub-folders of a folder. One thing you should |
| 340 |
keep in mind with MH is that when you ran <command>inc</> for |
340 |
keep in mind with MH is that when you ran <command>inc</command> for |
| 341 |
the first time and it asked you if it could create a |
341 |
the first time and it asked you if it could create a |
| 342 |
<filename>Mail</> directory it began storing everything in that |
342 |
<filename>Mail</filename> directory it began storing everything in that |
| 343 |
directory. If you look at that directory you will find a |
343 |
directory. If you look at that directory you will find a |
| 344 |
directory named <filename>inbox</>. The <filename>inbox</> |
344 |
directory named <filename>inbox</filename>. The <filename>inbox</filename> |
| 345 |
directory houses all of your incoming mail that hasn't been |
345 |
directory houses all of your incoming mail that hasn't been |
| 346 |
thrown anywhere else.</para> |
346 |
thrown anywhere else.</para> |
| 347 |
|
347 |
|
| 348 |
<para>Whenever you create a new folder a new directory is going to |
348 |
<para>Whenever you create a new folder a new directory is going to |
| 349 |
be created underneath your MH <filename>Mail</> directory, and |
349 |
be created underneath your MH <filename>Mail</filename> directory, and |
| 350 |
messages in that folder are going to be stored in that |
350 |
messages in that folder are going to be stored in that |
| 351 |
directory. When new email comes in that new email is thrown |
351 |
directory. When new email comes in that new email is thrown |
| 352 |
into your <filename>inbox</> directory with a file name that is |
352 |
into your <filename>inbox</filename> directory with a file name that is |
| 353 |
equivalent to the message number. So even if you didn't have |
353 |
equivalent to the message number. So even if you didn't have |
| 354 |
any of the MH tools to read your email you could still use |
354 |
any of the MH tools to read your email you could still use |
| 355 |
standard UNIX commands to munge around in those directories and |
355 |
standard UNIX commands to munge around in those directories and |
|
Lines 357-384
Link Here
|
| 357 |
a lot of power with what you can do with your email.</para> |
357 |
a lot of power with what you can do with your email.</para> |
| 358 |
|
358 |
|
| 359 |
<para>Just as you can use message lists like <parameter>23 16 |
359 |
<para>Just as you can use message lists like <parameter>23 16 |
| 360 |
42</> with most MH commands there is a folder option you can |
360 |
42</parameter> with most MH commands there is a folder option you can |
| 361 |
specify with just about every MH command. If you do a |
361 |
specify with just about every MH command. If you do a |
| 362 |
<command>scan +freebsd</> it will scan your <filename>freebsd</> |
362 |
<command>scan +freebsd</command> it will scan your <filename>freebsd</filename> |
| 363 |
folder, and your current folder will be changed to |
363 |
folder, and your current folder will be changed to |
| 364 |
<filename>freebsd</>. If you do a <command>show +freebsd 23 16 |
364 |
<filename>freebsd</filename>. If you do a <command>show +freebsd 23 16 |
| 365 |
42</>, <command>show</> is going to switch to your |
365 |
42</command>, <command>show</command> is going to switch to your |
| 366 |
<filename>freebsd</> folder and display messages 23, 16 and 42. |
366 |
<filename>freebsd</filename> folder and display messages 23, 16 and 42. |
| 367 |
So remember that <option>+<replaceable>folder</></> syntax. You |
367 |
So remember that <option>+<replaceable>folder</replaceable></option> syntax. You |
| 368 |
will need to make sure you use it to make commands process |
368 |
will need to make sure you use it to make commands process |
| 369 |
different folders. Remember you default folder for mail is |
369 |
different folders. Remember you default folder for mail is |
| 370 |
<filename>inbox</> so doing a <command>folder +inbox</> should |
370 |
<filename>inbox</filename> so doing a <command>folder +inbox</command> should |
| 371 |
always get you back to your mail. Of course, in MH's infinite |
371 |
always get you back to your mail. Of course, in MH's infinite |
| 372 |
flexibility this can be changed but most places have probably |
372 |
flexibility this can be changed but most places have probably |
| 373 |
left it as <command>inbox</>.</para> |
373 |
left it as <command>inbox</command>.</para> |
| 374 |
|
374 |
|
| 375 |
<sect2> |
375 |
<sect2> |
| 376 |
<title><command>pick</>—search email that matches certain |
376 |
<title><command>pick</command>—search email that matches certain |
| 377 |
criteria</title> |
377 |
criteria</title> |
| 378 |
|
378 |
|
| 379 |
<para><command>pick</> is one of the more complex commands in |
379 |
<para><command>pick</command> is one of the more complex commands in |
| 380 |
the MH system. So you might want to read the |
380 |
the MH system. So you might want to read the |
| 381 |
<citerefentry><refentrytitle>pick</><manvolnum>1</></> man |
381 |
<citerefentry><refentrytitle>pick</refentrytitle><manvolnum>1</manvolnum></citerefentry> man |
| 382 |
page for a more thorough understanding. At its simplest level |
382 |
page for a more thorough understanding. At its simplest level |
| 383 |
you can do something like</para> |
383 |
you can do something like</para> |
| 384 |
|
384 |
|
|
Lines 392-403
Link Here
|
| 392 |
</screen> |
392 |
</screen> |
| 393 |
</informalexample> |
393 |
</informalexample> |
| 394 |
|
394 |
|
| 395 |
<para>This will tell <command>pick</> to look through every |
395 |
<para>This will tell <command>pick</command> to look through every |
| 396 |
single line in every message in your current folder and tell |
396 |
single line in every message in your current folder and tell |
| 397 |
you which message numbers it found the word <literal>pci</> |
397 |
you which message numbers it found the word <literal>pci</literal> |
| 398 |
in. You can then <command>show</> those messages and read them |
398 |
in. You can then <command>show</command> those messages and read them |
| 399 |
if you wish or <command>rmm</> them. You would have to specify |
399 |
if you wish or <command>rmm</command> them. You would have to specify |
| 400 |
something like <command>show 15 42 55-57</> to display them |
400 |
something like <command>show 15 42 55-57</command> to display them |
| 401 |
though. A slightly more useful thing to do is this:</para> |
401 |
though. A slightly more useful thing to do is this:</para> |
| 402 |
|
402 |
|
| 403 |
<informalexample> |
403 |
<informalexample> |
|
Lines 410-425
Link Here
|
| 410 |
<para>This will show you the same messages you just didn't have |
410 |
<para>This will show you the same messages you just didn't have |
| 411 |
to work as hard to do it. The <option>-seq</option> option is |
411 |
to work as hard to do it. The <option>-seq</option> option is |
| 412 |
really an abbreviation of <option>-sequence</option> and |
412 |
really an abbreviation of <option>-sequence</option> and |
| 413 |
<command>pick</> is just a sequence which contains the message |
413 |
<command>pick</command> is just a sequence which contains the message |
| 414 |
numbers that matched. You can use sequences with just about |
414 |
numbers that matched. You can use sequences with just about |
| 415 |
any MH command. So you could have done an <command>rmm pick</> |
415 |
any MH command. So you could have done an <command>rmm pick</command> |
| 416 |
and all those messages would be removed instead. You sequence |
416 |
and all those messages would be removed instead. You sequence |
| 417 |
can be named anything. If you run pick again it will overwrite |
417 |
can be named anything. If you run pick again it will overwrite |
| 418 |
the old sequence if you use the same name.</para> |
418 |
the old sequence if you use the same name.</para> |
| 419 |
|
419 |
|
| 420 |
<para>Doing a <command>pick -search</command> can be a bit more |
420 |
<para>Doing a <command>pick -search</command> can be a bit more |
| 421 |
time consuming than just searching for message from someone, |
421 |
time consuming than just searching for message from someone, |
| 422 |
or to someone. So <command>pick</> allows you to use the |
422 |
or to someone. So <command>pick</command> allows you to use the |
| 423 |
following predefined search criteria:</para> |
423 |
following predefined search criteria:</para> |
| 424 |
|
424 |
|
| 425 |
<variablelist> |
425 |
<variablelist> |
|
Lines 468-474
Link Here
|
| 468 |
|
468 |
|
| 469 |
<listitem> |
469 |
<listitem> |
| 470 |
<para>search for any other component in the header. (i.e. |
470 |
<para>search for any other component in the header. (i.e. |
| 471 |
<option>--reply-to</> to find all emails with a certain |
471 |
<option>--reply-to</option> to find all emails with a certain |
| 472 |
reply-to in the header)</para> |
472 |
reply-to in the header)</para> |
| 473 |
</listitem> |
473 |
</listitem> |
| 474 |
</varlistentry> |
474 |
</varlistentry> |
|
Lines 482-488
Link Here
|
| 482 |
</informalexample> |
482 |
</informalexample> |
| 483 |
|
483 |
|
| 484 |
to get a list of all the email send to the FreeBSD hackers |
484 |
to get a list of all the email send to the FreeBSD hackers |
| 485 |
mailing list. <command>pick</> also allows you to group these |
485 |
mailing list. <command>pick</command> also allows you to group these |
| 486 |
criteria in different ways using the following options:</para> |
486 |
criteria in different ways using the following options:</para> |
| 487 |
|
487 |
|
| 488 |
<itemizedlist> |
488 |
<itemizedlist> |
|
Lines 531-572
Link Here
|
| 531 |
something called operator precedence. Remember in math how you |
531 |
something called operator precedence. Remember in math how you |
| 532 |
evaluate from left to right and you do multiplication and |
532 |
evaluate from left to right and you do multiplication and |
| 533 |
division first and addition and subtraction second? MH has the |
533 |
division first and addition and subtraction second? MH has the |
| 534 |
same type of rules for <command>pick</>. It's fairly complex |
534 |
same type of rules for <command>pick</command>. It's fairly complex |
| 535 |
so you might want to study the man page. This document is just |
535 |
so you might want to study the man page. This document is just |
| 536 |
to help you get acquainted with MH.</para> |
536 |
to help you get acquainted with MH.</para> |
| 537 |
</sect2> |
537 |
</sect2> |
| 538 |
|
538 |
|
| 539 |
<sect2> |
539 |
<sect2> |
| 540 |
<title><command>folder</>, <command>folders</>, |
540 |
<title><command>folder</command>, <command>folders</command>, |
| 541 |
<command>refile</>—three useful programs for folder |
541 |
<command>refile</command>—three useful programs for folder |
| 542 |
maintenance</title> |
542 |
maintenance</title> |
| 543 |
|
543 |
|
| 544 |
<para>There are three programs which are primarily just for |
544 |
<para>There are three programs which are primarily just for |
| 545 |
manipulating your folders. The <command>folder</> program is |
545 |
manipulating your folders. The <command>folder</command> program is |
| 546 |
used to switch between folders, pack them, and list them. At |
546 |
used to switch between folders, pack them, and list them. At |
| 547 |
its simplest level you can do a <command>folder |
547 |
its simplest level you can do a <command>folder |
| 548 |
+<replaceable>newfolder</></> and you will be switched into |
548 |
+<replaceable>newfolder</replaceable></command> and you will be switched into |
| 549 |
<replaceable>newfolder</>. From there on out all your MH |
549 |
<replaceable>newfolder</replaceable>. From there on out all your MH |
| 550 |
commands like <command>comp</>, <command>repl</>, |
550 |
commands like <command>comp</command>, <command>repl</command>, |
| 551 |
<command>scan</>, and <command>show</> will act on that |
551 |
<command>scan</command>, and <command>show</command> will act on that |
| 552 |
<command>newfolder</> folder.</para> |
552 |
<command>newfolder</command> folder.</para> |
| 553 |
|
553 |
|
| 554 |
<para>Sometimes when you are reading and deleting messages you |
554 |
<para>Sometimes when you are reading and deleting messages you |
| 555 |
will develop <quote>holes</> in your folders. If you do a |
555 |
will develop <quote>holes</quote> in your folders. If you do a |
| 556 |
<command>scan</> you might just see messages 34, 35, 36, 43, |
556 |
<command>scan</command> you might just see messages 34, 35, 36, 43, |
| 557 |
55, 56, 57, 80. If you do a <command>folder -pack</command> |
557 |
55, 56, 57, 80. If you do a <command>folder -pack</command> |
| 558 |
this will renumber all your messages so that there are no |
558 |
this will renumber all your messages so that there are no |
| 559 |
holes. It doesn't actually delete any messages though. So you |
559 |
holes. It doesn't actually delete any messages though. So you |
| 560 |
may need to periodically go through and physically delete |
560 |
may need to periodically go through and physically delete |
| 561 |
<command>rmm</>'d messages.</para> |
561 |
<command>rmm</command>'d messages.</para> |
| 562 |
|
562 |
|
| 563 |
<para>If you need statistics on your folders you can do a |
563 |
<para>If you need statistics on your folders you can do a |
| 564 |
<command>folders</> or <command>folder -all</command> to list |
564 |
<command>folders</command> or <command>folder -all</command> to list |
| 565 |
all your folders, how many messages they have, what the |
565 |
all your folders, how many messages they have, what the |
| 566 |
current message is in each one and so on. This line of stats |
566 |
current message is in each one and so on. This line of stats |
| 567 |
it displays for all your folders is the same one you get when |
567 |
it displays for all your folders is the same one you get when |
| 568 |
you change to a folder with <command>folder +foldername</>. A |
568 |
you change to a folder with <command>folder +foldername</command>. A |
| 569 |
<command>folders</> command looks like this:</para> |
569 |
<command>folders</command> command looks like this:</para> |
| 570 |
|
570 |
|
| 571 |
<informalexample> |
571 |
<informalexample> |
| 572 |
<screen> Folder # of messages ( range ); cur msg (other files) |
572 |
<screen> Folder # of messages ( range ); cur msg (other files) |
|
Lines 585-601
Link Here
|
| 585 |
</screen> |
585 |
</screen> |
| 586 |
</informalexample> |
586 |
</informalexample> |
| 587 |
|
587 |
|
| 588 |
<para>The <command>refile</> command is what you use to move |
588 |
<para>The <command>refile</command> command is what you use to move |
| 589 |
messages between folders. When you do something like |
589 |
messages between folders. When you do something like |
| 590 |
<command>refile 23 +netfuture</> message number 23 is moved |
590 |
<command>refile 23 +netfuture</command> message number 23 is moved |
| 591 |
into the <filename>netfuture</> folder. You could also do |
591 |
into the <filename>netfuture</filename> folder. You could also do |
| 592 |
something like <command>refile 23 +netfuture/latest</> which |
592 |
something like <command>refile 23 +netfuture/latest</command> which |
| 593 |
would put message number 23 in a subfolder called |
593 |
would put message number 23 in a subfolder called |
| 594 |
<filename>latest</> under the <filename>netfuture</> folder. |
594 |
<filename>latest</filename> under the <filename>netfuture</filename> folder. |
| 595 |
If you want to keep a message in the current folder and link |
595 |
If you want to keep a message in the current folder and link |
| 596 |
it you can do a <command>refile -link 23 +netfuture</command> |
596 |
it you can do a <command>refile -link 23 +netfuture</command> |
| 597 |
which would keep 23 in your current <filename>inbox</> but |
597 |
which would keep 23 in your current <filename>inbox</filename> but |
| 598 |
also list in your <filename>netfuture</> folder. You are |
598 |
also list in your <filename>netfuture</filename> folder. You are |
| 599 |
probably beginning to realize some of the really powerful |
599 |
probably beginning to realize some of the really powerful |
| 600 |
things you can do with MH.</para> |
600 |
things you can do with MH.</para> |
| 601 |
</sect2> |
601 |
</sect2> |
|
Lines 613-641
Link Here
|
| 613 |
Subject: headers already in it. You are then sent into your |
613 |
Subject: headers already in it. You are then sent into your |
| 614 |
editor where you fill in the header information and then type |
614 |
editor where you fill in the header information and then type |
| 615 |
the body of your message below the dashed lines in the message. |
615 |
the body of your message below the dashed lines in the message. |
| 616 |
Then to the <command>whatnow</> program. When you are at the |
616 |
Then to the <command>whatnow</command> program. When you are at the |
| 617 |
<prompt>What now?</prompt> prompt you can tell it to |
617 |
<prompt>What now?</prompt> prompt you can tell it to |
| 618 |
<command>send</>, <command>list</>, <command>edit</>, |
618 |
<command>send</command>, <command>list</command>, <command>edit</command>, |
| 619 |
<command>edit</>, <command>push</>, and <command>quit</>. Most |
619 |
<command>edit</command>, <command>push</command>, and <command>quit</command>. Most |
| 620 |
of these commands are self-explanatory. So the message sending |
620 |
of these commands are self-explanatory. So the message sending |
| 621 |
process involves copying a component file, editing your email, |
621 |
process involves copying a component file, editing your email, |
| 622 |
and then telling the <command>whatnow</> program what to do with |
622 |
and then telling the <command>whatnow</command> program what to do with |
| 623 |
your email.</para> |
623 |
your email.</para> |
| 624 |
|
624 |
|
| 625 |
<sect2> |
625 |
<sect2> |
| 626 |
<title><command>comp</>, <command>forw</>, |
626 |
<title><command>comp</command>, <command>forw</command>, |
| 627 |
<command>reply</>—compose, forward or reply to a message |
627 |
<command>reply</command>—compose, forward or reply to a message |
| 628 |
to someone</title> |
628 |
to someone</title> |
| 629 |
|
629 |
|
| 630 |
<para>The <command>comp</> program has a few useful command line |
630 |
<para>The <command>comp</command> program has a few useful command line |
| 631 |
options. The most important one to know right now is the |
631 |
options. The most important one to know right now is the |
| 632 |
<option>-editor</option> option. When MH is installed the |
632 |
<option>-editor</option> option. When MH is installed the |
| 633 |
default editor is usually a program called |
633 |
default editor is usually a program called |
| 634 |
<command>prompter</> which comes with MH. It's not a very |
634 |
<command>prompter</command> which comes with MH. It's not a very |
| 635 |
exciting editor and basically just gets the job done. So when |
635 |
exciting editor and basically just gets the job done. So when |
| 636 |
you go to compose a message to someone you might want to use |
636 |
you go to compose a message to someone you might want to use |
| 637 |
<command>comp -editor /usr/bin/vi/</> or <command>comp -editor |
637 |
<command>comp -editor /usr/bin/vi/</command> or <command>comp -editor |
| 638 |
/usr/local/bin/pico/</> instead. Once you have run |
638 |
/usr/local/bin/pico/</command> instead. Once you have run |
| 639 |
<emphasis>comp</emphasis> you are in your editor and you see |
639 |
<emphasis>comp</emphasis> you are in your editor and you see |
| 640 |
something that looks like this:</para> |
640 |
something that looks like this:</para> |
| 641 |
|
641 |
|
|
Lines 648-656
Link Here
|
| 648 |
</informalexample> |
648 |
</informalexample> |
| 649 |
|
649 |
|
| 650 |
<para>You need to put the person you are sending the mail to |
650 |
<para>You need to put the person you are sending the mail to |
| 651 |
after the <literal>To:</> line. It works the same way for the |
651 |
after the <literal>To:</literal> line. It works the same way for the |
| 652 |
other headers also, so you would need to put your subject |
652 |
other headers also, so you would need to put your subject |
| 653 |
after the <literal>Subject:</> line. Then you would just put |
653 |
after the <literal>Subject:</literal> line. Then you would just put |
| 654 |
the body of your message after the dashed lines. It may seem a |
654 |
the body of your message after the dashed lines. It may seem a |
| 655 |
bit simplistic since a lot of email programs have special |
655 |
bit simplistic since a lot of email programs have special |
| 656 |
requesters that ask you for this information but there really |
656 |
requesters that ask you for this information but there really |
|
Lines 667-721
Link Here
|
| 667 |
</informalexample> |
667 |
</informalexample> |
| 668 |
|
668 |
|
| 669 |
<para>You can now save this message and exit your editor. You |
669 |
<para>You can now save this message and exit your editor. You |
| 670 |
will see the <prompt>What now?</> prompt and you can type in |
670 |
will see the <prompt>What now?</prompt> prompt and you can type in |
| 671 |
<userinput>send</> or <userinput>s</> and hit |
671 |
<userinput>send</userinput> or <userinput>s</userinput> and hit |
| 672 |
<keycap>return</>. Then the FreeBSD core team will receive |
672 |
<keycap>return</keycap>. Then the FreeBSD core team will receive |
| 673 |
their just rewards. As I mentioned earlier you can also use |
673 |
their just rewards. As I mentioned earlier you can also use |
| 674 |
other commands, for example <command>quit</> if you don't want |
674 |
other commands, for example <command>quit</command> if you don't want |
| 675 |
to send the message.</para> |
675 |
to send the message.</para> |
| 676 |
|
676 |
|
| 677 |
<para>The <command>forw</> command is stunningly similar. The |
677 |
<para>The <command>forw</command> command is stunningly similar. The |
| 678 |
big difference being that the message you are forwarding is |
678 |
big difference being that the message you are forwarding is |
| 679 |
automatically included in the outgoing message. When you run |
679 |
automatically included in the outgoing message. When you run |
| 680 |
<command>forw</> it will forward your current message. You can |
680 |
<command>forw</command> it will forward your current message. You can |
| 681 |
always tell it to forward something else by doing something |
681 |
always tell it to forward something else by doing something |
| 682 |
like <command>forw 23</> and then message number 23 will be |
682 |
like <command>forw 23</command> and then message number 23 will be |
| 683 |
put in your outgoing message instead of the current message. |
683 |
put in your outgoing message instead of the current message. |
| 684 |
Beyond those small differences <command>forw</> functions |
684 |
Beyond those small differences <command>forw</command> functions |
| 685 |
exactly the same as <command>comp</>. You go through the exact |
685 |
exactly the same as <command>comp</command>. You go through the exact |
| 686 |
same message sending process.</para> |
686 |
same message sending process.</para> |
| 687 |
|
687 |
|
| 688 |
<para>The <command>repl</> command will reply to whatever your |
688 |
<para>The <command>repl</command> command will reply to whatever your |
| 689 |
current message is, unless you give it a different message to |
689 |
current message is, unless you give it a different message to |
| 690 |
reply to. <command>repl</> will do its best to go ahead and |
690 |
reply to. <command>repl</command> will do its best to go ahead and |
| 691 |
fill in some of the email headers already. So you will notice |
691 |
fill in some of the email headers already. So you will notice |
| 692 |
that the <literal>To:</> header already has the address of the |
692 |
that the <literal>To:</literal> header already has the address of the |
| 693 |
recipient in there. Also the <literal>Subject:</> line will |
693 |
recipient in there. Also the <literal>Subject:</literal> line will |
| 694 |
already be filled in. You then go about the normal message |
694 |
already be filled in. You then go about the normal message |
| 695 |
composition process and you are done. One useful command line |
695 |
composition process and you are done. One useful command line |
| 696 |
option to know here is the <option>-cc</option> option. You |
696 |
option to know here is the <option>-cc</option> option. You |
| 697 |
can use <parameter>all</>, <parameter>to</>, <parameter>cc</>, |
697 |
can use <parameter>all</parameter>, <parameter>to</parameter>, <parameter>cc</parameter>, |
| 698 |
<parameter>me</> after the <option>-cc</option> option to have |
698 |
<parameter>me</parameter> after the <option>-cc</option> option to have |
| 699 |
<command>repl</> automatically add the various addresses to |
699 |
<command>repl</command> automatically add the various addresses to |
| 700 |
the cc list in the message. You have probably noticed that the |
700 |
the cc list in the message. You have probably noticed that the |
| 701 |
original message isn't included. This is because most MH |
701 |
original message isn't included. This is because most MH |
| 702 |
setups are configured to do this from the start.</para> |
702 |
setups are configured to do this from the start.</para> |
| 703 |
</sect2> |
703 |
</sect2> |
| 704 |
|
704 |
|
| 705 |
<sect2> |
705 |
<sect2> |
| 706 |
<title><filename>components</>, and |
706 |
<title><filename>components</filename>, and |
| 707 |
<filename>replcomps</>—components files for |
707 |
<filename>replcomps</filename>—components files for |
| 708 |
<command>comp</> and <command>repl</></title> |
708 |
<command>comp</command> and <command>repl</command></title> |
| 709 |
|
709 |
|
| 710 |
<para>The <filename>components</> file is usually in |
710 |
<para>The <filename>components</filename> file is usually in |
| 711 |
<filename>/usr/local/lib/mh</filename>. You can copy that file |
711 |
<filename>/usr/local/lib/mh</filename>. You can copy that file |
| 712 |
into your MH Mail directory and edit to contain what you want |
712 |
into your MH Mail directory and edit to contain what you want |
| 713 |
it to contain. It is a fairly basic file. You have various |
713 |
it to contain. It is a fairly basic file. You have various |
| 714 |
email headers at the top, a dashed line and then nothing. The |
714 |
email headers at the top, a dashed line and then nothing. The |
| 715 |
<command>comp</command> command just copies this |
715 |
<command>comp</command> command just copies this |
| 716 |
<filename>components</> file and then edits it. You can add |
716 |
<filename>components</filename> file and then edits it. You can add |
| 717 |
any kind of valid RFC822 header you want. For instance you |
717 |
any kind of valid RFC822 header you want. For instance you |
| 718 |
could have something like this in your <filename>components</> |
718 |
could have something like this in your <filename>components</filename> |
| 719 |
file:</para> |
719 |
file:</para> |
| 720 |
|
720 |
|
| 721 |
<informalexample> |
721 |
<informalexample> |
|
Lines 729-741
Link Here
|
| 729 |
</informalexample> |
729 |
</informalexample> |
| 730 |
|
730 |
|
| 731 |
<para>MH would then copy this components file and throw you into |
731 |
<para>MH would then copy this components file and throw you into |
| 732 |
your editor. The <filename>components</> file is fairly |
732 |
your editor. The <filename>components</filename> file is fairly |
| 733 |
simple. If you wanted to have a signature on those messages |
733 |
simple. If you wanted to have a signature on those messages |
| 734 |
you would just put your signature in that |
734 |
you would just put your signature in that |
| 735 |
<filename>components</> file.</para> |
735 |
<filename>components</filename> file.</para> |
| 736 |
|
736 |
|
| 737 |
<para>The <filename>replcomps</> file is a bit more complex. The |
737 |
<para>The <filename>replcomps</filename> file is a bit more complex. The |
| 738 |
default <filename>replcomps</> looks like this:</para> |
738 |
default <filename>replcomps</filename> looks like this:</para> |
| 739 |
|
739 |
|
| 740 |
<informalexample> |
740 |
<informalexample> |
| 741 |
<screen>%(lit)%(formataddr %<{reply-to}%?{from}%?{sender}%?{return-path}%>)\ |
741 |
<screen>%(lit)%(formataddr %<{reply-to}%?{from}%?{sender}%?{return-path}%>)\ |
|
Lines 752-763
Link Here
|
| 752 |
</informalexample> |
752 |
</informalexample> |
| 753 |
|
753 |
|
| 754 |
<para>It's in the same basic format as the |
754 |
<para>It's in the same basic format as the |
| 755 |
<filename>components</> file but it contains quite a few extra |
755 |
<filename>components</filename> file but it contains quite a few extra |
| 756 |
formatting codes. The <literal>%(lit)</> command makes room |
756 |
formatting codes. The <literal>%(lit)</literal> command makes room |
| 757 |
for the address. The <literal>%(formataddr</> is a function |
757 |
for the address. The <literal>%(formataddr</literal> is a function |
| 758 |
that returns a proper email address. The next part is |
758 |
that returns a proper email address. The next part is |
| 759 |
<literal>%<</literal> which means if and the |
759 |
<literal>%<</literal> which means if and the |
| 760 |
<literal>{reply-to}</> means the reply-to field in the |
760 |
<literal>{reply-to}</literal> means the reply-to field in the |
| 761 |
original message. So that might be translated this way:</para> |
761 |
original message. So that might be translated this way:</para> |
| 762 |
|
762 |
|
| 763 |
<informalexample> |
763 |
<informalexample> |
|
Lines 774-780
Link Here
|
| 774 |
variables mean. All of the information on writing these format |
774 |
variables mean. All of the information on writing these format |
| 775 |
strings is in the MH-Format man page. The really nice thing is |
775 |
strings is in the MH-Format man page. The really nice thing is |
| 776 |
that once you have built your customized |
776 |
that once you have built your customized |
| 777 |
<filename>replcomps</> file you won't need to touch it again. |
777 |
<filename>replcomps</filename> file you won't need to touch it again. |
| 778 |
No other email program really gives you the power and |
778 |
No other email program really gives you the power and |
| 779 |
flexibility that MH gives you.</para> |
779 |
flexibility that MH gives you.</para> |
| 780 |
</sect2> |
780 |
</sect2> |