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