Implement mailto: urls in gnus-html and shr.
[gnus] / texi / gnus-faq.texi
1 @c \input texinfo @c -*-texinfo-*-
2 @c Uncomment 1st line before texing this file alone.
3 @c %**start of header
4 @c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
5 @c   2009, 2010 Free Software Foundation, Inc.
6 @c
7 @setfilename gnus-faq.info
8 @settitle Frequently Asked Questions
9 @c %**end of header
10 @c
11
12 @node Frequently Asked Questions
13 @section Frequently Asked Questions
14
15 @menu
16 * FAQ - Changes::                           
17 * FAQ - Introduction::                       About Gnus and this FAQ.
18 * FAQ 1 - Installation FAQ::                 Installation of Gnus.
19 * FAQ 2 - Startup / Group buffer::           Start up questions and the
20                                              first buffer Gnus shows you.
21 * FAQ 3 - Getting Messages::                 Making Gnus read your mail
22                                              and news.
23 * FAQ 4 - Reading messages::                 How to efficiently read
24                                              messages.
25 * FAQ 5 - Composing messages::               Composing mails or Usenet
26                                              postings.
27 * FAQ 6 - Old messages::                     Importing, archiving,
28                                              searching and deleting messages.
29 * FAQ 7 - Gnus in a dial-up environment::    Reading mail and news while
30                                              offline.
31 * FAQ 8 - Getting help::                     When this FAQ isn't enough.
32 * FAQ 9 - Tuning Gnus::                      How to make Gnus faster.
33 * FAQ - Glossary::                           Terms used in the FAQ
34                                              explained.
35 @end menu
36
37 @subheading Abstract
38
39 This is the new Gnus Frequently Asked Questions list.
40
41 Please submit features and suggestions to the 
42 @email{ding@@gnus.org, ding list}.
43
44 @node FAQ - Changes
45 @subheading Changes
46
47
48
49 @itemize @bullet
50
51 @item
52 2008-06-15: Adjust for message-fill-column.  Add x-face-file.
53 Clarify difference between ding and gnu.emacs.gnus.  Remove
54 reference to discontinued service.
55
56 @item
57 2006-04-15: Added tip on how to delete sent buffer on exit.
58 @end itemize
59
60 @node FAQ - Introduction
61 @subheading Introduction
62
63 This is the Gnus Frequently Asked Questions list.
64
65 Gnus is a Usenet Newsreader and Electronic Mail User Agent implemented
66 as a part of Emacs. It's been around in some form for almost a decade
67 now, and has been distributed as a standard part of Emacs for much of
68 that time. Gnus 5 is the latest (and greatest) incarnation. The
69 original version was called GNUS, and was written by Masanobu UMEDA.
70 When autumn crept up in '94, Lars Magne Ingebrigtsen grew bored and
71 decided to rewrite Gnus.
72
73 Its biggest strength is the fact that it is extremely
74 customizable. It is somewhat intimidating at first glance, but
75 most of the complexity can be ignored until you're ready to take
76 advantage of it. If you receive a reasonable volume of e-mail
77 (you're on various mailing lists), or you would like to read
78 high-volume mailing lists but cannot keep up with them, or read
79 high volume newsgroups or are just bored, then Gnus is what you
80 want.
81
82 This FAQ was maintained by Justin Sheehy until March 2002. He
83 would like to thank Steve Baur and Per Abrahamsen for doing a wonderful
84 job with this FAQ before him. We would like to do the same - thanks,
85 Justin!
86
87 This version is much nicer than the unofficial hypertext
88 versions that are archived at Utrecht, Oxford, Smart Pages, Ohio
89 State, and other FAQ archives. See the resources question below
90 if you want information on obtaining it in another format.
91
92 The information contained here was compiled with the assistance
93 of the Gnus development mailing list, and any errors or
94 misprints are the Gnus team's fault, sorry.
95
96 @node FAQ 1 - Installation FAQ
97 @subsection Installation FAQ
98
99 @menu
100 * FAQ 1-1::    What is the latest version of Gnus?
101 * FAQ 1-2::    What's new in 5.10?
102 * FAQ 1-3::    Where and how to get Gnus?
103 * FAQ 1-4::    What to do with the tarball now?
104 * FAQ 1-5::    I sometimes read references to No Gnus and Oort Gnus,
105                what are those?
106 * FAQ 1-6::    Which version of Emacs do I need?
107 * FAQ 1-7::    How do I run Gnus on both Emacs and XEmacs?
108 @end menu
109
110 @node FAQ 1-1
111 @subsubheading Question 1.1
112
113 What is the latest version of Gnus?
114
115 @subsubheading Answer
116
117 Jingle please: Gnus 5.10 is released, get it while it's
118 hot! As well as the step in version number is rather
119 small, Gnus 5.10 has tons of new features which you
120 shouldn't miss. The current release (5.13) should be at
121 least as stable as the latest release of the 5.8 series.
122
123 @node FAQ 1-2
124 @subsubheading Question 1.2
125
126 What's new in 5.10?
127
128 @subsubheading Answer
129
130 First of all, you should have a look into the file
131 GNUS-NEWS in the toplevel directory of the Gnus tarball,
132 there the most important changes are listed. Here's a
133 short list of the changes I find especially
134 important/interesting:
135
136 @itemize @bullet
137
138 @item
139 Major rewrite of the Gnus agent, Gnus agent is now
140 active by default.
141
142 @item
143 Many new article washing functions for dealing with
144 ugly formatted articles.
145
146 @item
147 Anti Spam features.
148
149 @item
150 Message-utils now included in Gnus.
151
152 @item
153 New format specifiers for summary lines, e.g. %B for
154 a complex trn-style thread tree.
155 @end itemize
156
157 @node FAQ 1-3
158 @subsubheading Question 1.3
159
160 Where and how to get Gnus?
161
162 @subsubheading Answer
163
164 Gnus is released independent from releases of Emacs and XEmacs.
165 Therefore, the version bundled with Emacs or the version in XEmacs'
166 package system might not be up to date (e.g. Gnus 5.9 bundled with Emacs
167 21 is outdated).
168 You can get the latest released version of Gnus from
169 @uref{http://www.gnus.org/dist/gnus.tar.gz}
170 or via anonymous FTP from 
171 @uref{ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz}.
172
173 @node FAQ 1-4
174 @subsubheading Question 1.4
175
176 What to do with the tarball now?
177
178 @subsubheading Answer
179
180 Untar it via @samp{tar xvzf gnus.tar.gz} and do the common 
181 @samp{./configure; make; make install} circle.
182 (under MS-Windows either get the Cygwin environment from
183 @uref{http://www.cygwin.com}
184 which allows you to do what's described above or unpack the
185 tarball with some packer (e.g. Winace from
186 @uref{http://www.winace.com})
187 and use the batch-file make.bat included in the tarball to install
188 Gnus.) If you don't want to (or aren't allowed to) install Gnus
189 system-wide, you can install it in your home directory and add the
190 following lines to your ~/.xemacs/init.el or ~/.emacs:
191
192 @example
193 (add-to-list 'load-path "/path/to/gnus/lisp")
194 (if (featurep 'xemacs)
195     (add-to-list 'Info-directory-list "/path/to/gnus/texi/")
196   (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/"))
197 @end example
198 @noindent
199
200 Make sure that you don't have any Gnus related stuff
201 before this line, on MS Windows use something like
202 "C:/path/to/lisp" (yes, "/").
203
204 @node FAQ 1-5
205 @subsubheading Question 1.5
206
207 I sometimes read references to No Gnus and Oort Gnus,
208 what are those?
209
210 @subsubheading Answer
211
212 Oort Gnus was the name of the development version of
213 Gnus, which became Gnus 5.10 in autumn 2003. No Gnus is
214 the name of the current development version which will
215 once become Gnus 5.12 or Gnus 6. (If you're wondering why
216 not 5.11, the odd version numbers are normally used for
217 the Gnus versions bundled with Emacs)
218
219 @node FAQ 1-6
220 @subsubheading Question 1.6
221
222 Which version of Emacs do I need?
223
224 @subsubheading Answer
225
226 Gnus 5.10 requires an Emacs version that is greater than or equal
227 to Emacs 20.7 or XEmacs 21.1.
228 The development versions of Gnus (aka No Gnus) requires Emacs 21
229 or XEmacs 21.4.
230
231 @node FAQ 1-7
232 @subsubheading Question 1.7
233
234 How do I run Gnus on both Emacs and XEmacs?
235
236 @subsubheading 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 @node FAQ 2 - Startup / Group buffer
244 @subsection Startup / Group buffer
245
246 @menu
247 * FAQ 2-1::    Every time I start Gnus I get a message "Gnus auto-save
248                file exists. Do you want to read it?", what does this mean and
249                how to prevent it?
250 * FAQ 2-2::    Gnus doesn't remember which groups I'm subscribed to,
251                what's this?
252 * FAQ 2-3::    How to change the format of the lines in Group buffer?
253 * FAQ 2-4::    My group buffer becomes a bit crowded, is there a way to
254                sort my groups into categories so I can easier browse through
255                them?
256 * FAQ 2-5::    How to manually sort the groups in Group buffer? How to
257                sort the groups in a topic?
258 @end menu
259
260 @node FAQ 2-1
261 @subsubheading Question 2.1
262
263 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
265 and how to prevent it?
266
267 @subsubheading Answer
268
269 This message means that the last time you used Gnus, it
270 wasn't properly exited and therefor couldn't write its
271 informations to disk (e.g. which messages you read), you
272 are now asked if you want to restore those informations
273 from the auto-save file.
274
275 To prevent this message make sure you exit Gnus
276 via @samp{q} in group buffer instead of
277 just killing Emacs.
278
279 @node FAQ 2-2
280 @subsubheading Question 2.2
281
282 Gnus doesn't remember which groups I'm subscribed to,
283 what's this?
284
285 @subsubheading Answer
286
287 You get the message described in the q/a pair above while
288 starting Gnus, right? It's an other symptom for the same
289 problem, so read the answer above.
290
291 @node FAQ 2-3
292 @subsubheading Question 2.3
293
294 How to change the format of the lines in Group buffer?
295
296 @subsubheading Answer
297
298 You've got to tweak the value of the variable
299 gnus-group-line-format. See the manual node "Group Line
300 Specification" for information on how to do this. An
301 example for this (guess from whose .gnus :-)):
302
303 @example
304 (setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n")
305 @end example
306 @noindent
307
308 @node FAQ 2-4
309 @subsubheading Question 2.4
310
311 My group buffer becomes a bit crowded, is there a way to
312 sort my groups into categories so I can easier browse
313 through them?
314
315 @subsubheading Answer
316
317 Gnus offers the topic mode, it allows you to sort your
318 groups in, well, topics, e.g. all groups dealing with
319 Linux under the topic linux, all dealing with music under
320 the topic music and all dealing with scottish music under
321 the topic scottish which is a subtopic of music.
322
323 To enter topic mode, just hit t while in Group buffer. Now
324 you can use @samp{T n} to create a topic
325 at point and @samp{T m} to move a group to
326 a specific topic. For more commands see the manual or the
327 menu. You might want to include the %P specifier at the
328 beginning of your gnus-group-line-format variable to have
329 the groups nicely indented.
330
331 @node FAQ 2-5
332 @subsubheading Question 2.5
333
334 How to manually sort the groups in Group buffer? How to
335 sort the groups in a topic?
336
337 @subsubheading Answer
338
339 Move point over the group you want to move and
340 hit @samp{C-k}, now move point to the
341 place where you want the group to be and
342 hit @samp{C-y}.
343
344 @node FAQ 3 - Getting Messages
345 @subsection Getting Messages
346
347 @menu
348 * FAQ 3-1::     I just installed Gnus, started it via  @samp{M-x gnus} 
349                 but it only says "nntp (news) open error", what to do?
350 * FAQ 3-2::     I'm working under Windows and have no idea what
351                 ~/.gnus.el means.
352 * FAQ 3-3::     My news server requires authentication, how to store
353                 user name and password on disk?
354 * FAQ 3-4::     Gnus seems to start up OK, but I can't find out how to
355                 subscribe to a group.
356 * FAQ 3-5::     Gnus doesn't show all groups / Gnus says I'm not allowed
357                 to post on this server as well as I am, what's that?
358 * FAQ 3-6::     I want Gnus to fetch news from several servers, is this
359                 possible?
360 * FAQ 3-7::     And how about local spool files?
361 * FAQ 3-8::     OK, reading news works now, but I want to be able to
362                 read my mail with Gnus, too. How to do it?
363 * FAQ 3-9::     And what about IMAP?
364 * FAQ 3-10::    At the office we use one of those MS Exchange servers,
365                 can I use Gnus to read my mail from it?
366 * FAQ 3-11::    Can I tell Gnus not to delete the mails on the server it
367                 retrieves via POP3?
368 @end menu
369
370 @node FAQ 3-1
371 @subsubheading Question 3.1
372
373 I just installed Gnus, started it via 
374 @samp{M-x gnus} 
375 but it only says "nntp (news) open error", what to do?
376
377 @subsubheading Answer
378
379 You've got to tell Gnus where to fetch the news from. Read
380 the documentation for information on how to do this. As a
381 first start, put those lines in ~/.gnus.el:
382
383 @example
384 (setq gnus-select-method '(nntp "news.yourprovider.net"))
385 (setq user-mail-address "you@@yourprovider.net")
386 (setq user-full-name "Your Name")
387 @end example
388 @noindent
389
390 @node FAQ 3-2
391 @subsubheading Question 3.2
392
393 I'm working under Windows and have no idea what ~/.gnus.el means.
394
395 @subsubheading Answer
396
397 The ~/ means the home directory where Gnus and Emacs look
398 for the configuration files.  However, you don't really
399 need to know what this means, it suffices that Emacs knows
400 what it means :-) You can type 
401 @samp{C-x C-f ~/.gnus.el RET } 
402 (yes, with the forward slash, even on Windows), and
403 Emacs will open the right file for you.  (It will most
404 likely be new, and thus empty.)
405 However, I'd discourage you from doing so, since the
406 directory Emacs chooses will most certainly not be what
407 you want, so let's do it the correct way. 
408 The first thing you've got to do is to
409 create a suitable directory (no blanks in directory name
410 please) e.g. c:\myhome. Then you must set the environment
411 variable HOME to this directory.  To do this under Win9x
412 or Me include the line
413
414 @example
415 SET HOME=C:\myhome
416 @end example
417 @noindent
418
419 in your autoexec.bat and reboot.  Under NT, 2000 and XP, hit
420 Winkey+Pause/Break to enter system options (if it doesn't work, go
421 to Control Panel -> System -> Advanced). There you'll find the
422 possibility to set environment variables.  Create a new one with
423 name HOME and value C:\myhome.  Rebooting is not necessary.
424
425 Now to create ~/.gnus.el, say
426 @samp{C-x C-f ~/.gnus.el RET C-x C-s}.
427 in Emacs.
428
429 @node FAQ 3-3
430 @subsubheading Question 3.3
431
432 My news server requires authentication, how to store
433 user name and password on disk?
434
435 @subsubheading Answer
436
437 Create a file ~/.authinfo which includes for each server a line like this
438
439 @example
440 machine news.yourprovider.net login YourUserName password YourPassword
441 @end example
442 @noindent
443 .
444 Make sure that the file isn't readable to others if you
445 work on a OS which is capable of doing so.  (Under Unix
446 say 
447 @example
448 chmod 600 ~/.authinfo
449 @end example
450 @noindent
451
452 in a shell.)
453
454 @node FAQ 3-4
455 @subsubheading Question 3.4
456
457 Gnus seems to start up OK, but I can't find out how to
458 subscribe to a group.
459
460 @subsubheading Answer
461
462 If you know the name of the group say @samp{U
463 name.of.group RET} in group buffer (use the
464 tab-completion Luke). Otherwise hit ^ in group buffer,
465 this brings you to the server buffer. Now place point (the
466 cursor) over the server which carries the group you want,
467 hit @samp{RET}, move point to the group
468 you want to subscribe to and say @samp{u}
469 to subscribe to it.
470
471 @node FAQ 3-5
472 @subsubheading Question 3.5
473
474 Gnus doesn't show all groups / Gnus says I'm not allowed to
475 post on this server as well as I am, what's that?
476
477 @subsubheading Answer
478
479 Some providers allow restricted anonymous access and full
480 access only after authorization. To make Gnus send authinfo
481 to those servers append 
482
483 @example
484 force yes
485 @end example
486 @noindent
487  
488 to the line for those servers in ~/.authinfo.
489
490 @node FAQ 3-6
491 @subsubheading Question 3.6
492
493 I want Gnus to fetch news from several servers, is this possible?
494
495 @subsubheading Answer
496
497 Of course. You can specify more sources for articles in the
498 variable gnus-secondary-select-methods. Add something like
499 this in ~/.gnus.el:
500
501 @example
502 (add-to-list 'gnus-secondary-select-methods
503              '(nntp "news.yourSecondProvider.net"))
504 (add-to-list 'gnus-secondary-select-methods
505              '(nntp "news.yourThirdProvider.net"))
506 @end example
507 @noindent
508
509 @node FAQ 3-7
510 @subsubheading Question 3.7
511
512 And how about local spool files?
513
514 @subsubheading Answer
515
516 No problem, this is just one more select method called
517 nnspool, so you want this:
518
519 @example
520 (add-to-list 'gnus-secondary-select-methods '(nnspool ""))
521 @end example
522 @noindent
523
524 Or this if you don't want an NNTP Server as primary news source:
525
526 @example
527 (setq gnus-select-method '(nnspool ""))
528 @end example
529 @noindent
530
531 Gnus will look for the spool file in /usr/spool/news, if you
532 want something different, change the line above to something like this:
533
534 @example
535 (add-to-list 'gnus-secondary-select-methods
536              '(nnspool ""
537                        (nnspool-directory "/usr/local/myspoolddir")))
538 @end example
539 @noindent
540
541 This sets the spool directory for this server only.
542 You might have to specify more stuff like the program used
543 to post articles, see the Gnus manual on how to do this.
544
545 @node FAQ 3-8
546 @subsubheading Question 3.8
547
548 OK, reading news works now, but I want to be able to read my mail
549 with Gnus, too. How to do it?
550
551 @subsubheading Answer
552
553 That's a bit harder since there are many possible sources
554 for mail, many possible ways for storing mail and many
555 different ways for sending mail. The most common cases are
556 these: 1: You want to read your mail from a pop3 server and
557 send them directly to a SMTP Server 2: Some program like
558 fetchmail retrieves your mail and stores it on disk from
559 where Gnus shall read it. Outgoing mail is sent by
560 Sendmail, Postfix or some other MTA. Sometimes, you even
561 need a combination of the above cases.
562
563 However, the first thing to do is to tell Gnus in which way
564 it should store the mail, in Gnus terminology which back end
565 to use. Gnus supports many different back ends, the most
566 commonly used one is nnml. It stores every mail in one file
567 and is therefor quite fast. However you might prefer a one
568 file per group approach if your file system has problems with
569 many small files, the nnfolder back end is then probably the
570 choice for you.  To use nnml add the following to ~/.gnus.el:
571
572 @example
573 (add-to-list 'gnus-secondary-select-methods '(nnml ""))
574 @end example
575 @noindent
576
577 As you might have guessed, if you want nnfolder, it's
578
579 @example
580 (add-to-list 'gnus-secondary-select-methods '(nnfolder ""))
581 @end example
582 @noindent
583
584 Now we need to tell Gnus, where to get it's mail from. If
585 it's a POP3 server, then you need something like this:
586
587 @example
588 (eval-after-load "mail-source"
589   '(add-to-list 'mail-sources '(pop :server "pop.YourProvider.net"
590                                     :user "yourUserName"
591                                     :password "yourPassword")))
592 @end example
593 @noindent
594
595 Make sure ~/.gnus.el isn't readable to others if you store
596 your password there. If you want to read your mail from a
597 traditional spool file on your local machine, it's
598
599 @example
600 (eval-after-load "mail-source"
601   '(add-to-list 'mail-sources '(file :path "/path/to/spool/file"))
602 @end example
603 @noindent
604
605 If it's a Maildir, with one file per message as used by
606 postfix, Qmail and (optionally) fetchmail it's
607
608 @example
609 (eval-after-load "mail-source"
610   '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/"
611                                         :subdirs ("cur" "new")))
612 @end example
613 @noindent
614
615 And finally if you want to read your mail from several files
616 in one directory, for example because procmail already split your
617 mail, it's
618
619 @example
620 (eval-after-load "mail-source"
621   '(add-to-list 'mail-sources
622                 '(directory :path "/path/to/procmail-dir/"
623                             :suffix ".prcml")))
624 @end example
625 @noindent
626
627 Where :suffix ".prcml" tells Gnus only to use files with the
628 suffix .prcml.
629
630 OK, now you only need to tell Gnus how to send mail. If you
631 want to send mail via sendmail (or whichever MTA is playing
632 the role of sendmail on your system), you don't need to do
633 anything. However, if you want to send your mail to an
634 SMTP Server you need the following in your ~/.gnus.el
635
636 @example
637 (setq send-mail-function 'smtpmail-send-it)
638 (setq message-send-mail-function 'smtpmail-send-it)
639 (setq smtpmail-default-smtp-server "smtp.yourProvider.net")
640 @end example
641 @noindent
642
643 @node FAQ 3-9
644 @subsubheading Question 3.9
645
646 And what about IMAP?
647
648 @subsubheading Answer
649
650 There are two ways of using IMAP with Gnus. The first one is
651 to use IMAP like POP3, that means Gnus fetches the mail from
652 the IMAP server and stores it on disk. If you want to do
653 this (you don't really want to do this) add the following to
654 ~/.gnus.el
655
656 @example
657 (add-to-list 'mail-sources '(imap :server "mail.mycorp.com"
658                                   :user "username"
659                                   :pass "password"
660                                   :stream network
661                                   :authentication login
662                                   :mailbox "INBOX"
663                                   :fetchflag "\\Seen"))
664 @end example
665 @noindent
666
667 You might have to tweak the values for stream and/or
668 authentication, see the Gnus manual node "Mail Source
669 Specifiers" for possible values.
670
671 If you want to use IMAP the way it's intended, you've got to
672 follow a different approach.  You've got to add the nnimap
673 back end to your select method and give the information
674 about the server there.
675
676 @example
677 (add-to-list 'gnus-secondary-select-methods
678              '(nnimap "Give the baby a name"
679                       (nnimap-address "imap.yourProvider.net")
680                       (nnimap-port 143)
681                       (nnimap-list-pattern "archive.*")))
682 @end example
683 @noindent
684
685 Again, you might have to specify how to authenticate to the
686 server if Gnus can't guess the correct way, see the Manual
687 Node "IMAP" for detailed information.
688
689 @node FAQ 3-10
690 @subsubheading Question 3.10
691
692 At the office we use one of those MS Exchange servers, can I use
693 Gnus to read my mail from it?
694
695 @subsubheading Answer
696
697 Offer your administrator a pair of new running shoes for
698 activating IMAP on the server and follow the instructions
699 above.
700
701 @node FAQ 3-11
702 @subsubheading Question 3.11
703
704 Can I tell Gnus not to delete the mails on the server it
705 retrieves via POP3?
706
707 @subsubheading Answer
708
709 First of all, that's not the way POP3 is intended to work,
710 if you have the possibility, you should use the IMAP
711 Protocol if you want your messages to stay on the
712 server. Nevertheless there might be situations where you
713 need the feature, but sadly Gnus itself has no predefined
714 functionality to do so.
715
716 However this is Gnus county so there are possibilities to
717 achieve what you want. The easiest way is to get an external
718 program which retrieves copies of the mail and stores them
719 on disk, so Gnus can read it from there. On Unix systems you
720 could use e.g. fetchmail for this, on MS Windows you can use
721 Hamster, an excellent local news and mail server.
722
723 The other solution would be, to replace the method Gnus
724 uses to get mail from POP3 servers by one which is capable