+@node FAQ 5-12
+@subsubheading Question 5.12
+
+I want Gnus to kill the buffer after successful sending instead of keeping
+it alive as "Sent mail to...", how to do it?
+
+@subsubheading Answer
+
+Add this to your ~/.gnus:
+
+@example
+(setq message-kill-buffer-on-exit t)
+@end example
+@noindent
+
+@node FAQ 5-13
+@subsubheading Question 5.13
+
+People tell me my Message-IDs are not correct, why
+aren't they and how to fix it?
+
+@subsubheading Answer
+
+The message-ID is an unique identifier for messages you
+send. To make it unique, Gnus need to know which machine
+name to put after the "@@". If the name of the machine
+where Gnus is running isn't suitable (it probably isn't
+at most private machines) you can tell Gnus what to use
+by saying:
+
+@example
+(setq message-user-fqdn "yourmachine.yourdomain.tld")
+@end example
+@noindent
+
+in ~/.gnus.el. If you use Gnus 5.9 or earlier, you can use this
+instead (works for newer versions as well):
+
+@example
+(eval-after-load "message"
+ '(let ((fqdn "yourmachine.yourdomain.tld"));; <-- Edit this!
+ (if (boundp 'message-user-fqdn)
+ (setq message-user-fqdn fqdn)
+ (gnus-message 1 "Redefining `message-make-fqdn'.")
+ (defun message-make-fqdn ()
+ "Return user's fully qualified domain name."
+ fqdn))))
+@end example
+@noindent
+
+If you have no idea what to insert for
+"yourmachine.yourdomain.tld", you've got several
+choices. You can either ask your provider if he allows
+you to use something like
+yourUserName.userfqdn.provider.net, or you can use
+somethingUnique.yourdomain.tld if you own the domain
+yourdomain.tld, or you can register at a service which
+gives private users a FQDN for free.
+
+Finally you can tell Gnus not to generate a Message-ID
+for News at all (and letting the server do the job) by saying
+
+@example
+(setq message-required-news-headers
+ (remove' Message-ID message-required-news-headers))
+@end example
+@noindent
+
+you can also tell Gnus not to generate Message-IDs for mail by saying
+
+@example
+(setq message-required-mail-headers
+ (remove' Message-ID message-required-mail-headers))
+@end example
+@noindent
+
+, however some mail servers don't generate proper
+Message-IDs, too, so test if your Mail Server behaves
+correctly by sending yourself a Mail and looking at the Message-ID.
+
+@node FAQ 6 - Old messages
+@subsection Old messages
+
+@menu
+* FAQ 6-1:: How to import my old mail into Gnus?
+* FAQ 6-2:: How to archive interesting messages?
+* FAQ 6-3:: How to search for a specific message?
+* FAQ 6-4:: How to get rid of old unwanted mail?
+* FAQ 6-5:: I want that all read messages are expired (at least in
+ some groups). How to do it?
+* FAQ 6-6:: I don't want expiration to delete my mails but to move
+ them to another group.
+@end menu
+
+@node FAQ 6-1
+@subsubheading Question 6.1
+
+How to import my old mail into Gnus?
+
+@subsubheading Answer
+
+The easiest way is to tell your old mail program to
+export the messages in mbox format. Most Unix mailers
+are able to do this, if you come from the MS Windows
+world, you may find tools at
+@uref{http://mbx2mbox.sourceforge.net/}.
+
+Now you've got to import this mbox file into Gnus. To do
+this, create a nndoc group based on the mbox file by
+saying @samp{G f /path/file.mbox RET} in
+Group buffer. You now have read-only access to your
+mail. If you want to import the messages to your normal
+Gnus mail groups hierarchy, enter the nndoc group you've
+just created by saying @samp{C-u RET}
+(thus making sure all messages are retrieved), mark all
+messages by saying @samp{M P b} and
+either copy them to the desired group by saying
+@samp{B c name.of.group RET} or send them
+through nnmail-split-methods (respool them) by saying
+@samp{B r}.
+
+@node FAQ 6-2
+@subsubheading Question 6.2
+
+How to archive interesting messages?
+
+@subsubheading Answer
+
+If you stumble across an interesting message, say in
+gnu.emacs.gnus and want to archive it there are several
+solutions. The first and easiest is to save it to a file
+by saying @samp{O f}. However, wouldn't
+it be much more convenient to have more direct access to
+the archived message from Gnus? If you say yes, put this
+snippet by Frank Haun <pille3003@@fhaun.de> in
+~/.gnus.el:
+
+@example
+(defun my-archive-article (&optional n)
+ "Copies one or more article(s) to a corresponding `nnml:' group, e.g.
+`gnus.ding' goes to `nnml:1.gnus.ding'. And `nnml:List-gnus.ding' goes
+to `nnml:1.List-gnus-ding'.
+
+Use process marks or mark a region in the summary buffer to archive
+more then one article."
+ (interactive "P")
+ (let ((archive-name
+ (format
+ "nnml:1.%s"
+ (if (featurep 'xemacs)
+ (replace-in-string gnus-newsgroup-name "^.*:" "")
+ (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name)))))
+ (gnus-summary-copy-article n archive-name)))
+@end example
+@noindent
+
+You can now say @samp{M-x
+my-archive-article} in summary buffer to
+archive the article under the cursor in a nnml
+group. (Change nnml to your preferred back end)
+
+Of course you can also make sure the cache is enabled by saying
+
+@example
+(setq gnus-use-cache t)
+@end example
+@noindent
+
+then you only have to set either the tick or the dormant
+mark for articles you want to keep, setting the read
+mark will remove them from cache.
+
+@node FAQ 6-3
+@subsubheading Question 6.3
+
+How to search for a specific message?
+
+@subsubheading Answer
+
+There are several ways for this, too. For a posting from
+a Usenet group the easiest solution is probably to ask
+@uref{http://groups.google.com, groups.google.com},
+if you found the posting there, tell Google to display
+the raw message, look for the message-id, and say
+@samp{M-^ the@@message.id RET} in a
+summary buffer.
+Since Gnus 5.10 there's also a Gnus interface for
+groups.google.com which you can call with
+@samp{G W}) in group buffer.
+
+Another idea which works for both mail and news groups
+is to enter the group where the message you are
+searching is and use the standard Emacs search
+@samp{C-s}, it's smart enough to look at
+articles in collapsed threads, too. If you want to
+search bodies, too try @samp{M-s}
+instead. Further on there are the
+gnus-summary-limit-to-foo functions, which can help you,
+too.
+
+Of course you can also use grep to search through your
+local mail, but this is both slow for big archives and
+inconvenient since you are not displaying the found mail
+in Gnus. Here comes nnir into action. Nnir is a front end
+to search engines like swish-e or swish++ and
+others. You index your mail with one of those search
+engines and with the help of nnir you can search trough
+the indexed mail and generate a temporary group with all
+messages which met your search criteria. If this sound
+cool to you get nnir.el from
+@uref{ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/}
+or @uref{ftp://ftp.is.informatik.uni-duisburg.de/pub/src/emacs/}.
+Instructions on how to use it are at the top of the file.
+
+@node FAQ 6-4
+@subsubheading Question 6.4
+
+How to get rid of old unwanted mail?
+
+@subsubheading Answer
+
+You can of course just mark the mail you don't need
+anymore by saying @samp{#} with point
+over the mail and then say @samp{B DEL}
+to get rid of them forever. You could also instead of
+actually deleting them, send them to a junk-group by
+saying @samp{B m nnml:trash-bin} which
+you clear from time to time, but both are not the intended
+way in Gnus.
+
+In Gnus, we let mail expire like news expires on a news
+server. That means you tell Gnus the message is
+expirable (you tell Gnus "I don't need this mail
+anymore") by saying @samp{E} with point
+over the mail in summary buffer. Now when you leave the
+group, Gnus looks at all messages which you marked as
+expirable before and if they are old enough (default is
+older than a week) they are deleted.
+
+@node FAQ 6-5
+@subsubheading Question 6.5
+
+I want that all read messages are expired (at least in
+some groups). How to do it?
+
+@subsubheading Answer
+
+If you want all read messages to be expired (e.g. in
+mailing lists where there's an online archive), you've
+got two choices: auto-expire and
+total-expire. Auto-expire means, that every article
+which has no marks set and is selected for reading is
+marked as expirable, Gnus hits @samp{E}
+for you every time you read a message. Total-expire
+follows a slightly different approach, here all article
+where the read mark is set are expirable.
+
+To activate auto-expire, include auto-expire in the
+Group parameters for the group. (Hit @samp{G
+c} in summary buffer with point over the
+group to change group parameters). For total-expire add
+total-expire to the group-parameters.
+
+Which method you choose is merely a matter of taste:
+Auto-expire is faster, but it doesn't play together with
+Adaptive Scoring, so if you want to use this feature,
+you should use total-expire.
+
+If you want a message to be excluded from expiration in
+a group where total or auto expire is active, set either
+tick (hit @samp{u}) or dormant mark (hit
+@samp{u}), when you use auto-expire, you
+can also set the read mark (hit
+@samp{d}).
+
+@node FAQ 6-6
+@subsubheading Question 6.6
+
+I don't want expiration to delete my mails but to move them
+to another group.
+
+@subsubheading Answer
+
+Say something like this in ~/.gnus.el:
+
+@example
+(setq nnmail-expiry-target "nnml:expired")
+@end example
+@noindent
+
+(If you want to change the value of nnmail-expiry-target
+on a per group basis see the question "How can I disable
+threading in some (e.g. mail-) groups, or set other
+variables specific for some groups?")
+
+@node FAQ 7 - Gnus in a dial-up environment
+@subsection Gnus in a dial-up environment
+
+@menu
+* FAQ 7-1:: I don't have a permanent connection to the net, how can I
+ minimize the time I've got to be connected?
+* FAQ 7-2:: So what was this thing about the Agent?
+* FAQ 7-3:: I want to store article bodies on disk, too. How to do
+ it?
+* FAQ 7-4:: How to tell Gnus not to try to send mails / postings
+ while I'm offline?
+@end menu
+
+@node FAQ 7-1
+@subsubheading Question 7.1
+
+I don't have a permanent connection to the net, how can
+I minimize the time I've got to be connected?
+
+@subsubheading Answer
+
+You've got basically two options: Either you use the
+Gnus Agent (see below) for this, or you can install
+programs which fetch your news and mail to your local
+disk and Gnus reads the stuff from your local
+machine.
+
+If you want to follow the second approach, you need a
+program which fetches news and offers them to Gnus, a
+program which does the same for mail and a program which
+receives the mail you write from Gnus and sends them
+when you're online.
+
+Let's talk about Unix systems first: For the news part,
+the easiest solution is a small nntp server like
+@uref{http://www.leafnode.org/, Leafnode} or
+@uref{http://infa.abo.fi/~patrik/sn/, sn},
+of course you can also install a full featured news
+server like
+@uref{http://www.isc.org/products/INN/, inn}.
+Then you want to fetch your Mail, popular choices
+are @uref{http://www.catb.org/~esr/fetchmail/, fetchmail}
+and @uref{http://pyropus.ca/software/getmail/, getmail}.
+You should tell those to write the mail to your disk and
+Gnus to read it from there. Last but not least the mail
+sending part: This can be done with every MTA like
+@uref{http://www.sendmail.org/, sendmail},
+@uref{http://www.qmail.org/, postfix},
+@uref{http://www.exim.org/, exim} or
+@uref{http://www.qmail.org/, qmail}.
+
+On windows boxes I'd vote for
+@uref{http://www.tglsoft.de/, Hamster},
+it's a small freeware, open-source program which fetches
+your mail and news from remote servers and offers them
+to Gnus (or any other mail and/or news reader) via nntp
+respectively POP3 or IMAP. It also includes a smtp
+server for receiving mails from Gnus.
+
+@node FAQ 7-2
+@subsubheading Question 7.2
+
+So what was this thing about the Agent?
+
+@subsubheading Answer
+
+The Gnus agent is part of Gnus, it allows you to fetch
+mail and news and store them on disk for reading them
+later when you're offline. It kind of mimics offline
+newsreaders like e.g. Forte Agent. If you want to use
+the Agent place the following in ~/.gnus.el if you are
+still using 5.8.8 or 5.9 (it's the default since 5.10):
+
+@example
+(setq gnus-agent t)
+@end example
+@noindent
+
+Now you've got to select the servers whose groups can be
+stored locally. To do this, open the server buffer
+(that is press @samp{^} while in the
+group buffer). Now select a server by moving point to
+the line naming that server. Finally, agentize the
+server by typing @samp{J a}. If you
+make a mistake, or change your mind, you can undo this
+action by typing @samp{J r}. When
+you're done, type 'q' to return to the group buffer.
+Now the next time you enter a group on a agentized
+server, the headers will be stored on disk and read from
+there the next time you enter the group.
+
+@node FAQ 7-3
+@subsubheading Question 7.3
+
+I want to store article bodies on disk, too. How to do it?
+
+@subsubheading Answer
+
+You can tell the agent to automatically fetch the bodies
+of articles which fulfill certain predicates, this is
+done in a special buffer which can be reached by
+saying @samp{J c} in group
+buffer. Please refer to the documentation for
+information which predicates are possible and how
+exactly to do it.
+
+Further on you can tell the agent manually which
+articles to store on disk. There are two ways to do
+this: Number one: In the summary buffer, process mark a
+set of articles that shall be stored in the agent by
+saying @samp{#} with point over the
+article and then type @samp{J s}. The
+other possibility is to set, again in the summary
+buffer, downloadable (%) marks for the articles you
+want by typing @samp{@@} with point over
+the article and then typing @samp{J u}.
+What's the difference? Well, process marks are erased as
+soon as you exit the summary buffer while downloadable
+marks are permanent. You can actually set downloadable
+marks in several groups then use fetch session ('J s' in
+the GROUP buffer) to fetch all of those articles. The
+only downside is that fetch session also fetches all of
+the headers for every selected group on an agentized
+server. Depending on the volume of headers, the initial
+fetch session could take hours.
+
+@node FAQ 7-4
+@subsubheading Question 7.4
+
+How to tell Gnus not to try to send mails / postings
+while I'm offline?
+
+@subsubheading Answer
+
+All you've got to do is to tell Gnus when you are online
+(plugged) and when you are offline (unplugged), the rest
+works automatically. You can toggle plugged/unplugged
+state by saying @samp{J j} in group
+buffer. To start Gnus unplugged say @samp{M-x
+gnus-unplugged} instead of
+@samp{M-x gnus}. Note that for this to
+work, the agent must be active.
+
+@node FAQ 8 - Getting help
+@subsection Getting help
+
+@menu
+* FAQ 8-1:: How to find information and help inside Emacs?
+* FAQ 8-2:: I can't find anything in the Gnus manual about X (e.g.
+ attachments, PGP, MIME...), is it not documented?
+* FAQ 8-3:: Which websites should I know?
+* FAQ 8-4:: Which mailing lists and newsgroups are there?
+* FAQ 8-5:: Where to report bugs?
+* FAQ 8-6:: I need real-time help, where to find it?
+@end menu
+
+@node FAQ 8-1
+@subsubheading Question 8.1
+
+How to find information and help inside Emacs?
+
+@subsubheading Answer
+
+The first stop should be the Gnus manual (Say
+@samp{C-h i d m Gnus RET} to start the
+Gnus manual, then walk through the menus or do a
+full-text search with @samp{s}). Then
+there are the general Emacs help commands starting with
+C-h, type @samp{C-h ? ?} to get a list
+of all available help commands and their meaning. Finally
+@samp{M-x apropos-command} lets you
+search through all available functions and @samp{M-x
+apropos} searches the bound variables.
+
+@node FAQ 8-2
+@subsubheading Question 8.2
+
+I can't find anything in the Gnus manual about X
+(e.g. attachments, PGP, MIME...), is it not documented?
+
+@subsubheading Answer
+
+There's not only the Gnus manual but also the manuals
+for message, emacs-mime, sieve and pgg. Those packages
+are distributed with Gnus and used by Gnus but aren't
+really part of core Gnus, so they are documented in
+different info files, you should have a look in those
+manuals, too.
+
+@node FAQ 8-3
+@subsubheading Question 8.3
+
+Which websites should I know?
+
+@subsubheading Answer
+
+The most important one is the
+@uref{http://www.gnus.org, official Gnus website}.
+
+Tell me about other sites which are interesting.
+
+@node FAQ 8-4
+@subsubheading Question 8.4
+
+Which mailing lists and newsgroups are there?
+
+@subsubheading Answer
+
+There's the newsgroup gnu.emacs.gnus (also available as
+@uref{http://dir.gmane.org/gmane.emacs.gnus.user,
+gmane.emacs.gnus.user}) which deals with general Gnus
+questions. If you have questions about development versions of
+Gnus, you should better ask on the ding mailing list, see below.
+
+If you want to stay in the big8,
+news.software.readers is also read by some Gnus
+users (but chances for qualified help are much better in
+the above groups). If you speak German, there's
+de.comm.software.gnus.
+
+The ding mailing list (ding@@gnus.org) deals with development of
+Gnus. You can read the ding list via NNTP, too under the name
+@uref{http://dir.gmane.org/gmane.emacs.gnus.general,
+gmane.emacs.gnus.general} from news.gmane.org.
+
+@node FAQ 8-5
+@subsubheading Question 8.5
+
+Where to report bugs?
+
+@subsubheading Answer
+
+Say @samp{M-x gnus-bug}, this will start
+a message to the
+@email{bugs@@gnus.org, gnus bug mailing list}
+including information about your environment which make
+it easier to help you.
+
+@node FAQ 8-6
+@subsubheading Question 8.6
+
+I need real-time help, where to find it?
+
+@subsubheading Answer
+
+Point your IRC client to irc.freenode.net, channel #gnus.
+
+@node FAQ 9 - Tuning Gnus
+@subsection Tuning Gnus
+
+@menu
+* FAQ 9-1:: Starting Gnus is really slow, how to speed it up?
+* FAQ 9-2:: How to speed up the process of entering a group?
+* FAQ 9-3:: Sending mail becomes slower and slower, what's up?
+@end menu
+
+@node FAQ 9-1
+@subsubheading Question 9.1
+
+Starting Gnus is really slow, how to speed it up?
+
+@subsubheading Answer
+
+The reason for this could be the way Gnus reads it's
+active file, see the node "The Active File" in the Gnus
+manual for things you might try to speed the process up.
+An other idea would be to byte compile your ~/.gnus.el (say
+@samp{M-x byte-compile-file RET ~/.gnus.el
+RET} to do it). Finally, if you have require
+statements in your .gnus, you could replace them with
+eval-after-load, which loads the stuff not at startup
+time, but when it's needed. Say you've got this in your
+~/.gnus.el:
+
+@example
+(require 'message)
+(add-to-list 'message-syntax-checks '(sender . disabled))
+@end example
+@noindent
+
+then as soon as you start Gnus, message.el is loaded. If
+you replace it with
+
+@example
+(eval-after-load "message"
+ '(add-to-list 'message-syntax-checks '(sender . disabled)))
+@end example
+@noindent
+
+it's loaded when it's needed.
+
+@node FAQ 9-2
+@subsubheading Question 9.2
+
+How to speed up the process of entering a group?
+
+@subsubheading Answer
+
+A speed killer is setting the variable
+gnus-fetch-old-headers to anything different from nil,
+so don't do this if speed is an issue. To speed up
+building of summary say
+
+@example
+(gnus-compile)
+@end example
+@noindent
+
+at the bottom of your ~/.gnus.el, this will make gnus
+byte-compile things like
+gnus-summary-line-format.
+then you could increase the value of gc-cons-threshold
+by saying something like
+
+@example
+(setq gc-cons-threshold 3500000)
+@end example
+@noindent
+
+in ~/.emacs. If you don't care about width of CJK
+characters or use Gnus 5.10 or younger together with a
+recent GNU Emacs, you should say
+
+@example
+(setq gnus-use-correct-string-widths nil)
+@end example
+@noindent
+
+in ~/.gnus.el (thanks to Jesper harder for the last
+two suggestions). Finally if you are still using 5.8.8
+or 5.9 and experience speed problems with summary
+buffer generation, you definitely should update to
+5.10 since there quite some work on improving it has
+been done.
+
+@node FAQ 9-3
+@subsubheading Question 9.3
+
+Sending mail becomes slower and slower, what's up?
+
+@subsubheading Answer
+
+The reason could be that you told Gnus to archive the
+messages you wrote by setting
+gnus-message-archive-group. Try to use a nnml group
+instead of an archive group, this should bring you back
+to normal speed.
+
+@node FAQ - Glossary
+@subsection Glossary
+
+@table @dfn
+
+@item ~/.gnus.el
+When the term ~/.gnus.el is used it just means your Gnus
+configuration file. You might as well call it ~/.gnus or
+specify another name.
+
+@item Back End
+In Gnus terminology a back end is a virtual server, a layer
+between core Gnus and the real NNTP-, POP3-, IMAP- or
+whatever-server which offers Gnus a standardized interface
+to functions like "get message", "get Headers" etc.
+
+@item Emacs
+When the term Emacs is used in this FAQ, it means either GNU
+Emacs or XEmacs.
+
+@item Message
+In this FAQ message means a either a mail or a posting to a
+Usenet Newsgroup or to some other fancy back end, no matter
+of which kind it is.
+
+@item MUA
+MUA is an acronym for Mail User Agent, it's the program you
+use to read and write e-mails.