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