Mercurial > emacs
annotate doc/misc/gnus-faq.texi @ 92998:98176f05203c
*** empty log message ***
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Sun, 16 Mar 2008 01:53:42 +0000 |
parents | 5d58981e6690 |
children | a789a1138b08 |
rev | line source |
---|---|
84299 | 1 @c \input texinfo @c -*-texinfo-*- |
2 @c Uncomment 1st line before texing this file alone. | |
3 @c %**start of header | |
87903 | 4 @c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
5 @c 2008 Free Software Foundation, Inc. | |
84299 | 6 @c |
7 @c Do not modify this file, it was generated from gnus-faq.xml, available from | |
8 @c <URL:http://my.gnus.org/FAQ/>. | |
9 @c | |
10 @setfilename gnus-faq.info | |
11 @settitle Frequently Asked Questions | |
12 @c %**end of header | |
13 @c | |
14 | |
15 @node Frequently Asked Questions | |
16 @section Frequently Asked Questions | |
17 | |
18 @menu | |
19 * FAQ - Changes:: | |
20 * FAQ - Introduction:: About Gnus and this FAQ. | |
21 * FAQ 1 - Installation FAQ:: Installation of Gnus. | |
22 * FAQ 2 - Startup / Group buffer:: Start up questions and the | |
23 first buffer Gnus shows you. | |
24 * FAQ 3 - Getting Messages:: Making Gnus read your mail | |
25 and news. | |
26 * FAQ 4 - Reading messages:: How to efficiently read | |
27 messages. | |
28 * FAQ 5 - Composing messages:: Composing mails or Usenet | |
29 postings. | |
30 * FAQ 6 - Old messages:: Importing, archiving, | |
31 searching and deleting messages. | |
32 * FAQ 7 - Gnus in a dial-up environment:: Reading mail and news while | |
33 offline. | |
34 * FAQ 8 - Getting help:: When this FAQ isn't enough. | |
35 * FAQ 9 - Tuning Gnus:: How to make Gnus faster. | |
36 * FAQ - Glossary:: Terms used in the FAQ | |
37 explained. | |
38 @end menu | |
39 | |
40 @subheading Abstract | |
41 | |
42 This is the new Gnus Frequently Asked Questions list. | |
43 If you have a Web browser, the official hypertext version is at | |
44 @uref{http://my.gnus.org/FAQ/}, | |
45 the Docbook source is available from | |
46 @uref{http://sourceforge.net/projects/gnus/, http://sourceforge.net}. | |
47 | |
48 Please submit features and suggestions to the | |
49 @email{faq-discuss@@my.gnus.org, FAQ discussion list}. | |
50 The list is protected against junk mail with | |
51 @uref{http://smarden.org/qconfirm/index.html, qconfirm}. As | |
52 a subscriber, your submissions will automatically pass. You can | |
53 also subscribe to the list by sending a blank email to | |
54 @email{faq-discuss-subscribe@@my.gnus.org, faq-discuss-subscribe@@my.gnus.org} | |
55 and @uref{http://mail1.kens.com/cgi-bin/ezmlm-browse?command=monthbythread%26list=faq-discuss, browse | |
56 the archive (BROKEN)}. | |
57 | |
58 @node FAQ - Changes | |
59 @subheading Changes | |
60 | |
61 | |
62 | |
63 @itemize @bullet | |
64 | |
65 @item | |
66 Updated FAQ to reflect release of Gnus 5.10 and start of | |
67 No Gnus development. | |
68 @end itemize | |
69 | |
70 @node FAQ - Introduction | |
71 @subheading Introduction | |
72 | |
73 This is the Gnus Frequently Asked Questions list. | |
74 | |
75 Gnus is a Usenet Newsreader and Electronic Mail User Agent implemented | |
76 as a part of Emacs. It's been around in some form for almost a decade | |
77 now, and has been distributed as a standard part of Emacs for much of | |
78 that time. Gnus 5 is the latest (and greatest) incarnation. The | |
79 original version was called GNUS, and was written by Masanobu UMEDA. | |
80 When autumn crept up in '94, Lars Magne Ingebrigtsen grew bored and | |
81 decided to rewrite Gnus. | |
82 | |
83 Its biggest strength is the fact that it is extremely | |
84 customizable. It is somewhat intimidating at first glance, but | |
85 most of the complexity can be ignored until you're ready to take | |
86 advantage of it. If you receive a reasonable volume of e-mail | |
87 (you're on various mailing lists), or you would like to read | |
88 high-volume mailing lists but cannot keep up with them, or read | |
89 high volume newsgroups or are just bored, then Gnus is what you | |
90 want. | |
91 | |
92 This FAQ was maintained by Justin Sheehy until March 2002. He | |
93 would like to thank Steve Baur and Per Abrahamsen for doing a wonderful | |
94 job with this FAQ before him. We would like to do the same - thanks, | |
95 Justin! | |
96 | |
97 If you have a Web browser, the official hypertext version is at: | |
98 @uref{http://my.gnus.org/FAQ/}. | |
99 This version is much nicer than the unofficial hypertext | |
100 versions that are archived at Utrecht, Oxford, Smart Pages, Ohio | |
101 State, and other FAQ archives. See the resources question below | |
102 if you want information on obtaining it in another format. | |
103 | |
104 The information contained here was compiled with the assistance | |
105 of the Gnus development mailing list, and any errors or | |
106 misprints are the my.gnus.org team's fault, sorry. | |
107 | |
108 @node FAQ 1 - Installation FAQ | |
109 @subsection Installation FAQ | |
110 | |
111 @menu | |
112 * [1.1]:: What is the latest version of Gnus? | |
113 * [1.2]:: What's new in 5.10? | |
114 * [1.3]:: Where and how to get Gnus? | |
115 * [1.4]:: What to do with the tarball now? | |
116 * [1.5]:: I sometimes read references to No Gnus and Oort Gnus, what | |
117 are those? | |
118 * [1.6]:: Which version of Emacs do I need? | |
119 * [1.7]:: How do I run Gnus on both Emacs and XEmacs? | |
120 @end menu | |
121 | |
122 @node [1.1] | |
123 @subsubheading Question 1.1 | |
124 | |
125 What is the latest version of Gnus? | |
126 | |
127 @subsubheading Answer | |
128 | |
129 Jingle please: Gnus 5.10 is released, get it while it's | |
130 hot! As well as the step in version number is rather | |
131 small, Gnus 5.10 has tons of new features which you | |
85713
f023b81ee7b4
* gnus.texi, gnus-faq.texi, message.texi: Bump version to Gnus v5.13.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
85712
diff
changeset
|
132 shouldn't miss. The current release (5.13) should be at |
84299 | 133 least as stable as the latest release of the 5.8 series. |
134 | |
135 @node [1.2] | |
136 @subsubheading Question 1.2 | |
137 | |
138 What's new in 5.10? | |
139 | |
140 @subsubheading Answer | |
141 | |
142 First of all, you should have a look into the file | |
143 GNUS-NEWS in the toplevel directory of the Gnus tarball, | |
144 there the most important changes are listed. Here's a | |
145 short list of the changes I find especially | |
146 important/interesting: | |
147 | |
148 @itemize @bullet | |
149 | |
150 @item | |
151 Major rewrite of the Gnus agent, Gnus agent is now | |
152 active by default. | |
153 | |
154 @item | |
155 Many new article washing functions for dealing with | |
156 ugly formatted articles. | |
157 | |
158 @item | |
159 Anti Spam features. | |
160 | |
161 @item | |
162 Message-utils now included in Gnus. | |
163 | |
164 @item | |
165 New format specifiers for summary lines, e.g. %B for | |
166 a complex trn-style thread tree. | |
167 @end itemize | |
168 | |
169 @node [1.3] | |
170 @subsubheading Question 1.3 | |
171 | |
172 Where and how to get Gnus? | |
173 | |
174 @subsubheading Answer | |
175 | |
176 Gnus is released independent from releases of Emacs and XEmacs. | |
177 Therefore, the version bundled with Emacs or the version in XEmacs' | |
178 package system might not be up to date (e.g. Gnus 5.9 bundled with Emacs | |
179 20 is outdated). | |
180 @c | |
181 You can get the latest released version of Gnus from | |
182 @uref{http://www.gnus.org/dist/gnus.tar.gz} or via anonymous FTP from | |
183 @uref{ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz}. | |
184 | |
185 @node [1.4] | |
186 @subsubheading Question 1.4 | |
187 | |
188 What to do with the tarball now? | |
189 | |
190 @subsubheading Answer | |
191 | |
192 Untar it via @samp{tar xvzf gnus.tar.gz} and do the common | |
193 @samp{./configure; make; make install} circle. | |
194 (under MS-Windows either get the Cygwin environment from | |
195 @uref{http://www.cygwin.com} | |
196 which allows you to do what's described above or unpack the | |
197 tarball with some packer (e.g. Winace from | |
198 @uref{http://www.winace.com}) | |
199 and use the batch-file make.bat included in the tarball to install | |
200 Gnus.) If you don't want to (or aren't allowed to) install Gnus | |
201 system-wide, you can install it in your home directory and add the | |
202 following lines to your ~/.xemacs/init.el or ~/.emacs: | |
203 | |
204 @example | |
205 (add-to-list 'load-path "/path/to/gnus/lisp") | |
206 (if (featurep 'xemacs) | |
207 (add-to-list 'Info-directory-list "/path/to/gnus/texi/") | |
208 (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/")) | |
209 @end example | |
210 @noindent | |
211 | |
212 Make sure that you don't have any Gnus related stuff | |
213 before this line, on MS Windows use something like | |
214 "C:/path/to/lisp" (yes, "/"). | |
215 | |
216 @node [1.5] | |
217 @subsubheading Question 1.5 | |
218 | |
219 I sometimes read references to No Gnus and Oort Gnus, | |
220 what are those? | |
221 | |
222 @subsubheading Answer | |
223 | |
224 Oort Gnus was the name of the development version of | |
225 Gnus, which became Gnus 5.10 in autumn 2003. No Gnus is | |
226 the name of the current development version which will | |
227 once become Gnus 5.12 or Gnus 6. (If you're wondering why | |
228 not 5.11, the odd version numbers are normally used for | |
229 the Gnus versions bundled with Emacs) | |
230 | |
231 @node [1.6] | |
232 @subsubheading Question 1.6 | |
233 | |
234 Which version of Emacs do I need? | |
235 | |
236 @subsubheading Answer | |
237 | |
238 Gnus 5.10 requires an Emacs version that is greater than or equal | |
239 to Emacs 20.7 or XEmacs 21.1. | |
240 The development versions of Gnus (aka No Gnus) requires Emacs 21 | |
241 or XEmacs 21.4. | |
242 | |
243 @node [1.7] | |
244 @subsubheading Question 1.7 | |
245 | |
246 How do I run Gnus on both Emacs and XEmacs? | |
247 | |
248 @subsubheading Answer | |
249 | |
250 You can't use the same copy of Gnus in both as the Lisp | |
251 files are byte-compiled to a format which is different | |
252 depending on which Emacs did the compilation. Get one copy | |
253 of Gnus for Emacs and one for XEmacs. | |
254 | |
255 @node FAQ 2 - Startup / Group buffer | |
256 @subsection Startup / Group buffer | |
257 | |
258 @menu | |
259 * [2.1]:: Every time I start Gnus I get a message "Gnus auto-save | |
260 file exists. Do you want to read it?", what does this mean and | |
261 how to prevent it? | |
262 * [2.2]:: Gnus doesn't remember which groups I'm subscribed to, | |
263 what's this? | |
264 * [2.3]:: How to change the format of the lines in Group buffer? | |
265 * [2.4]:: My group buffer becomes a bit crowded, is there a way to | |
266 sort my groups into categories so I can easier browse through | |
267 them? | |
268 * [2.5]:: How to manually sort the groups in Group buffer? How to | |
269 sort the groups in a topic? | |
270 @end menu | |
271 | |
272 @node [2.1] | |
273 @subsubheading Question 2.1 | |
274 | |
275 Every time I start Gnus I get a message "Gnus auto-save | |
276 file exists. Do you want to read it?", what does this mean | |
277 and how to prevent it? | |
278 | |
279 @subsubheading Answer | |
280 | |
281 This message means that the last time you used Gnus, it | |
282 wasn't properly exited and therefor couldn't write its | |
283 informations to disk (e.g. which messages you read), you | |
284 are now asked if you want to restore those informations | |
285 from the auto-save file. | |
286 | |
287 To prevent this message make sure you exit Gnus | |
288 via @samp{q} in group buffer instead of | |
289 just killing Emacs. | |
290 | |
291 @node [2.2] | |
292 @subsubheading Question 2.2 | |
293 | |
294 Gnus doesn't remember which groups I'm subscribed to, | |
295 what's this? | |
296 | |
297 @subsubheading Answer | |
298 | |
299 You get the message described in the q/a pair above while | |
300 starting Gnus, right? It's an other symptom for the same | |
301 problem, so read the answer above. | |
302 | |
303 @node [2.3] | |
304 @subsubheading Question 2.3 | |
305 | |
306 How to change the format of the lines in Group buffer? | |
307 | |
308 @subsubheading Answer | |
309 | |
310 You've got to tweak the value of the variable | |
311 gnus-group-line-format. See the manual node "Group Line | |
312 Specification" for information on how to do this. An | |
313 example for this (guess from whose .gnus :-)): | |
314 | |
315 @example | |
316 (setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n") | |
317 @end example | |
318 @noindent | |
319 | |
320 @node [2.4] | |
321 @subsubheading Question 2.4 | |
322 | |
323 My group buffer becomes a bit crowded, is there a way to | |
324 sort my groups into categories so I can easier browse | |
325 through them? | |
326 | |
327 @subsubheading Answer | |
328 | |
329 Gnus offers the topic mode, it allows you to sort your | |
330 groups in, well, topics, e.g. all groups dealing with | |
331 Linux under the topic linux, all dealing with music under | |
332 the topic music and all dealing with scottish music under | |
333 the topic scottish which is a subtopic of music. | |
334 | |
335 To enter topic mode, just hit t while in Group buffer. Now | |
336 you can use @samp{T n} to create a topic | |
337 at point and @samp{T m} to move a group to | |
338 a specific topic. For more commands see the manual or the | |
339 menu. You might want to include the %P specifier at the | |
340 beginning of your gnus-group-line-format variable to have | |
341 the groups nicely indented. | |
342 | |
343 @node [2.5] | |
344 @subsubheading Question 2.5 | |
345 | |
346 How to manually sort the groups in Group buffer? How to | |
347 sort the groups in a topic? | |
348 | |
349 @subsubheading Answer | |
350 | |
351 Move point over the group you want to move and | |
352 hit @samp{C-k}, now move point to the | |
353 place where you want the group to be and | |
354 hit @samp{C-y}. | |
355 | |
356 @node FAQ 3 - Getting Messages | |
357 @subsection Getting Messages | |
358 | |
359 @menu | |
360 * [3.1]:: I just installed Gnus, started it via @samp{M-x gnus} | |
361 but it only says "nntp (news) open error", what to do? | |
362 * [3.2]:: I'm working under Windows and have no idea what ~/.gnus.el | |
363 means. | |
364 * [3.3]:: My news server requires authentication, how to store user | |
365 name and password on disk? | |
366 * [3.4]:: Gnus seems to start up OK, but I can't find out how to | |
367 subscribe to a group. | |
368 * [3.5]:: Gnus doesn't show all groups / Gnus says I'm not allowed | |
369 to post on this server as well as I am, what's that? | |
370 * [3.6]:: I want Gnus to fetch news from several servers, is this | |
371 possible? | |
372 * [3.7]:: And how about local spool files? | |
373 * [3.8]:: OK, reading news works now, but I want to be able to read | |
374 my mail with Gnus, too. How to do it? | |
375 * [3.9]:: And what about IMAP? | |
376 * [3.10]:: At the office we use one of those MS Exchange servers, can | |
377 I use Gnus to read my mail from it? | |
378 * [3.11]:: Can I tell Gnus not to delete the mails on the server it | |
379 retrieves via POP3? | |
380 @end menu | |
381 | |
382 @node [3.1] | |
383 @subsubheading Question 3.1 | |
384 | |
385 I just installed Gnus, started it via | |
386 @samp{M-x gnus} | |
387 but it only says "nntp (news) open error", what to do? | |
388 | |
389 @subsubheading Answer | |
390 | |
391 You've got to tell Gnus where to fetch the news from. Read | |
392 the documentation for information on how to do this. As a | |
393 first start, put those lines in ~/.gnus.el: | |
394 | |
395 @example | |
396 (setq gnus-select-method '(nntp "news.yourprovider.net")) | |
397 (setq user-mail-address "you@@yourprovider.net") | |
398 (setq user-full-name "Your Name") | |
399 @end example | |
400 @noindent | |
401 | |
402 @node [3.2] | |
403 @subsubheading Question 3.2 | |
404 | |
405 I'm working under Windows and have no idea what ~/.gnus.el means. | |
406 | |
407 @subsubheading Answer | |
408 | |
409 The ~/ means the home directory where Gnus and Emacs look | |
410 for the configuration files. However, you don't really | |
411 need to know what this means, it suffices that Emacs knows | |
412 what it means :-) You can type | |
413 @samp{C-x C-f ~/.gnus.el RET } | |
414 (yes, with the forward slash, even on Windows), and | |
415 Emacs will open the right file for you. (It will most | |
416 likely be new, and thus empty.) | |
417 However, I'd discourage you from doing so, since the | |
418 directory Emacs chooses will most certainly not be what | |
419 you want, so let's do it the correct way. | |
420 The first thing you've got to do is to | |
421 create a suitable directory (no blanks in directory name | |
422 please) e.g. c:\myhome. Then you must set the environment | |
423 variable HOME to this directory. To do this under Win9x | |
424 or Me include the line | |
425 | |
426 @example | |
427 SET HOME=C:\myhome | |
428 @end example | |
429 @noindent | |
430 | |
431 in your autoexec.bat and reboot. Under NT, 2000 and XP, hit | |
432 Winkey+Pause/Break to enter system options (if it doesn't work, go to | |
433 Control Panel -> System -> Advanced). There you'll find the possibility | |
434 to set environment variables. Create a new one with name HOME and value | |
435 C:\myhome. Rebooting is not necessary. | |
436 | |
437 Now to create ~/.gnus.el, say | |
438 @samp{C-x C-f ~/.gnus.el RET C-x C-s}. | |
439 in Emacs. | |
440 | |
441 @node [3.3] | |
442 @subsubheading Question 3.3 | |
443 | |
444 My news server requires authentication, how to store | |
445 user name and password on disk? | |
446 | |
447 @subsubheading Answer | |
448 | |
449 Create a file ~/.authinfo which includes for each server a line like this | |
450 | |
451 @example | |
452 machine news.yourprovider.net login YourUserName password YourPassword | |
453 @end example | |
454 @noindent | |
455 . | |
456 Make sure that the file isn't readable to others if you | |
457 work on a OS which is capable of doing so. (Under Unix | |
458 say | |
459 @example | |
460 chmod 600 ~/.authinfo | |
461 @end example | |
462 @noindent | |
463 | |
464 in a shell.) | |
465 | |
466 @node [3.4] | |
467 @subsubheading Question 3.4 | |
468 | |
469 Gnus seems to start up OK, but I can't find out how to | |
470 subscribe to a group. | |
471 | |
472 @subsubheading Answer | |
473 | |
474 If you know the name of the group say @samp{U | |
475 name.of.group RET} in group buffer (use the | |
476 tab-completion Luke). Otherwise hit ^ in group buffer, | |
477 this brings you to the server buffer. Now place point (the | |
478 cursor) over the server which carries the group you want, | |
479 hit @samp{RET}, move point to the group | |
480 you want to subscribe to and say @samp{u} | |
481 to subscribe to it. | |
482 | |
483 @node [3.5] | |
484 @subsubheading Question 3.5 | |
485 | |
486 Gnus doesn't show all groups / Gnus says I'm not allowed to | |
487 post on this server as well as I am, what's that? | |
488 | |
489 @subsubheading Answer | |
490 | |
491 Some providers allow restricted anonymous access and full | |
492 access only after authorization. To make Gnus send authinfo | |
493 to those servers append | |
494 | |
495 @example | |
496 force yes | |
497 @end example | |
498 @noindent | |
499 | |
500 to the line for those servers in ~/.authinfo. | |
501 | |
502 @node [3.6] | |
503 @subsubheading Question 3.6 | |
504 | |
505 I want Gnus to fetch news from several servers, is this possible? | |
506 | |
507 @subsubheading Answer | |
508 | |
509 Of course. You can specify more sources for articles in the | |
510 variable gnus-secondary-select-methods. Add something like | |
511 this in ~/.gnus.el: | |
512 | |
513 @example | |
514 (add-to-list 'gnus-secondary-select-methods | |
515 '(nntp "news.yourSecondProvider.net")) | |
516 (add-to-list 'gnus-secondary-select-methods | |
517 '(nntp "news.yourThirdProvider.net")) | |
518 @end example | |
519 @noindent | |
520 | |
521 @node [3.7] | |
522 @subsubheading Question 3.7 | |
523 | |
524 And how about local spool files? | |
525 | |
526 @subsubheading Answer | |
527 | |
528 No problem, this is just one more select method called | |
529 nnspool, so you want this: | |
530 | |
531 @example | |
532 (add-to-list 'gnus-secondary-select-methods '(nnspool "")) | |
533 @end example | |
534 @noindent | |
535 | |
536 Or this if you don't want an NNTP Server as primary news source: | |
537 | |
538 @example | |
539 (setq gnus-select-method '(nnspool "")) | |
540 @end example | |
541 @noindent | |
542 | |
543 Gnus will look for the spool file in /usr/spool/news, if you | |
544 want something different, change the line above to something like this: | |
545 | |
546 @example | |
547 (add-to-list 'gnus-secondary-select-methods | |
548 '(nnspool "" | |
549 (nnspool-directory "/usr/local/myspoolddir"))) | |
550 @end example | |
551 @noindent | |
552 | |
553 This sets the spool directory for this server only. | |
554 You might have to specify more stuff like the program used | |
555 to post articles, see the Gnus manual on how to do this. | |
556 | |
557 @node [3.8] | |
558 @subsubheading Question 3.8 | |
559 | |
560 OK, reading news works now, but I want to be able to read my mail | |
561 with Gnus, too. How to do it? | |
562 | |
563 @subsubheading Answer | |
564 | |
565 That's a bit harder since there are many possible sources | |
566 for mail, many possible ways for storing mail and many | |
567 different ways for sending mail. The most common cases are | |
568 these: 1: You want to read your mail from a pop3 server and | |
569 send them directly to a SMTP Server 2: Some program like | |
570 fetchmail retrieves your mail and stores it on disk from | |
571 where Gnus shall read it. Outgoing mail is sent by | |
572 Sendmail, Postfix or some other MTA. Sometimes, you even | |
573 need a combination of the above cases. | |
574 | |
575 However, the first thing to do is to tell Gnus in which way | |
576 it should store the mail, in Gnus terminology which back end | |
577 to use. Gnus supports many different back ends, the most | |
578 commonly used one is nnml. It stores every mail in one file | |
579 and is therefor quite fast. However you might prefer a one | |
580 file per group approach if your file system has problems with | |
581 many small files, the nnfolder back end is then probably the | |
582 choice for you. To use nnml add the following to ~/.gnus.el: | |
583 | |
584 @example | |
585 (add-to-list 'gnus-secondary-select-methods '(nnml "")) | |
586 @end example | |
587 @noindent | |
588 | |
589 As you might have guessed, if you want nnfolder, it's | |
590 | |
591 @example | |
592 (add-to-list 'gnus-secondary-select-methods '(nnfolder "")) | |
593 @end example | |
594 @noindent | |
595 | |
596 Now we need to tell Gnus, where to get it's mail from. If | |
597 it's a POP3 server, then you need something like this: | |
598 | |
599 @example | |
600 (eval-after-load "mail-source" | |
601 '(add-to-list 'mail-sources '(pop :server "pop.YourProvider.net" | |
602 :user "yourUserName" | |
603 :password "yourPassword"))) | |
604 @end example | |
605 @noindent | |
606 | |
607 Make sure ~/.gnus.el isn't readable to others if you store | |
608 your password there. If you want to read your mail from a | |
609 traditional spool file on your local machine, it's | |
610 | |
611 @example | |
612 (eval-after-load "mail-source" | |
613 '(add-to-list 'mail-sources '(file :path "/path/to/spool/file")) | |
614 @end example | |
615 @noindent | |
616 | |
617 If it's a Maildir, with one file per message as used by | |
618 postfix, Qmail and (optionally) fetchmail it's | |
619 | |
620 @example | |
621 (eval-after-load "mail-source" | |
622 '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/" | |
623 :subdirs ("cur" "new"))) | |
624 @end example | |
625 @noindent | |
626 | |
627 And finally if you want to read your mail from several files | |
628 in one directory, for example because procmail already split your | |
629 mail, it's | |
630 | |
631 @example | |
632 (eval-after-load "mail-source" | |
633 '(add-to-list 'mail-sources | |
634 '(directory :path "/path/to/procmail-dir/" | |
635 :suffix ".prcml"))) | |
636 @end example | |
637 @noindent | |
638 | |
639 Where :suffix ".prcml" tells Gnus only to use files with the | |
640 suffix .prcml. | |
641 | |
642 OK, now you only need to tell Gnus how to send mail. If you | |
643 want to send mail via sendmail (or whichever MTA is playing | |
644 the role of sendmail on your system), you don't need to do | |
645 anything. However, if you want to send your mail to an | |
646 SMTP Server you need the following in your ~/.gnus.el | |
647 | |
648 @example | |
649 (setq send-mail-function 'smtpmail-send-it) | |
650 (setq message-send-mail-function 'smtpmail-send-it) | |
651 (setq smtpmail-default-smtp-server "smtp.yourProvider.net") | |
652 @end example | |
653 @noindent | |
654 | |
655 @node [3.9] | |
656 @subsubheading Question 3.9 | |
657 | |
658 And what about IMAP? | |
659 | |
660 @subsubheading Answer | |
661 | |
662 There are two ways of using IMAP with Gnus. The first one is | |
663 to use IMAP like POP3, that means Gnus fetches the mail from | |
664 the IMAP server and stores it on disk. If you want to do | |
665 this (you don't really want to do this) add the following to | |
666 ~/.gnus.el | |
667 | |
668 @example | |
669 (add-to-list 'mail-sources '(imap :server "mail.mycorp.com" | |
670 :user "username" | |
671 :pass "password" | |
672 :stream network | |
673 :authentication login | |
674 :mailbox "INBOX" | |
675 :fetchflag "\\Seen")) | |
676 @end example | |
677 @noindent | |
678 | |
679 You might have to tweak the values for stream and/or | |
680 authentication, see the Gnus manual node "Mail Source | |
681 Specifiers" for possible values. | |
682 | |
683 If you want to use IMAP the way it's intended, you've got to | |
684 follow a different approach. You've got to add the nnimap | |
685 back end to your select method and give the information | |
686 about the server there. | |
687 | |
688 @example | |
689 (add-to-list 'gnus-secondary-select-methods | |
690 '(nnimap "Give the baby a name" | |
691 (nnimap-address "imap.yourProvider.net") | |
692 (nnimap-port 143) | |
693 (nnimap-list-pattern "archive.*"))) | |
694 @end example | |
695 @noindent | |
696 | |
697 Again, you might have to specify how to authenticate to the | |
698 server if Gnus can't guess the correct way, see the Manual | |
699 Node "IMAP" for detailed information. | |
700 | |
701 @node [3.10] | |
702 @subsubheading Question 3.10 | |
703 | |
704 At the office we use one of those MS Exchange servers, can I use | |
705 Gnus to read my mail from it? | |
706 | |
707 @subsubheading Answer | |
708 | |
709 Offer your administrator a pair of new running shoes for | |
710 activating IMAP on the server and follow the instructions | |
711 above. | |
712 | |
713 @node [3.11] | |
714 @subsubheading Question 3.11 | |
715 | |
716 Can I tell Gnus not to delete the mails on the server it | |
717 retrieves via POP3? | |
718 | |
719 @subsubheading Answer | |
720 | |
721 First of all, that's not the way POP3 is intended to work, | |
722 if you have the possibility, you should use the IMAP | |
723 Protocol if you want your messages to stay on the | |
724 server. Nevertheless there might be situations where you | |
725 need the feature, but sadly Gnus itself has no predefined | |
726 functionality to do so. | |
727 | |
728 However this is Gnus county so there are possibilities to | |
729 achieve what you want. The easiest way is to get an external | |
730 program which retrieves copies of the mail and stores them | |
731 on disk, so Gnus can read it from there. On Unix systems you | |
732 could use e.g. fetchmail for this, on MS Windows you can use | |
733 Hamster, an excellent local news and mail server. | |
734 | |
735 The other solution would be, to replace the method Gnus | |
736 uses to get mail from POP3 servers by one which is capable | |
737 of leaving the mail on the server. If you use XEmacs, get | |
738 the package mail-lib, it includes an enhanced pop3.el, | |
739 look in the file, there's documentation on how to tell | |
740 Gnus to use it and not to delete the retrieved mail. For | |
741 GNU Emacs look for the file epop3.el which can do the same | |
742 (If you know the home of this file, please send me an | |
743 e-mail). You can also tell Gnus to use an external program | |
744 (e.g. fetchmail) to fetch your mail, see the info node | |
745 "Mail Source Specifiers" in the Gnus manual on how to do | |
746 it. | |
747 | |
748 @node FAQ 4 - Reading messages | |
749 @subsection Reading messages | |
750 | |
751 @menu | |
752 * [4.1]:: When I enter a group, all read messages are gone. How to | |
753 view them again? | |
754 * [4.2]:: How to tell Gnus to show an important message every time I | |
755 enter a group, even when it's read? | |
756 * [4.3]:: How to view the headers of a message? | |
757 * [4.4]:: How to view the raw unformatted message? | |
758 * [4.5]:: How can I change the headers Gnus displays by default at | |
759 the top of the article buffer? | |
760 * [4.6]:: I'd like Gnus NOT to render HTML-mails but show me the | |
761 text part if it's available. How to do it? | |
762 * [4.7]:: Can I use some other browser than w3 to render my | |
763 HTML-mails? | |
764 * [4.8]:: Is there anything I can do to make poorly formatted mails | |
765 more readable? | |
766 * [4.9]:: Is there a way to automatically ignore posts by specific | |
767 authors or with specific words in the subject? And can I highlight | |
768 more interesting ones in some way? | |
769 * [4.10]:: How can I disable threading in some (e.g. mail-) groups, | |
770 or set other variables specific for some groups? | |
771 * [4.11]:: Can I highlight messages written by me and follow-ups to | |
772 those? | |
773 * [4.12]:: The number of total messages in a group which Gnus | |
774 displays in group buffer is by far to high, especially in mail | |
775 groups. Is this a bug? | |
776 * [4.13]:: I don't like the layout of summary and article buffer, how | |
777 to change it? Perhaps even a three pane display? | |
778 * [4.14]:: I don't like the way the Summary buffer looks, how to | |
779 tweak it? | |
780 * [4.15]:: How to split incoming mails in several groups? | |
781 @end menu | |
782 | |
783 @node [4.1] | |
784 @subsubheading Question 4.1 | |
785 | |
786 When I enter a group, all read messages are gone. How to view them again? | |
787 | |
788 @subsubheading Answer | |
789 | |
790 If you enter the group by saying | |
791 @samp{RET} | |
792 in group buffer with point over the group, only unread and ticked messages are loaded. Say | |
793 @samp{C-u RET} | |
794 instead to load all available messages. If you want only the e.g. 300 newest say | |
795 @samp{C-u 300 RET} | |
796 | |
797 Loading only unread messages can be annoying if you have threaded view enabled, say | |
798 | |
799 @example | |
800 (setq gnus-fetch-old-headers 'some) | |
801 @end example | |
802 @noindent | |
803 | |
804 in ~/.gnus.el to load enough old articles to prevent teared threads, replace 'some with t to load | |
805 all articles (Warning: Both settings enlarge the amount of data which is | |
806 fetched when you enter a group and slow down the process of entering a group). | |
807 | |
808 If you already use Gnus 5.10, you can say | |
809 @samp{/o N} | |
810 In summary buffer to load the last N messages, this feature is not available in 5.8.8 | |
811 | |
812 If you don't want all old messages, but the parent of the message you're just reading, | |
813 you can say @samp{^}, if you want to retrieve the whole thread | |
814 the message you're just reading belongs to, @samp{A T} is your friend. | |
815 | |
816 @node [4.2] | |
817 @subsubheading Question 4.2 | |
818 | |
819 How to tell Gnus to show an important message every time I | |
820 enter a group, even when it's read? | |
821 | |
822 @subsubheading Answer | |
823 | |
824 You can tick important messages. To do this hit | |
825 @samp{u} while point is in summary buffer | |
826 over the message. When you want to remove the mark, hit | |
827 either @samp{d} (this deletes the tick | |
828 mark and set's unread mark) or @samp{M c} | |
829 (which deletes all marks for the message). | |
830 | |
831 @node [4.3] | |
832 @subsubheading Question 4.3 | |
833 | |
834 How to view the headers of a message? | |
835 | |
836 @subsubheading Answer | |
837 | |
838 Say @samp{t} | |
839 to show all headers, one more | |
840 @samp{t} | |
841 hides them again. | |
842 | |
843 @node [4.4] | |
844 @subsubheading Question 4.4 | |
845 | |
846 How to view the raw unformatted message? | |
847 | |
848 @subsubheading Answer | |
849 | |
850 Say | |
851 @samp{C-u g} | |
852 to show the raw message | |
853 @samp{g} | |
854 returns to normal view. | |
855 | |
856 @node [4.5] | |
857 @subsubheading Question 4.5 | |
858 | |
859 How can I change the headers Gnus displays by default at | |
860 the top of the article buffer? | |
861 | |
862 @subsubheading Answer | |
863 | |
864 The variable gnus-visible-headers controls which headers | |
865 are shown, its value is a regular expression, header lines | |
866 which match it are shown. So if you want author, subject, | |
867 date, and if the header exists, Followup-To and MUA / NUA | |
868 say this in ~/.gnus.el: | |
869 | |
870 @example | |
871 (setq gnus-visible-headers | |
872 '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To" | |
873 "^User-Agent" "^X-Newsreader" "^X-Mailer")) | |
874 @end example | |
875 @noindent | |
876 | |
877 @node [4.6] | |
878 @subsubheading Question 4.6 | |
879 | |
880 I'd like Gnus NOT to render HTML-mails but show me the | |
881 text part if it's available. How to do it? | |
882 | |
883 @subsubheading Answer | |
884 | |
885 Say | |
886 | |
887 @example | |
888 (eval-after-load "mm-decode" | |
889 '(progn | |
890 (add-to-list 'mm-discouraged-alternatives "text/html") | |
891 (add-to-list 'mm-discouraged-alternatives "text/richtext"))) | |
892 @end example | |
893 @noindent | |
894 | |
895 in ~/.gnus.el. If you don't want HTML rendered, even if there's no text alternative add | |
896 | |
897 @example | |
898 (setq mm-automatic-display (remove "text/html" mm-automatic-display)) | |
899 @end example | |
900 @noindent | |
901 | |
902 too. | |
903 | |
904 @node [4.7] | |
905 @subsubheading Question 4.7 | |
906 | |
907 Can I use some other browser than w3 to render my HTML-mails? | |
908 | |
909 @subsubheading Answer | |
910 | |
911 Only if you use Gnus 5.10 or younger. In this case you've got the | |
912 choice between w3, w3m, links, lynx and html2text, which | |
913 one is used can be specified in the variable | |
914 mm-text-html-renderer, so if you want links to render your | |
915 mail say | |
916 | |
917 @example | |
918 (setq mm-text-html-renderer 'links) | |
919 @end example | |
920 @noindent | |
921 | |
922 @node [4.8] | |
923 @subsubheading Question 4.8 | |
924 | |
925 Is there anything I can do to make poorly formatted mails | |
926 more readable? | |
927 | |
928 @subsubheading Answer | |
929 | |
930 Gnus offers you several functions to "wash" incoming mail, you can | |
931 find them if you browse through the menu, item | |
932 Article->Washing. The most interesting ones are probably "Wrap | |
933 long lines" (@samp{W w}), "Decode ROT13" | |
934 (@samp{W r}) and "Outlook Deuglify" which repairs | |
935 the dumb quoting used by many users of Microsoft products | |
936 (@samp{W Y f} gives you full deuglify. | |
937 See @samp{W Y C-h} or have a look at the menus for | |
938 other deuglifications). Outlook deuglify is only available since | |
939 Gnus 5.10. | |
940 | |
941 @node [4.9] | |
942 @subsubheading Question 4.9 | |
943 | |
944 Is there a way to automatically ignore posts by specific | |
945 authors or with specific words in the subject? And can I | |
946 highlight more interesting ones in some way? | |
947 | |
948 @subsubheading Answer | |
949 | |
950 You want Scoring. Scoring means, that you define rules | |
951 which assign each message an integer value. Depending on | |
952 the value the message is highlighted in summary buffer (if | |
953 it's high, say +2000) or automatically marked read (if the | |
954 value is low, say -800) or some other action happens. | |
955 | |
956 There are basically three ways of setting up rules which assign | |
957 the scoring-value to messages. The first and easiest way is to set | |
958 up rules based on the article you are just reading. Say you're | |
959 reading a message by a guy who always writes nonsense and you want | |
960 to ignore his messages in the future. Hit | |
961 @samp{L}, to set up a rule which lowers the score. | |
962 Now Gnus asks you which the criteria for lowering the Score shall | |
963 be. Hit @samp{?} twice to see all possibilities, | |
964 we want @samp{a} which means the author (the from | |
965 header). Now Gnus wants to know which kind of matching we want. | |
966 Hit either @samp{e} for an exact match or | |
967 @samp{s} for substring-match and delete afterwards | |
968 everything but the name to score down all authors with the given | |
969 name no matter which email address is used. Now you need to tell | |
970 Gnus when to apply the rule and how long it should last, hit e.g. | |
971 @samp{p} to apply the rule now and let it last | |
972 forever. If you want to raise the score instead of lowering it say | |
973 @samp{I} instead of @samp{L}. | |
974 | |
975 You can also set up rules by hand. To do this say @samp{V | |
976 f} in summary buffer. Then you are asked for the name | |
977 of the score file, it's name.of.group.SCORE for rules valid in | |
978 only one group or all.Score for rules valid in all groups. See the | |
979 Gnus manual for the exact syntax, basically it's one big list | |
980 whose elements are lists again. the first element of those lists | |
981 is the header to score on, then one more list with what to match, | |
982 which score to assign, when to expire the rule and how to do the | |
983 matching. If you find me very interesting, you could e.g. add the | |
984 following to your all.Score: | |
985 | |
986 @example | |
987 (("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s)) | |
988 ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s))) | |
989 @end example | |
990 @noindent | |
991 | |
992 This would add 999 to the score of messages written by me | |
993 and 500 to the score of messages which are a (possibly | |
994 indirect) answer to a message written by me. Of course | |
995 nobody with a sane mind would do this :-) | |
996 | |
997 The third alternative is adaptive scoring. This means Gnus | |
998 watches you and tries to find out what you find | |
999 interesting and what annoying and sets up rules | |
1000 which reflect this. Adaptive scoring can be a huge help | |
1001 when reading high traffic groups. If you want to activate | |
1002 adaptive scoring say | |
1003 | |
1004 @example | |
1005 (setq gnus-use-adaptive-scoring t) | |
1006 @end example | |
1007 @noindent | |
1008 | |
1009 in ~/.gnus.el. | |
1010 | |
1011 @node [4.10] | |
1012 @subsubheading Question 4.10 | |
1013 | |
1014 How can I disable threading in some (e.g. mail-) groups, or | |
1015 set other variables specific for some groups? | |
1016 | |
1017 @subsubheading Answer | |
1018 | |
1019 While in group buffer move point over the group and hit | |
1020 @samp{G c}, this opens a buffer where you | |
1021 can set options for the group. At the bottom of the buffer | |
1022 you'll find an item that allows you to set variables | |
1023 locally for the group. To disable threading enter | |
1024 gnus-show-threads as name of variable and nil as | |
1025 value. Hit button done at the top of the buffer when | |
1026 you're ready. | |
1027 | |
1028 @node [4.11] | |
1029 @subsubheading Question 4.11 | |
1030 | |
1031 Can I highlight messages written by me and follow-ups to | |
1032 those? | |
1033 | |
1034 @subsubheading Answer | |
1035 | |
1036 Stop those "Can I ..." questions, the answer is always yes | |
1037 in Gnus Country :-). It's a three step process: First we | |
1038 make faces (specifications of how summary-line shall look | |
1039 like) for those postings, then we'll give them some | |
1040 special score and finally we'll tell Gnus to use the new | |
1041 faces. You can find detailed instructions on how to do it on | |
1042 @uref{http://my.gnus.org/node/view/224, my.gnus.org} | |
1043 | |
1044 @node [4.12] | |
1045 @subsubheading Question 4.12 | |
1046 | |
1047 The number of total messages in a group which Gnus | |
1048 displays in group buffer is by far to high, especially in | |
1049 mail groups. Is this a bug? | |
1050 | |
1051 @subsubheading Answer | |
1052 | |
1053 No, that's a matter of design of Gnus, fixing this would | |
1054 mean reimplementation of major parts of Gnus' | |
1055 back ends. Gnus thinks "highest-article-number - | |
1056 lowest-article-number = total-number-of-articles". This | |
1057 works OK for Usenet groups, but if you delete and move | |
1058 many messages in mail groups, this fails. To cure the | |
1059 symptom, enter the group via @samp{C-u RET} | |
1060 (this makes Gnus get all messages), then | |
1061 hit @samp{M P b} to mark all messages and | |
1062 then say @samp{B m name.of.group} to move | |
1063 all messages to the group they have been in before, they | |
1064 get new message numbers in this process and the count is | |
1065 right again (until you delete and move your mail to other | |
1066 groups again). | |
1067 | |
1068 @node [4.13] | |
1069 @subsubheading Question 4.13 | |
1070 | |
1071 I don't like the layout of summary and article buffer, how | |
1072 to change it? Perhaps even a three pane display? | |
1073 | |
1074 @subsubheading Answer | |
1075 | |
1076 You can control the windows configuration by calling the | |
1077 function gnus-add-configuration. The syntax is a bit | |
1078 complicated but explained very well in the manual node | |
1079 "Window Layout". Some popular examples: | |
1080 | |
1081 Instead 25% summary 75% article buffer 35% summary and 65% | |
1082 article (the 1.0 for article means "take the remaining | |
1083 space"): | |
1084 | |
1085 @example | |
1086 (gnus-add-configuration | |
1087 '(article (vertical 1.0 (summary .35 point) (article 1.0)))) | |
1088 @end example | |
1089 @noindent | |
1090 | |
1091 A three pane layout, Group buffer on the left, summary | |
1092 buffer top-right, article buffer bottom-right: | |
1093 | |
1094 @example | |
1095 (gnus-add-configuration | |
1096 '(article | |
1097 (horizontal 1.0 | |
1098 (vertical 25 | |
1099 (group 1.0)) | |
1100 (vertical 1.0 | |
1101 (summary 0.25 point) | |
1102 (article 1.0))))) | |
1103 (gnus-add-configuration | |
1104 '(summary | |
1105 (horizontal 1.0 | |
1106 (vertical 25 | |
1107 (group 1.0)) | |
1108 (vertical 1.0 | |
1109 (summary 1.0 point))))) | |
1110 @end example | |
1111 @noindent | |
1112 | |
1113 @node [4.14] | |
1114 @subsubheading Question 4.14 | |
1115 | |
1116 I don't like the way the Summary buffer looks, how to tweak it? | |
1117 | |
1118 @subsubheading Answer | |
1119 | |
1120 You've got to play around with the variable | |
1121 gnus-summary-line-format. It's value is a string of | |
1122 symbols which stand for things like author, date, subject | |
1123 etc. A list of the available specifiers can be found in the | |
1124 manual node "Summary Buffer Lines" and the often forgotten | |
1125 node "Formatting Variables" and it's sub-nodes. There | |
1126 you'll find useful things like positioning the cursor and | |
1127 tabulators which allow you a summary in table form, but | |
1128 sadly hard tabulators are broken in 5.8.8. | |
1129 | |
1130 Since 5.10, Gnus offers you some very nice new specifiers, | |
1131 e.g. %B which draws a thread-tree and %&user-date which | |
1132 gives you a date where the details are dependent of the | |
1133 articles age. Here's an example which uses both: | |
1134 | |
1135 @example | |
1136 (setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n") | |
1137 @end example | |
1138 @noindent | |
1139 | |
1140 resulting in: | |
1141 | |
1142 @example | |
1143 :O Re: [Richard Stallman] rfc2047.el | 13 |Lars Magne Ingebrigt |Sat 23:06 | |
1144 :O Re: Revival of the ding-patches list | 13 |Lars Magne Ingebrigt |Sat 23:12 | |
1145 :R > Re: Find correct list of articles for a gro| 25 |Lars Magne Ingebrigt |Sat 23:16 | |
1146 :O \-> ... | 21 |Kai Grossjohann | 0:01 | |
1147 :R > Re: Cry for help: deuglify.el - moving stuf| 28 |Lars Magne Ingebrigt |Sat 23:34 | |
1148 :O \-> ... | 115 |Raymond Scholz | 1:24 | |
1149 :O \-> ... | 19 |Lars Magne Ingebrigt |15:33 | |
1150 :O Slow mailing list | 13 |Lars Magne Ingebrigt |Sat 23:49 | |
1151 :O Re: `@@' mark not documented | 13 |Lars Magne Ingebrigt |Sat 23:50 | |
1152 :R > Re: Gnus still doesn't count messages prope| 23 |Lars Magne Ingebrigt |Sat 23:57 | |
1153 :O \-> ... | 18 |Kai Grossjohann | 0:35 | |
1154 :O \-> ... | 13 |Lars Magne Ingebrigt | 0:56 | |
1155 @end example | |
1156 @noindent | |
1157 | |
1158 @node [4.15] | |
1159 @subsubheading Question 4.15 | |
1160 | |
1161 How to split incoming mails in several groups? | |
1162 | |
1163 @subsubheading Answer | |
1164 | |
1165 Gnus offers two possibilities for splitting mail, the easy | |
1166 nnmail-split-methods and the more powerful Fancy Mail | |
1167 Splitting. I'll only talk about the first one, refer to | |
1168 the manual, node "Fancy Mail Splitting" for the latter. | |
1169 | |
1170 The value of nnmail-split-methods is a list, each element | |
1171 is a list which stands for a splitting rule. Each rule has | |
1172 the form "group where matching articles should go to", | |
1173 "regular expression which has to be matched", the first | |
1174 rule which matches wins. The last rule must always be a | |
1175 general rule (regular expression .*) which denotes where | |
1176 articles should go which don't match any other rule. If | |
1177 the folder doesn't exist yet, it will be created as soon | |
1178 as an article lands there. By default the mail will be | |
1179 send to all groups whose rules match. If you | |
1180 don't want that (you probably don't want), say | |
1181 | |
1182 @example | |
1183 (setq nnmail-crosspost nil) | |
1184 @end example | |
1185 @noindent | |
1186 | |
1187 in ~/.gnus.el. | |
1188 | |
1189 An example might be better than thousand words, so here's | |
1190 my nnmail-split-methods. Note that I send duplicates in a | |
1191 special group and that the default group is spam, since I | |
1192 filter all mails out which are from some list I'm | |
1193 subscribed to or which are addressed directly to me | |
1194 before. Those rules kill about 80% of the Spam which | |
1195 reaches me (Email addresses are changed to prevent spammers | |
1196 from using them): | |
1197 | |
1198 @example | |
1199 (setq nnmail-split-methods | |
1200 '(("duplicates" "^Gnus-Warning:.*duplicate") | |
1201 ("XEmacs-NT" "^\\(To:\\|CC:\\).*localpart@@xemacs.invalid.*") | |
1202 ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@@socha.invalid.*") | |
1203 ("tcsh" "^\\(To:\\|CC:\\).*localpart@@mx.gw.invalid.*") | |
1204 ("BAfH" "^\\(To:\\|CC:\\).*localpart@@.*uni-muenchen.invalid.*") | |
1205 ("Hamster-src" "^\\(CC:\\|To:\\).*hamster-sourcen@@yahoogroups.\\(de\\|com\\).*") | |
1206 ("Tagesschau" "^From: tagesschau <localpart@@www.tagesschau.invalid>$") | |
1207 ("Replies" "^\\(CC:\\|To:\\).*localpart@@Frank-Schmitt.invalid.*") | |
1208 ("EK" "^From:.*\\(localpart@@privateprovider.invalid\\|localpart@@workplace.invalid\\).*") | |
1209 ("Spam" "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*") | |
1210 ("Spam" "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*") | |
1211 ("Spam" "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*") | |
1212 ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)") | |
1213 ("Spam" "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)") | |
1214 ("Spam" "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*") | |
1215 ("Spam" "^Delivered-To: GMX delivery to spamtrap@@gmx.invalid$") | |
1216 ("Spam" "^Received: from link2buy.com") | |
1217 ("Spam" "^CC: .*azzrael@@t-online.invalid") | |
1218 ("Spam" "^X-Mailer-Version: 1.50 BETA") | |
1219 ("Uni" "^\\(CC:\\|To:\\).*localpart@@uni-koblenz.invalid.*") | |
1220 ("Inbox" "^\\(CC:\\|To:\\).*\\(my\ name\\|address@@one.invalid\\|adress@@two.invalid\\)") | |
1221 ("Spam" ""))) | |
1222 @end example | |
1223 @noindent | |
1224 | |
1225 @node FAQ 5 - Composing messages | |
1226 @subsection Composing messages | |
1227 | |
1228 @menu | |
1229 * [5.1]:: What are the basic commands I need to know for sending | |
1230 mail and postings? | |
1231 * [5.2]:: How to enable automatic word-wrap when composing messages? | |
1232 * [5.3]:: How to set stuff like From, Organization, Reply-To, | |
1233 signature...? | |
1234 * [5.4]:: Can I set things like From, Signature etc group based on | |
1235 the group I post too? | |
1236 * [5.5]:: Is there a spell-checker? Perhaps even on-the-fly | |
1237 spell-checking? | |
1238 * [5.6]:: Can I set the dictionary based on the group I'm posting | |
1239 to? | |
1240 * [5.7]:: Is there some kind of address-book, so I needn't remember | |
1241 all those email addresses? | |
1242 * [5.8]:: Sometimes I see little images at the top of article | |
1243 buffer. What's that and how can I send one with my postings, too? | |
1244 * [5.9]:: Sometimes I accidentally hit r instead of f in newsgroups. | |
1245 Can Gnus warn me, when I'm replying by mail in newsgroups? | |
1246 * [5.10]:: How to tell Gnus not to generate a sender header? | |
1247 * [5.11]:: I want Gnus to locally store copies of my send mail and | |
1248 news, how to do it? | |
1249 * [5.12]:: People tell me my Message-IDs are not correct, why aren't | |
1250 they and how to fix it? | |
1251 @end menu | |
1252 | |
1253 @node [5.1] | |
1254 @subsubheading Question 5.1 | |
1255 | |
1256 What are the basic commands I need to know for sending mail and postings? | |
1257 | |
1258 @subsubheading Answer | |
1259 | |
1260 To start composing a new mail hit @samp{m} | |
1261 either in Group or Summary buffer, for a posting, it's | |
1262 either @samp{a} in Group buffer and | |
1263 filling the Newsgroups header manually | |
1264 or @samp{a} in the Summary buffer of the | |
1265 group where the posting shall be send to. Replying by mail | |
1266 is | |
1267 @samp{r} if you don't want to cite the | |
1268 author, or import the cited text manually and | |
1269 @samp{R} to cite the text of the original | |
1270 message. For a follow up to a newsgroup, it's | |
1271 @samp{f} and @samp{F} | |
1272 (analogously to @samp{r} and | |
1273 @samp{R}). | |
1274 | |
1275 Enter new headers above the line saying "--text follows | |
1276 this line--", enter the text below the line. When ready | |
1277 hit @samp{C-c C-c}, to send the message, | |
1278 if you want to finish it later hit @samp{C-c | |
1279 C-d} to save it in the drafts group, where you | |
1280 can start editing it again by saying @samp{D | |
1281 e}. | |
1282 | |
1283 @node [5.2] | |
1284 @subsubheading Question 5.2 | |
1285 | |
1286 How to enable automatic word-wrap when composing messages? | |
1287 | |
1288 @subsubheading Answer | |
1289 | |
85712
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1290 Starting from No Gnus, automatic word-wrap is already enabled by |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1291 default, see the variable message-fill-column. |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1292 |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1293 For other versions of Gnus, say |
84299 | 1294 |
1295 @example | |
85712
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1296 (unless (boundp 'message-fill-column) |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1297 (add-hook 'message-mode-hook |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1298 (lambda () |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1299 (setq fill-column 72) |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1300 (turn-on-auto-fill)))) |
84299 | 1301 @end example |
1302 @noindent | |
1303 | |
85712
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1304 in ~/.gnus.el. |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1305 |
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1306 You can reformat a paragraph by hitting @samp{M-q} (as usual). |
84299 | 1307 |
1308 @node [5.3] | |
1309 @subsubheading Question 5.3 | |
1310 | |
1311 How to set stuff like From, Organization, Reply-To, signature...? | |
1312 | |
1313 @subsubheading Answer | |
1314 | |
1315 There are other ways, but you should use posting styles | |
1316 for this. (See below why). | |
1317 This example should make the syntax clear: | |
1318 | |
1319 @example | |
1320 (setq gnus-posting-styles | |
1321 '((".*" | |
1322 (name "Frank Schmitt") | |
1323 (address "me@@there.invalid") | |
1324 (organization "Hamme net, kren mer och nimmi") | |
1325 (signature-file "~/.signature") | |
1326 ("X-SampleHeader" "foobar") | |
1327 (eval (setq some-variable "Foo bar"))))) | |
1328 @end example | |
1329 @noindent | |
1330 | |
1331 The ".*" means that this settings are the default ones | |
1332 (see below), valid values for the first element of the | |
1333 following lists are signature, signature-file, | |
1334 organization, address, name or body. The attribute name | |
1335 can also be a string. In that case, this will be used as | |
1336 a header name, and the value will be inserted in the | |
1337 headers of the article; if the value is `nil', the header | |
1338 name will be removed. You can also say (eval (foo bar)), | |
1339 then the function foo will be evaluated with argument bar | |
1340 and the result will be thrown away. | |
1341 | |
1342 @node [5.4] | |
1343 @subsubheading Question 5.4 | |
1344 | |
1345 Can I set things like From, Signature etc group based on the group I post too? | |
1346 | |
1347 @subsubheading Answer | |
1348 | |
1349 That's the strength of posting styles. Before, we used ".*" | |
1350 to set the default for all groups. You can use a regexp | |
1351 like "^gmane" and the following settings are only applied | |
1352 to postings you send to the gmane hierarchy, use | |
1353 ".*binaries" instead and they will be applied to postings | |
1354 send to groups containing the string binaries in their | |
1355 name etc. | |
1356 | |
1357 You can instead of specifying a regexp specify a function | |
1358 which is evaluated, only if it returns true, the | |
1359 corresponding settings take effect. Two interesting | |
1360 candidates for this are message-news-p which returns t if | |
1361 the current Group is a newsgroup and the corresponding | |
1362 message-mail-p. | |
1363 | |
1364 Note that all forms that match are applied, that means in | |
1365 the example below, when I post to | |
1366 gmane.mail.spam.spamassassin.general, the settings under | |
1367 ".*" are applied and the settings under message-news-p and | |
1368 those under "^gmane" and those under | |
1369 "^gmane\\.mail\\.spam\\.spamassassin\\.general$". Because | |
1370 of this put general settings at the top and specific ones | |
1371 at the bottom. | |
1372 | |
1373 @example | |
1374 (setq gnus-posting-styles | |
1375 '((".*" ;;default | |
1376 (name "Frank Schmitt") | |
1377 (organization "Hamme net, kren mer och nimmi") | |
1378 (signature-file "~/.signature")) | |
1379 ((message-news-p) ;;Usenet news? | |
1380 (address "mySpamTrap@@Frank-Schmitt.invalid") | |
1381 (reply-to "hereRealRepliesOnlyPlease@@Frank-Schmitt.invalid")) | |
1382 ((message-mail-p) ;;mail? | |
1383 (address "usedForMails@@Frank-Schmitt.invalid")) | |
1384 ("^gmane" ;;this is mail, too in fact | |
1385 (address "usedForMails@@Frank-Schmitt.invalid") | |
1386 (reply-to nil)) | |
1387 ("^gmane\\.mail\\.spam\\.spamassassin\\.general$" | |
1388 (eval (set (make-local-variable 'message-sendmail-envelope-from) | |
1389 "Azzrael@@rz-online.de"))))) | |
1390 @end example | |
1391 @noindent | |
1392 | |
1393 @node [5.5] | |
1394 @subsubheading Question 5.5 | |
1395 | |
1396 Is there a spell-checker? Perhaps even on-the-fly spell-checking? | |
1397 | |
1398 @subsubheading Answer | |
1399 | |
1400 You can use ispell.el to spell-check stuff in Emacs. So the | |
1401 first thing to do is to make sure that you've got either | |
1402 @uref{http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html, ispell} | |
1403 or @uref{http://aspell.sourceforge.net/, aspell} | |
1404 installed and in your Path. Then you need | |
1405 @uref{http://www.kdstevens.com/~stevens/ispell-page.html, ispell.el} | |
1406 and for on-the-fly spell-checking | |
1407 @uref{http://www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/flyspell/flyspell.html, flyspell.el}. | |
1408 Ispell.el is shipped with Emacs and available through the XEmacs package system, | |
1409 flyspell.el is shipped with Emacs and part of XEmacs text-modes package which is | |
1410 available through the package system, so there should be no need to install them | |
1411 manually. | |
1412 | |
1413 Ispell.el assumes you use ispell, if you choose aspell say | |
1414 | |
1415 @example | |
1416 (setq ispell-program-name "aspell") | |
1417 @end example | |
1418 @noindent | |
1419 | |
1420 in your Emacs configuration file. | |
1421 | |
1422 If you want your outgoing messages to be spell-checked, say | |
1423 | |
1424 @example | |
1425 (add-hook 'message-send-hook 'ispell-message) | |
1426 @end example | |
1427 @noindent | |
1428 | |
1429 In your ~/.gnus.el, if you prefer on-the-fly spell-checking say | |
1430 | |
1431 @example | |
1432 (add-hook 'message-mode-hook (lambda () (flyspell-mode 1))) | |
1433 @end example | |
1434 @noindent | |
1435 | |
1436 @node [5.6] | |
1437 @subsubheading Question 5.6 | |
1438 | |
1439 Can I set the dictionary based on the group I'm posting to? | |
1440 | |
1441 @subsubheading Answer | |
1442 | |
1443 Yes, say something like | |
1444 | |
1445 @example | |
1446 (add-hook 'gnus-select-group-hook | |
1447 (lambda () | |
1448 (cond | |
1449 ((string-match | |
1450 "^de\\." (gnus-group-real-name gnus-newsgroup-name)) | |
1451 (ispell-change-dictionary "deutsch8")) | |
1452 (t | |
1453 (ispell-change-dictionary "english"))))) | |
1454 @end example | |
1455 @noindent | |
1456 | |
1457 in ~/.gnus.el. Change "^de\\." and "deutsch8" to something | |
1458 that suits your needs. | |
1459 | |
1460 @node [5.7] | |
1461 @subsubheading Question 5.7 | |
1462 | |
1463 Is there some kind of address-book, so I needn't remember | |
1464 all those email addresses? | |
1465 | |
1466 @subsubheading Answer | |
1467 | |
1468 There's an very basic solution for this, mail aliases. | |
1469 You can store your mail addresses in a ~/.mailrc file using a simple | |
1470 alias syntax: | |
1471 | |
1472 @example | |
1473 alias al "Al <al@@english-heritage.invalid>" | |
1474 @end example | |
1475 @noindent | |
1476 | |
1477 Then typing your alias (followed by a space or punctuation | |
1478 character) on a To: or Cc: line in the message buffer will | |
1479 cause Gnus to insert the full address for you. See the | |
1480 node "Mail Aliases" in Message (not Gnus) manual for | |
1481 details. | |
1482 | |
1483 However, what you really want is the Insidious Big Brother | |
1484 Database bbdb. Get it through the XEmacs package system or from | |
1485 @uref{http://bbdb.sourceforge.net/, bbdb's homepage}. | |
1486 Now place the following in ~/.gnus.el, to activate bbdb for Gnus: | |
1487 | |
1488 @example | |
1489 (require 'bbdb) | |
1490 (bbdb-initialize 'gnus 'message) | |
1491 @end example | |
1492 @noindent | |
1493 | |
1494 Now you probably want some general bbdb configuration, | |
1495 place them in ~/.emacs: | |
1496 | |
1497 @example | |
1498 (require 'bbdb) | |
1499 ;;If you don't live in Northern America, you should disable the | |
1500 ;;syntax check for telephone numbers by saying | |
1501 (setq bbdb-north-american-phone-numbers-p nil) | |
1502 ;;Tell bbdb about your email address: | |
1503 (setq bbdb-user-mail-names | |
1504 (regexp-opt '("Your.Email@@here.invalid" | |
1505 "Your.other@@mail.there.invalid"))) | |
1506 ;;cycling while completing email addresses | |
1507 (setq bbdb-complete-name-allow-cycling t) | |
1508 ;;No popup-buffers | |
1509 (setq bbdb-use-pop-up nil) | |
1510 @end example | |
1511 @noindent | |
1512 | |
1513 Now you should be ready to go. Say @samp{M-x bbdb RET | |
1514 RET} to open a bbdb buffer showing all | |
1515 entries. Say @samp{c} to create a new | |
1516 entry, @samp{b} to search your BBDB and | |
1517 @samp{C-o} to add a new field to an | |
1518 entry. If you want to add a sender to the BBDB you can | |
1519 also just hit `:' on the posting in the summary buffer and | |
1520 you are done. When you now compose a new mail, | |
1521 hit @samp{TAB} to cycle through know | |
1522 recipients. | |
1523 | |
1524 @node [5.8] | |
1525 @subsubheading Question 5.8 | |
1526 | |
1527 Sometimes I see little images at the top of article | |
1528 buffer. What's that and how can I send one with my | |
1529 postings, too? | |
1530 | |
1531 @subsubheading Answer | |
1532 | |
1533 Those images are called X-Faces. They are 48*48 pixel b/w | |
1534 pictures, encoded in a header line. If you want to include | |
1535 one in your posts, you've got to convert some image to a | |
1536 X-Face. So fire up some image manipulation program (say | |
1537 Gimp), open the image you want to include, cut out the | |
1538 relevant part, reduce color depth to 1 bit, resize to | |
1539 48*48 and save as bitmap. Now you should get the compface | |
1540 package from | |
1541 @uref{ftp://ftp.cs.indiana.edu:/pub/faces/, this site}. | |
1542 and create the actual X-face by saying | |
1543 | |
1544 @example | |
1545 cat file.xbm | xbm2ikon | compface > file.face | |
1546 cat file.face | sed 's/\\/\\\\/g;s/\"/\\\"/g;' > file.face.quoted | |
1547 @end example | |
1548 @noindent | |
1549 | |
1550 If you can't use compface, there's an online X-face converter at | |
1551 @uref{http://www.dairiki.org/xface/}. | |
1552 If you use MS Windows, you could also use the WinFace program from | |
1553 @uref{http://www.xs4all.nl/~walterln/winface/}. | |
1554 Now you only have to tell Gnus to include the X-face in your postings by saying | |
1555 | |
1556 @example | |
1557 (setq message-default-headers | |
1558 (with-temp-buffer | |
1559 (insert "X-Face: ") | |
1560 (insert-file-contents "~/.xface") | |
1561 (buffer-string))) | |
1562 @end example | |
1563 @noindent | |
1564 | |
1565 in ~/.gnus.el. If you use Gnus 5.10, you can simply add an entry | |
1566 | |
1567 @example | |
1568 (x-face-file "~/.xface") | |
1569 @end example | |
1570 @noindent | |
1571 | |
1572 to gnus-posting-styles. | |
1573 | |
1574 @node [5.9] | |
1575 @subsubheading Question 5.9 | |
1576 | |
1577 Sometimes I accidentally hit r instead of f in | |
1578 newsgroups. Can Gnus warn me, when I'm replying by mail in | |
1579 newsgroups? | |
1580 | |
1581 @subsubheading Answer | |
1582 | |
1583 Put this in ~/.gnus.el: | |
1584 | |
1585 @example | |
1586 (setq gnus-confirm-mail-reply-to-news t) | |
1587 @end example | |
1588 @noindent | |
1589 | |
1590 if you already use Gnus 5.10, if you still use 5.8.8 or | |
1591 5.9 try this instead: | |
1592 | |
1593 @example | |
1594 (eval-after-load "gnus-msg" | |
1595 '(unless (boundp 'gnus-confirm-mail-reply-to-news) | |
1596 (defadvice gnus-summary-reply (around reply-in-news activate) | |
1597 "Request confirmation when replying to news." | |
1598 (interactive) | |
1599 (when (or (not (gnus-news-group-p gnus-newsgroup-name)) | |
1600 (y-or-n-p "Really reply by mail to article author? ")) | |
1601 ad-do-it)))) | |
1602 @end example | |
1603 @noindent | |
1604 | |
1605 @node [5.10] | |
1606 @subsubheading Question 5.10 | |
1607 | |
1608 How to tell Gnus not to generate a sender header? | |
1609 | |
1610 @subsubheading Answer | |
1611 | |
1612 Since 5.10 Gnus doesn't generate a sender header by | |
1613 default. For older Gnus' try this in ~/.gnus.el: | |
1614 | |
1615 @example | |
1616 (eval-after-load "message" | |
1617 '(add-to-list 'message-syntax-checks '(sender . disabled))) | |
1618 @end example | |
1619 @noindent | |
1620 | |
1621 @node [5.11] | |
1622 @subsubheading Question 5.11 | |
1623 | |
1624 I want Gnus to locally store copies of my send mail and | |
1625 news, how to do it? | |
1626 | |
1627 @subsubheading Answer | |
1628 | |
1629 You must set the variable gnus-message-archive-group to do | |
1630 this. You can set it to a string giving the name of the | |
1631 group where the copies shall go or like in the example | |
1632 below use a function which is evaluated and which returns | |
1633 the group to use. | |
1634 | |
1635 @example | |
1636 (setq gnus-message-archive-group | |
1637 '((if (message-news-p) | |
1638 "nnml:Send-News" | |
1639 "nnml:Send-Mail"))) | |
1640 @end example | |
1641 @noindent | |
1642 | |
1643 @node [5.12] | |
1644 @subsubheading Question 5.12 | |
1645 | |
1646 People tell me my Message-IDs are not correct, why | |
1647 aren't they and how to fix it? | |
1648 | |
1649 @subsubheading Answer | |
1650 | |
1651 The message-ID is an unique identifier for messages you | |
1652 send. To make it unique, Gnus need to know which machine | |
1653 name to put after the "@@". If the name of the machine | |
1654 where Gnus is running isn't suitable (it probably isn't | |
1655 at most private machines) you can tell Gnus what to use | |
1656 by saying: | |
1657 | |
1658 @example | |
1659 (setq message-user-fqdn "yourmachine.yourdomain.tld") | |
1660 @end example | |
1661 @noindent | |
1662 | |
1663 in ~/.gnus.el. If you use Gnus 5.9 or earlier, you can use this | |
1664 instead (works for newer versions a well): | |
1665 | |
1666 @example | |
1667 (eval-after-load "message" | |
1668 '(let ((fqdn "yourmachine.yourdomain.tld"));; <-- Edit this! | |
1669 (if (boundp 'message-user-fqdn) | |
1670 (setq message-user-fqdn fqdn) | |
1671 (gnus-message 1 "Redefining `message-make-fqdn'.") | |
1672 (defun message-make-fqdn () | |
1673 "Return user's fully qualified domain name." | |
1674 fqdn)))) | |
1675 @end example | |
1676 @noindent | |
1677 | |
1678 If you have no idea what to insert for | |
1679 "yourmachine.yourdomain.tld", you've got several | |
1680 choices. You can either ask your provider if he allows | |
1681 you to use something like | |
1682 yourUserName.userfqdn.provider.net, or you can use | |
1683 somethingUnique.yourdomain.tld if you own the domain | |
1684 yourdomain.tld, or you can register at a service which | |
85712
a3c27999decb
Update Gnus to No Gnus 0.7 from the Gnus CVS trunk
Miles Bader <miles@gnu.org>
parents:
84299
diff
changeset
|
1685 gives private users a FQDN for free. |
84299 | 1686 |
1687 Finally you can tell Gnus not to generate a Message-ID | |
1688 for News at all (and letting the server do the job) by saying | |
1689 | |
1690 @example | |
1691 (setq message-required-news-headers | |
1692 (remove' Message-ID message-required-news-headers)) | |
1693 @end example | |
1694 @noindent | |
1695 | |
1696 you can also tell Gnus not to generate Message-IDs for mail by saying | |
1697 | |
1698 @example | |
1699 (setq message-required-mail-headers | |
1700 (remove' Message-ID message-required-mail-headers)) | |
1701 @end example | |
1702 @noindent | |
1703 | |
1704 , however some mail servers don't generate proper | |
1705 Message-IDs, too, so test if your Mail Server behaves | |
1706 correctly by sending yourself a Mail and looking at the Message-ID. | |
1707 | |
1708 @node FAQ 6 - Old messages | |
1709 @subsection Old messages | |
1710 | |
1711 @menu | |
1712 * [6.1]:: How to import my old mail into Gnus? | |
1713 * [6.2]:: How to archive interesting messages? | |
1714 * [6.3]:: How to search for a specific message? | |
1715 * [6.4]:: How to get rid of old unwanted mail? | |
1716 * [6.5]:: I want that all read messages are expired (at least in some | |
1717 groups). How to do it? | |
1718 * [6.6]:: I don't want expiration to delete my mails but to move them | |
1719 to another group. | |
1720 @end menu | |
1721 | |
1722 @node [6.1] | |
1723 @subsubheading Question 6.1 | |
1724 | |
1725 How to import my old mail into Gnus? | |
1726 | |
1727 @subsubheading Answer | |
1728 | |
1729 The easiest way is to tell your old mail program to | |
1730 export the messages in mbox format. Most Unix mailers | |
1731 are able to do this, if you come from the MS Windows | |
1732 world, you may find tools at | |
1733 @uref{http://mbx2mbox.sourceforge.net/}. | |
1734 | |
1735 Now you've got to import this mbox file into Gnus. To do | |
1736 this, create a nndoc group based on the mbox file by | |
1737 saying @samp{G f /path/file.mbox RET} in | |
1738 Group buffer. You now have read-only access to your | |
1739 mail. If you want to import the messages to your normal | |
1740 Gnus mail groups hierarchy, enter the nndoc group you've | |
1741 just created by saying @samp{C-u RET} | |
1742 (thus making sure all messages are retrieved), mark all | |
1743 messages by saying @samp{M P b} and | |
1744 either copy them to the desired group by saying | |
1745 @samp{B c name.of.group RET} or send them | |
1746 through nnmail-split-methods (respool them) by saying | |
1747 @samp{B r}. | |
1748 | |
1749 @node [6.2] | |
1750 @subsubheading Question 6.2 | |
1751 | |
1752 How to archive interesting messages? | |
1753 | |
1754 @subsubheading Answer | |
1755 | |
1756 If you stumble across an interesting message, say in | |
1757 gnu.emacs.gnus and want to archive it there are several | |
1758 solutions. The first and easiest is to save it to a file | |
1759 by saying @samp{O f}. However, wouldn't | |
1760 it be much more convenient to have more direct access to | |
1761 the archived message from Gnus? If you say yes, put this | |
1762 snippet by Frank Haun <pille3003@@fhaun.de> in | |
1763 ~/.gnus.el: | |
1764 | |
1765 @example | |
1766 (defun my-archive-article (&optional n) | |
1767 "Copies one or more article(s) to a corresponding `nnml:' group, e.g. | |
1768 `gnus.ding' goes to `nnml:1.gnus.ding'. And `nnml:List-gnus.ding' goes | |
1769 to `nnml:1.List-gnus-ding'. | |
1770 | |
1771 Use process marks or mark a region in the summary buffer to archive | |
1772 more then one article." | |
1773 (interactive "P") | |
1774 (let ((archive-name | |
1775 (format | |
1776 "nnml:1.%s" | |
1777 (if (featurep 'xemacs) | |
1778 (replace-in-string gnus-newsgroup-name "^.*:" "") | |
1779 (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name))))) | |
1780 (gnus-summary-copy-article n archive-name))) | |
1781 @end example | |
1782 @noindent | |
1783 | |
1784 You can now say @samp{M-x | |
1785 my-archive-article} in summary buffer to | |
1786 archive the article under the cursor in a nnml | |
1787 group. (Change nnml to your preferred back end) | |
1788 | |
1789 Of course you can also make sure the cache is enabled by saying | |
1790 | |
1791 @example | |
1792 (setq gnus-use-cache t) | |
1793 @end example | |
1794 @noindent | |
1795 | |
1796 then you only have to set either the tick or the dormant | |
1797 mark for articles you want to keep, setting the read | |
1798 mark will remove them from cache. | |
1799 | |
1800 @node [6.3] | |
1801 @subsubheading Question 6.3 | |
1802 | |
1803 How to search for a specific message? | |
1804 | |
1805 @subsubheading Answer | |
1806 | |
1807 There are several ways for this, too. For a posting from | |
1808 a Usenet group the easiest solution is probably to ask | |
1809 @uref{http://groups.google.com, groups.google.com}, | |
1810 if you found the posting there, tell Google to display | |
1811 the raw message, look for the message-id, and say | |
1812 @samp{M-^ the@@message.id RET} in a | |
1813 summary buffer. | |
1814 Since Gnus 5.10 there's also a Gnus interface for | |
1815 groups.google.com which you can call with | |
1816 @samp{G W}) in group buffer. | |
1817 | |
1818 Another idea which works for both mail and news groups | |
1819 is to enter the group where the message you are | |
1820 searching is and use the standard Emacs search | |
1821 @samp{C-s}, it's smart enough to look at | |
1822 articles in collapsed threads, too. If you want to | |
1823 search bodies, too try @samp{M-s} | |
1824 instead. Further on there are the | |
1825 gnus-summary-limit-to-foo functions, which can help you, | |
1826 too. | |
1827 | |
1828 Of course you can also use grep to search through your | |
1829 local mail, but this is both slow for big archives and | |
1830 inconvenient since you are not displaying the found mail | |
1831 in Gnus. Here comes nnir into action. Nnir is a front end | |
1832 to search engines like swish-e or swish++ and | |
1833 others. You index your mail with one of those search | |
1834 engines and with the help of nnir you can search trough | |
1835 the indexed mail and generate a temporary group with all | |
1836 messages which met your search criteria. If this sound | |
1837 cool to you get nnir.el from | |
1838 @uref{ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/} | |
1839 or @uref{ftp://ftp.is.informatik.uni-duisburg.de/pub/src/emacs/}. | |
1840 Instructions on how to use it are at the top of the file. | |
1841 | |
1842 @node [6.4] | |
1843 @subsubheading Question 6.4 | |
1844 | |
1845 How to get rid of old unwanted mail? | |
1846 | |
1847 @subsubheading Answer | |
1848 | |
1849 You can of course just mark the mail you don't need | |
1850 anymore by saying @samp{#} with point | |
1851 over the mail and then say @samp{B DEL} | |
1852 to get rid of them forever. You could also instead of | |
1853 actually deleting them, send them to a junk-group by | |
1854 saying @samp{B m nnml:trash-bin} which | |
1855 you clear from time to time, but both are not the intended | |
1856 way in Gnus. | |
1857 | |
1858 In Gnus, we let mail expire like news expires on a news | |
1859 server. That means you tell Gnus the message is | |
1860 expirable (you tell Gnus "I don't need this mail | |
1861 anymore") by saying @samp{E} with point | |
1862 over the mail in summary buffer. Now when you leave the | |
1863 group, Gnus looks at all messages which you marked as | |
1864 expirable before and if they are old enough (default is | |
1865 older than a week) they are deleted. | |
1866 | |
1867 @node [6.5] | |
1868 @subsubheading Question 6.5 | |
1869 | |
1870 I want that all read messages are expired (at least in | |
1871 some groups). How to do it? | |
1872 | |
1873 @subsubheading Answer | |
1874 | |
1875 If you want all read messages to be expired (e.g. in | |
1876 mailing lists where there's an online archive), you've | |
1877 got two choices: auto-expire and | |
1878 total-expire. Auto-expire means, that every article | |
1879 which has no marks set and is selected for reading is | |
1880 marked as expirable, Gnus hits @samp{E} | |
1881 for you every time you read a message. Total-expire | |
1882 follows a slightly different approach, here all article | |
1883 where the read mark is set are expirable. | |
1884 | |
1885 To activate auto-expire, include auto-expire in the | |
1886 Group parameters for the group. (Hit @samp{G | |
1887 c} in summary buffer with point over the | |
1888 group to change group parameters). For total-expire add | |
1889 total-expire to the group-parameters. | |
1890 | |
1891 Which method you choose is merely a matter of taste: | |
1892 Auto-expire is faster, but it doesn't play together with | |
1893 Adaptive Scoring, so if you want to use this feature, | |
1894 you should use total-expire. | |
1895 | |
1896 If you want a message to be excluded from expiration in | |
1897 a group where total or auto expire is active, set either | |
1898 tick (hit @samp{u}) or dormant mark (hit | |
1899 @samp{u}), when you use auto-expire, you | |
1900 can also set the read mark (hit | |
1901 @samp{d}). | |
1902 | |
1903 @node [6.6] | |
1904 @subsubheading Question 6.6 | |
1905 | |
1906 I don't want expiration to delete my mails but to move them | |
1907 to another group. | |
1908 | |
1909 @subsubheading Answer | |
1910 | |
1911 Say something like this in ~/.gnus.el: | |
1912 | |
1913 @example | |
1914 (setq nnmail-expiry-target "nnml:expired") | |
1915 @end example | |
1916 @noindent | |
1917 | |
1918 (If you want to change the value of nnmail-expiry-target | |
1919 on a per group basis see the question "How can I disable | |
1920 threading in some (e.g. mail-) groups, or set other | |
1921 variables specific for some groups?") | |
1922 | |
1923 @node FAQ 7 - Gnus in a dial-up environment | |
1924 @subsection Gnus in a dial-up environment | |
1925 | |
1926 @menu | |
1927 * [7.1]:: I don't have a permanent connection to the net, how can I | |
1928 minimize the time I've got to be connected? | |
1929 * [7.2]:: So what was this thing about the Agent? | |
1930 * [7.3]:: I want to store article bodies on disk, too. How to do it? | |
1931 * [7.4]:: How to tell Gnus not to try to send mails / postings while | |
1932 I'm offline? | |
1933 @end menu | |
1934 | |
1935 @node [7.1] | |
1936 @subsubheading Question 7.1 | |
1937 | |
1938 I don't have a permanent connection to the net, how can | |
1939 I minimize the time I've got to be connected? | |
1940 | |
1941 @subsubheading Answer | |
1942 | |
1943 You've got basically two options: Either you use the | |
1944 Gnus Agent (see below) for this, or you can install | |
1945 programs which fetch your news and mail to your local | |
1946 disk and Gnus reads the stuff from your local | |
1947 machine. | |
1948 | |
1949 If you want to follow the second approach, you need a | |
1950 program which fetches news and offers them to Gnus, a | |
1951 program which does the same for mail and a program which | |
1952 receives the mail you write from Gnus and sends them | |
1953 when you're online. | |
1954 | |
1955 Let's talk about Unix systems first: For the news part, | |
1956 the easiest solution is a small nntp server like | |
1957 @uref{http://www.leafnode.org/, Leafnode} or | |
1958 @uref{http://infa.abo.fi/~patrik/sn/, sn}, | |
1959 of course you can also install a full featured news | |
1960 server like | |
1961 @uref{http://www.isc.org/products/INN/, inn}. | |
1962 Then you want to fetch your Mail, popular choices | |
1963 are @uref{http://www.catb.org/~esr/fetchmail/, fetchmail} | |
1964 and @uref{http://www.qcc.ca/~charlesc/software/getmail-3.0/, getmail}. | |
1965 You should tell those to write the mail to your disk and | |
1966 Gnus to read it from there. Last but not least the mail | |
1967 sending part: This can be done with every MTA like | |
1968 @uref{http://www.sendmail.org/, sendmail}, | |
1969 @uref{http://www.qmail.org/, postfix}, | |
1970 @uref{http://www.exim.org/, exim} or | |
1971 @uref{http://www.qmail.org/, qmail}. | |
1972 | |
1973 On windows boxes I'd vote for | |
1974 @uref{http://www.tglsoft.de/, Hamster}, | |
1975 it's a small freeware, open-source program which fetches | |
1976 your mail and news from remote servers and offers them | |
1977 to Gnus (or any other mail and/or news reader) via nntp | |
1978 respectively POP3 or IMAP. It also includes a smtp | |
1979 server for receiving mails from Gnus. | |
1980 | |
1981 @node [7.2] | |
1982 @subsubheading Question 7.2 | |
1983 | |
1984 So what was this thing about the Agent? | |
1985 | |
1986 @subsubheading Answer | |
1987 | |
1988 The Gnus agent is part of Gnus, it allows you to fetch | |
1989 mail and news and store them on disk for reading them | |
1990 later when you're offline. It kind of mimics offline | |
1991 newsreaders like e.g. Forte Agent. If you want to use | |
1992 the Agent place the following in ~/.gnus.el if you are | |
1993 still using 5.8.8 or 5.9 (it's the default since 5.10): | |
1994 | |
1995 @example | |
1996 (setq gnus-agent t) | |
1997 @end example | |
1998 @noindent | |
1999 | |
2000 Now you've got to select the servers whose groups can be | |
2001 stored locally. To do this, open the server buffer | |
2002 (that is press @samp{^} while in the | |
2003 group buffer). Now select a server by moving point to | |
2004 the line naming that server. Finally, agentize the | |
2005 server by typing @samp{J a}. If you | |
2006 make a mistake, or change your mind, you can undo this | |
2007 action by typing @samp{J r}. When | |
2008 you're done, type 'q' to return to the group buffer. | |
2009 Now the next time you enter a group on a agentized | |
2010 server, the headers will be stored on disk and read from | |
2011 there the next time you enter the group. | |
2012 | |
2013 @node [7.3] | |
2014 @subsubheading Question 7.3 | |
2015 | |
2016 I want to store article bodies on disk, too. How to do it? | |
2017 | |
2018 @subsubheading Answer | |
2019 | |
2020 You can tell the agent to automatically fetch the bodies | |
2021 of articles which fulfill certain predicates, this is | |
2022 done in a special buffer which can be reached by | |
2023 saying @samp{J c} in group | |
2024 buffer. Please refer to the documentation for | |
2025 information which predicates are possible and how | |
2026 exactly to do it. | |
2027 | |
2028 Further on you can tell the agent manually which | |
2029 articles to store on disk. There are two ways to do | |
2030 this: Number one: In the summary buffer, process mark a | |
2031 set of articles that shall be stored in the agent by | |
2032 saying @samp{#} with point over the | |
2033 article and then type @samp{J s}. The | |
2034 other possibility is to set, again in the summary | |
2035 buffer, downloadable (%) marks for the articles you | |
2036 want by typing @samp{@@} with point over | |
2037 the article and then typing @samp{J u}. | |
2038 What's the difference? Well, process marks are erased as | |
2039 soon as you exit the summary buffer while downloadable | |
2040 marks are permanent. You can actually set downloadable | |
2041 marks in several groups then use fetch session ('J s' in | |
2042 the GROUP buffer) to fetch all of those articles. The | |
2043 only downside is that fetch session also fetches all of | |
2044 the headers for every selected group on an agentized | |
2045 server. Depending on the volume of headers, the initial | |
2046 fetch session could take hours. | |
2047 | |
2048 @node [7.4] | |
2049 @subsubheading Question 7.4 | |
2050 | |
2051 How to tell Gnus not to try to send mails / postings | |
2052 while I'm offline? | |
2053 | |
2054 @subsubheading Answer | |
2055 | |
2056 All you've got to do is to tell Gnus when you are online | |
2057 (plugged) and when you are offline (unplugged), the rest | |
2058 works automatically. You can toggle plugged/unplugged | |
2059 state by saying @samp{J j} in group | |
2060 buffer. To start Gnus unplugged say @samp{M-x | |
2061 gnus-unplugged} instead of | |
2062 @samp{M-x gnus}. Note that for this to | |
2063 work, the agent must be active. | |
2064 | |
2065 @node FAQ 8 - Getting help | |
2066 @subsection Getting help | |
2067 | |
2068 @menu | |
2069 * [8.1]:: How to find information and help inside Emacs? | |
2070 * [8.2]:: I can't find anything in the Gnus manual about X (e.g. | |
2071 attachments, PGP, MIME...), is it not documented? | |
2072 * [8.3]:: Which websites should I know? | |
2073 * [8.4]:: Which mailing lists and newsgroups are there? | |
2074 * [8.5]:: Where to report bugs? | |
2075 * [8.6]:: I need real-time help, where to find it? | |
2076 @end menu | |
2077 | |
2078 @node [8.1] | |
2079 @subsubheading Question 8.1 | |
2080 | |
2081 How to find information and help inside Emacs? | |
2082 | |
2083 @subsubheading Answer | |
2084 | |
2085 The first stop should be the Gnus manual (Say | |
2086 @samp{C-h i d m Gnus RET} to start the | |
2087 Gnus manual, then walk through the menus or do a | |
2088 full-text search with @samp{s}). Then | |
2089 there are the general Emacs help commands starting with | |
2090 C-h, type @samp{C-h ? ?} to get a list | |
2091 of all available help commands and their meaning. Finally | |
2092 @samp{M-x apropos-command} lets you | |
2093 search through all available functions and @samp{M-x | |
2094 apropos} searches the bound variables. | |
2095 | |
2096 @node [8.2] | |
2097 @subsubheading Question 8.2 | |
2098 | |
2099 I can't find anything in the Gnus manual about X | |
2100 (e.g. attachments, PGP, MIME...), is it not documented? | |
2101 | |
2102 @subsubheading Answer | |
2103 | |
2104 There's not only the Gnus manual but also the manuals | |
2105 for message, emacs-mime, sieve and pgg. Those packages | |
2106 are distributed with Gnus and used by Gnus but aren't | |
2107 really part of core Gnus, so they are documented in | |
2108 different info files, you should have a look in those | |
2109 manuals, too. | |
2110 | |
2111 @node [8.3] | |
2112 @subsubheading Question 8.3 | |
2113 | |
2114 Which websites should I know? | |
2115 | |
2116 @subsubheading Answer | |
2117 | |
2118 The two most important ones are the | |
2119 @uref{http://www.gnus.org, official Gnus website}. | |
2120 and it's sister site | |
2121 @uref{http://my.gnus.org, my.gnus.org (MGO)}, | |
2122 hosting an archive of lisp snippets, howtos, a (not | |
2123 really finished) tutorial and this FAQ. | |
2124 | |
2125 Tell me about other sites which are interesting. | |
2126 | |
2127 @node [8.4] | |
2128 @subsubheading Question 8.4 | |
2129 | |
2130 Which mailing lists and newsgroups are there? | |
2131 | |
2132 @subsubheading Answer | |
2133 | |
2134 There's the newsgroup gnu.emacs.gnus | |
2135 (also available as | |
2136 @uref{http://dir.gmane.org/gmane.emacs.gnus.user, | |
2137 gmane.emacs.gnus.user}) | |
2138 which deals with general Gnus questions. | |
2139 The ding mailing list (ding@@gnus.org) deals with development of | |
2140 Gnus. You can read the ding list via NNTP, too under the name | |
2141 @uref{http://dir.gmane.org/gmane.emacs.gnus.general, | |
2142 gmane.emacs.gnus.general} from news.gmane.org. | |
2143 | |
2144 If you want to stay in the big8, | |
2145 news.software.newssreaders is also read by some Gnus | |
2146 users (but chances for qualified help are much better in | |
2147 the above groups) and if you speak German, there's | |
2148 de.comm.software.gnus. | |
2149 | |
2150 @node [8.5] | |
2151 @subsubheading Question 8.5 | |
2152 | |
2153 Where to report bugs? | |
2154 | |
2155 @subsubheading Answer | |
2156 | |
2157 Say @samp{M-x gnus-bug}, this will start | |
2158 a message to the | |
2159 @email{bugs@@gnus.org, gnus bug mailing list} | |
2160 including information about your environment which make | |
2161 it easier to help you. | |
2162 | |
2163 @node [8.6] | |
2164 @subsubheading Question 8.6 | |
2165 | |
2166 I need real-time help, where to find it? | |
2167 | |
2168 @subsubheading Answer | |
2169 | |
2170 Point your IRC client to irc.freenode.net, channel #gnus. | |
2171 | |
2172 @node FAQ 9 - Tuning Gnus | |
2173 @subsection Tuning Gnus | |
2174 | |
2175 @menu | |
2176 * [9.1]:: Starting Gnus is really slow, how to speed it up? | |
2177 * [9.2]:: How to speed up the process of entering a group? | |
2178 * [9.3]:: Sending mail becomes slower and slower, what's up? | |
2179 @end menu | |
2180 | |
2181 @node [9.1] | |
2182 @subsubheading Question 9.1 | |
2183 | |
2184 Starting Gnus is really slow, how to speed it up? | |
2185 | |
2186 @subsubheading Answer | |
2187 | |
2188 The reason for this could be the way Gnus reads it's | |
2189 active file, see the node "The Active File" in the Gnus | |
2190 manual for things you might try to speed the process up. | |
2191 An other idea would be to byte compile your ~/.gnus.el (say | |
2192 @samp{M-x byte-compile-file RET ~/.gnus.el | |
2193 RET} to do it). Finally, if you have require | |
2194 statements in your .gnus, you could replace them with | |
2195 eval-after-load, which loads the stuff not at startup | |
2196 time, but when it's needed. Say you've got this in your | |
2197 ~/.gnus.el: | |
2198 | |
2199 @example | |
2200 (require 'message) | |
2201 (add-to-list 'message-syntax-checks '(sender . disabled)) | |
2202 @end example | |
2203 @noindent | |
2204 | |
2205 then as soon as you start Gnus, message.el is loaded. If | |
2206 you replace it with | |
2207 | |
2208 @example | |
2209 (eval-after-load "message" | |
2210 '(add-to-list 'message-syntax-checks '(sender . disabled))) | |
2211 @end example | |
2212 @noindent | |
2213 | |
2214 it's loaded when it's needed. | |
2215 | |
2216 @node [9.2] | |
2217 @subsubheading Question 9.2 | |
2218 | |
2219 How to speed up the process of entering a group? | |
2220 | |
2221 @subsubheading Answer | |
2222 | |
2223 A speed killer is setting the variable | |
2224 gnus-fetch-old-headers to anything different from nil, | |
2225 so don't do this if speed is an issue. To speed up | |
2226 building of summary say | |
2227 | |
2228 @example | |
2229 (gnus-compile) | |
2230 @end example | |
2231 @noindent | |
2232 | |
2233 at the bottom of your ~/.gnus.el, this will make gnus | |
2234 byte-compile things like | |
2235 gnus-summary-line-format. | |
2236 then you could increase the value of gc-cons-threshold | |
2237 by saying something like | |
2238 | |
2239 @example | |
2240 (setq gc-cons-threshold 3500000) | |
2241 @end example | |
2242 @noindent | |
2243 | |
2244 in ~/.emacs. If you don't care about width of CJK | |
2245 characters or use Gnus 5.10 or younger together with a | |
2246 recent GNU Emacs, you should say | |
2247 | |
2248 @example | |
2249 (setq gnus-use-correct-string-widths nil) | |
2250 @end example | |
2251 @noindent | |
2252 | |
2253 in ~/.gnus.el (thanks to Jesper harder for the last | |
2254 two suggestions). Finally if you are still using 5.8.8 | |
2255 or 5.9 and experience speed problems with summary | |
2256 buffer generation, you definitely should update to | |
2257 5.10 since there quite some work on improving it has | |
2258 been done. | |
2259 | |
2260 @node [9.3] | |
2261 @subsubheading Question 9.3 | |
2262 | |
2263 Sending mail becomes slower and slower, what's up? | |
2264 | |
2265 @subsubheading Answer | |
2266 | |
2267 The reason could be that you told Gnus to archive the | |
2268 messages you wrote by setting | |
2269 gnus-message-archive-group. Try to use a nnml group | |
2270 instead of an archive group, this should bring you back | |
2271 to normal speed. | |
2272 | |
2273 @node FAQ - Glossary | |
2274 @subsection Glossary | |
2275 | |
2276 @table @dfn | |
2277 | |
2278 @item ~/.gnus.el | |
2279 When the term ~/.gnus.el is used it just means your Gnus | |
2280 configuration file. You might as well call it ~/.gnus or | |
2281 specify another name. | |
2282 | |
2283 @item Back End | |
2284 In Gnus terminology a back end is a virtual server, a layer | |
2285 between core Gnus and the real NNTP-, POP3-, IMAP- or | |
2286 whatever-server which offers Gnus a standardized interface | |
2287 to functions like "get message", "get Headers" etc. | |
2288 | |
2289 @item Emacs | |
2290 When the term Emacs is used in this FAQ, it means either GNU | |
2291 Emacs or XEmacs. | |
2292 | |
2293 @item Message | |
2294 In this FAQ message means a either a mail or a posting to a | |
2295 Usenet Newsgroup or to some other fancy back end, no matter | |
2296 of which kind it is. | |
2297 | |
2298 @item MUA | |
2299 MUA is an acronym for Mail User Agent, it's the program you | |
2300 use to read and write e-mails. | |
2301 | |
2302 @item NUA | |
2303 NUA is an acronym for News User Agent, it's the program you | |
2304 use to read and write Usenet news. | |
2305 | |
2306 @end table | |
2307 | |
2308 @ignore | |
2309 arch-tag: 64dc5692-edb4-4848-a965-7aa0181acbb8 | |
2310 @end ignore |