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