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