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