1 @c Insert "\input texinfo" at 1st line before texing this file alone.
3 @c Copyright (C) 1995, 2001, 2003 Free Software Foundation, Inc.
4 @setfilename gnus-faq.info
6 @c Frequently Asked Questions, FAQ - Introduction, Emacs for Heathens, Top
8 @node Frequently Asked Questions
9 @comment node-name, next, previous, up
11 @c @chapter Frequently Asked Questions
12 @section Frequently Asked Questions
14 @c - Uncomment @chapter, comment @section
15 @c - run (texinfo-every-node-update)
19 * FAQ - Introduction:: About Gnus and this FAQ.
20 * FAQ 1 - Installation:: Installation of Gnus.
21 * FAQ 2 - Startup / Group buffer:: Start up questions and the first buffer Gnus shows you.
22 * FAQ 3 - Getting messages:: Making Gnus read your mail and news.
23 * FAQ 4 - Reading messages:: How to efficiently read messages.
24 * FAQ 5 - Composing messages:: Composing mails or Usenet postings.
25 * FAQ 6 - Old messages:: Importing, archiving, searching and deleting messages.
26 * FAQ 7 - Gnus in a dial-up environment:: Reading mail and news while offline.
27 * FAQ 8 - Getting help:: When this FAQ isn't enough.
28 * FAQ 9 - Tuning Gnus:: How to make Gnus faster.
29 * FAQ - Glossary:: Terms used in the FAQ explained.
35 This is the new Gnus Frequently Asked Questions list. If you have a
36 Web browser, the official hypertext version is at
37 @uref{http://my.gnus.org/FAQ/}, the Docbook source is available from
38 @uref{http://sourceforge.net/projects/gnus/}.
41 Please submit features and suggestions to the
42 @uref{mailto:faq-discuss@@my.gnus.org,FAQ discussion list}.
43 The list is protected against junk mail with
44 @uref{http://smarden.org/qconfirm/index.html,qconfirm}. As
45 a subscriber, your submissions will automatically pass. You can
46 also subscribe to the list by sending a blank email to
47 @email{faq-discuss-subscribe@@my.gnus.org}
48 and @uref{http://mail1.kens.com/cgi-bin/ezmlm-browse?command=monthbythread%26list=faq-discuss,browse the archive}.
50 @node FAQ - Introduction, FAQ 1 - Installation, Frequently Asked Questions, Frequently Asked Questions
51 @comment node-name, next, previous, up
54 This is the Gnus Frequently Asked Questions list.
56 Gnus is a Usenet Newsreader and Electronic Mail User Agent implemented
57 as a part of Emacs. It's been around in some form for almost a decade
58 now, and has been distributed as a standard part of Emacs for much of
59 that time. Gnus 5 is the latest (and greatest) incarnation. The
60 original version was called GNUS, and was written by Masanobu UMEDA.
61 When autumn crept up in '94, Lars Magne Ingebrigtsen grew bored and
62 decided to rewrite Gnus.
64 Its biggest strength is the fact that it is extremely
65 customizable. It is somewhat intimidating at first glance, but
66 most of the complexity can be ignored until you're ready to take
67 advantage of it. If you receive a reasonable volume of e-mail
68 (you're on various mailing lists), or you would like to read
69 high-volume mailing lists but cannot keep up with them, or read
70 high volume newsgroups or are just bored, then Gnus is what you
73 This FAQ was maintained by Justin Sheehy until March 2002. He
74 would like to thank Steve Baur and Per Abrahamsen for doing a wonderful
75 job with this FAQ before him. We would like to do the same - thanks,
79 If you have a Web browser, the official hypertext version is at:
80 @uref{http://my.gnus.org/FAQ/}.
81 This version is much nicer than the unofficial hypertext
82 versions that are archived at Utrecht, Oxford, Smart Pages, Ohio
83 State, and other FAQ archives. See the resources question below
84 if you want information on obtaining it in another format.
87 The information contained here was compiled with the assistance
88 of the Gnus development mailing list, and any errors or
89 misprints are the my.gnus.org team's fault, sorry.
93 @node FAQ 1 - Installation, FAQ 2 - Startup / Group buffer, FAQ - Introduction, Frequently Asked Questions
98 * [1.1]:: What is the latest version of Gnus?
99 * [1.2]:: What's new in 5.10.0?
100 * [1.3]:: Where and how to get Gnus?
101 * [1.4]:: What to do with the tarball now?
102 * [1.5]:: Which version of Emacs do I need?
103 * [1.6]:: How do I run Gnus on both Emacs and XEmacs?
108 @node [1.1], [1.2], FAQ 1 - Installation, FAQ 1 - Installation
110 @subheading Question 1.1:
112 What is the latest version of Gnus?
116 Jingle please: Gnus 5.10.0 is released, get it while it's
117 hot! As well as the step in version number is rather
118 small, Gnus 5.10 has tons of new features which you
119 shouldn't miss, however if you are cautious, you might
120 prefer to stay with 5.8.8 respectively 5.9 (they are
121 basically the same) until some bugfix releases are out.
124 @node [1.2], [1.3], [1.1], FAQ 1 - Installation
126 @subheading Question 1.2:
128 What's new in 5.10.0?
132 First of all, you should have a look into the file
133 GNUS-NEWS in the toplevel directory of the Gnus tarball,
134 there the most important changes are listed. Here's a
135 short list of the changes I find especially
136 important/interesting:
144 Major rewrite of the Gnus agent, Gnus agent is now
148 Many new article washing functions for dealing with
149 ugly formatted articles.
155 message-utils now included in Gnus.
158 New format specifiers for summary lines, e.g. %B for
159 a complex trn-style thread tree.
164 @node [1.3], [1.4], [1.2], FAQ 1 - Installation
166 @subheading Question 1.3:
168 Where and how to get Gnus?
172 The latest released version of Gnus isn't included in
173 Emacs 21 and until now it also isn't available through the
174 package system of XEmacs 21.4, therefor you should get the
176 @uref{http://www.gnus.org/dist/gnus.tar.gz}
177 or via anonymous FTP from
178 @uref{ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz}.
181 @node [1.4], [1.5], [1.3], FAQ 1 - Installation
183 @subheading Question 1.4:
185 What to do with the tarball now?
190 Untar it via @samp{tar xvzf gnus.tar.gz} and do the common
191 @samp{./configure; make; make install} circle.
192 (under MS-Windows either get the Cygwin environment from
193 @uref{http://www.cygwin.com}
194 which allows you to do what's described above or unpack the
195 tarball with some packer (e.g. Winace from
196 @uref{http://www.winace.com})
197 and use the batch-file make.bat included in the tarball to install
198 Gnus. If you don't want to (or aren't allowed to) install Gnus
199 system-wide, you can install it in your home directory and add the
200 following lines to your ~/.xemacs/init.el or ~/.emacs:
205 (add-to-list 'load-path "/path/to/gnus/lisp")
206 (if (featurep 'xemacs)
207 (add-to-list 'Info-directory-list "/path/to/gnus/texi/")
208 (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/"))
213 Make sure that you don't have any gnus related stuff
214 before this line, on MS Windows use something like
215 "C:/path/to/lisp" (yes, "/").
218 @node [1.5], [1.6], [1.4], FAQ 1 - Installation
220 @subheading Question 1.5:
222 Which version of Emacs do I need?
226 Gnus 5.10.0 requires an Emacs version that is greater
227 than or equal to Emacs 20.3 or XEmacs 20.1.
230 @node [1.6], , [1.5], FAQ 1 - Installation
232 @subheading Question 1.6:
234 How do I run Gnus on both Emacs and XEmacs?
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.
244 @node FAQ 2 - Startup / Group buffer, FAQ 3 - Getting messages, FAQ 1 - Installation, Frequently Asked Questions
246 @section Startup / Group buffer
249 * [2.1]:: Every time I start Gnus I get a message "Gnus auto-save file exists. Do you want to read it?", what does this mean and how to prevent it?
250 * [2.2]:: Gnus doesn't remember which groups I'm subscribed to, what's this?
251 * [2.3]:: How to change the format of the lines in Group buffer?
252 * [2.4]:: My group buffer becomes a bit crowded, is there a way to sort my groups into categories so I can easier browse through them?
253 * [2.5]:: How to manually sort the groups in Group buffer? How to sort the groups in a topic?
257 @node [2.1], [2.2], FAQ 2 - Startup / Group buffer, FAQ 2 - Startup / Group buffer
259 @subheading Question 2.1:
261 Every time I start Gnus I get a message "Gnus auto-save
262 file exists. Do you want to read it?", what does this mean
263 and how to prevent it?
268 This message means that the last time you used Gnus, it
269 wasn't properly exited and therefor couldn't write its
270 informations to disk (e.g. which messages you read), you
271 are now asked if you want to restore those informations
272 from the auto-save file.
275 To prevent this message make sure you exit Gnus
276 via @samp{q} in group buffer instead of
280 @node [2.2], [2.3], [2.1], FAQ 2 - Startup / Group buffer
282 @subheading Question: 2.2
284 Gnus doesn't remember which groups I'm subscribed to,
290 You get the message described in the q/a pair above while
291 starting Gnus, right? It's an other symptom for the same
292 problem, so read the answer above.
295 @node [2.3], [2.4], [2.2], FAQ 2 - Startup / Group buffer
297 @subheading Question 2.3:
299 How to change the format of the lines in Group buffer?
304 You've got to tweak the value of the variable
305 gnus-group-line-format. See the manual node "Group Line
306 Specification" for information on how to do this. An
307 example for this (guess from whose .gnus :-)):
312 (setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n")
317 @node [2.4], [2.5], [2.3], FAQ 2 - Startup / Group buffer
319 @subheading Question 2.4:
321 My group buffer becomes a bit crowded, is there a way to
322 sort my groups into categories so I can easier browse
328 Gnus offers the topic mode, it allows you to sort your
329 groups in, well, topics, e.g. all groups dealing with
330 Linux under the topic linux, all dealing with music under
331 the topic music and all dealing with scottish music under
332 the topic scottish which is a subtopic of music.
335 To enter topic mode, just hit t while in Group buffer. Now
336 you can use @samp{T n} to create a topic
337 at point and @samp{T m} to move a group to
338 a specific topic. For more commands see the manual or the
339 menu. You might want to include the %P specifier at the
340 beginning of your gnus-group-line-format variable to have
341 the groups nicely indented.
344 @node [2.5], , [2.4], FAQ 2 - Startup / Group buffer
346 @subheading Question 2.5:
348 How to manually sort the groups in Group buffer? How to
349 sort the groups in a topic?
354 Move point over the group you want to move and
355 hit @samp{C-k}, now move point to the
356 place where you want the group to be and
360 @node FAQ 3 - Getting messages, FAQ 4 - Reading messages, FAQ 2 - Startup / Group buffer, Frequently Asked Questions
362 @section Getting messages
365 * [3.1]:: I just installed Gnus, started it via M-x gnus but it only says "nntp (news) open error", what to do?
366 * [3.2]:: I'm working under Windows and have no idea what ~/.gnus means.
367 * [3.3]:: My news server requires authentication, how to store user name and password on disk?
368 * [3.4]:: Gnus seems to start up OK, but I can't find out how to subscribe to a group.
369 * [3.5]:: Gnus doesn't show all groups / Gnus says I'm not allowed to post on this server as well as I am, what's that?
370 * [3.6]:: I want Gnus to fetch news from several servers, is this possible?
371 * [3.7]:: And how about local spool files?
372 * [3.8]:: OK, reading news works now, but I want to be able to read my mail with Gnus, too. How to do it?
373 * [3.9]:: And what about IMAP?
374 * [3.10]:: At the office we use one of those MS Exchange servers, can I use Gnus to read my mail from it?
375 * [3.11]:: Can I tell Gnus not to delete the mails on the server it retrieves via POP3?
379 @node [3.1], [3.2], FAQ 3 - Getting messages, FAQ 3 - Getting messages
381 @subheading Question 3.1:
383 I just installed Gnus, started it via
385 but it only says "nntp (news) open error", what to do?
390 You've got to tell Gnus where to fetch the news from. Read
391 the documentation for information on how to do this. As a
392 first start, put those lines in ~/.gnus:
397 (setq gnus-select-method '(nntp "news.yourprovider.net"))
398 (setq user-mail-address "you@@yourprovider.net")
399 (setq user-full-name "Your Name")
404 @node [3.2], [3.3], [3.1], FAQ 3 - Getting messages
406 @subheading Question 3.2:
408 I'm working under Windows and have no idea what ~/.gnus means.
413 The ~/ means the home directory where Gnus and Emacs look for the
414 configuration files. However, you don't really need to know what this
415 means, it suffices that Emacs knows what it means :-) You can type
416 @samp{C-x C-f ~/.gnus RET } (yes, with the forward slash, even on
417 Windows), and Emacs will open the right file for you. (It will most
418 likely be new, and thus empty.) However, I'd discourage you from
419 doing so, since the directory Emacs chooses will most certainly not be
420 what you want, so let's do it the correct way. The first thing you've
421 got to do is to create a suitable directory (no blanks in directory
422 name please) e.g. @file{c:\myhome}. Then you must set the environment
423 variable HOME to this directory. To do this under Win9x or Me include
434 in your autoexec.bat and reboot. Under NT, 2000 and XP,
435 hit Winkey+Pause/Break to enter system options (if it
436 doesn't work, go to Control Panel -> System). There you'll
437 find the possibility to set environment variables, create
438 a new one with name HOME and value @file{c:\myhome}, a reboot is
442 Now to create ~/.gnus, say
443 @samp{C-x C-f ~/.gnus RET C-x C-s}.
447 @node [3.3], [3.4], [3.2], FAQ 3 - Getting messages
449 @subheading Question 3.3:
451 My news server requires authentication, how to store
452 user name and password on disk?
457 Create a file ~/.authinfo which includes for each server a line like this
461 machine news.yourprovider.net login YourUserName password YourPassword
466 Make sure that the file isn't readable to others if you
467 work on a OS which is capable of doing so. (Under Unix
471 chmod 600 ~/.authinfo
478 @node [3.4], [3.5], [3.3], FAQ 3 - Getting messages
480 @subheading Question 3.4:
482 Gnus seems to start up OK, but I can't find out how to
483 subscribe to a group.
488 If you know the name of the group say @samp{U
489 name.of.group RET} in group buffer (use the
490 tab-completion Luke). Otherwise hit ^ in group buffer,
491 this brings you to the server buffer. Now place point (the
492 cursor) over the server which carries the group you want,
493 hit @samp{RET}, move point to the group
494 you want to subscribe to and say @samp{u}
498 @node [3.5], [3.6], [3.4], FAQ 3 - Getting messages
500 @subheading Question 3.5:
502 Gnus doesn't show all groups / Gnus says I'm not allowed to
503 post on this server as well as I am, what's that?
508 Some providers allow restricted anonymous access and full
509 access only after authorization. To make Gnus send authinfo
510 to those servers append
519 to the line for those servers in ~/.authinfo.
522 @node [3.6], [3.7], [3.5], FAQ 3 - Getting messages
524 @subheading Question 3.6:
526 I want Gnus to fetch news from several servers, is this possible?
531 Of course. You can specify more sources for articles in the
532 variable gnus-secondary-select-methods. Add something like
538 (add-to-list 'gnus-secondary-select-methods '(nntp "news.yourSecondProvider.net"))
539 (add-to-list 'gnus-secondary-select-methods '(nntp "news.yourThirdProvider.net"))
544 @node [3.7], [3.8], [3.6], FAQ 3 - Getting messages
546 @subheading Question 3.7:
548 And how about local spool files?
553 No problem, this is just one more select method called
554 nnspool, so you want this:
559 (add-to-list 'gnus-secondary-select-methods '(nnspool ""))
564 Or this if you don't want an NNTP Server as primary news source:
569 (setq gnus-select-method '(nnspool ""))
574 Gnus will look for the spool file in /usr/spool/news, if you
575 want something different, change the line above to something like this:
580 (add-to-list 'gnus-secondary-select-methods
581 '(nnspool "" (nnspool-directory "/usr/local/myspoolddir")))
586 This sets the spool directory for this server only.
587 You might have to specify more stuff like the program used
588 to post articles, see the Gnus manual on how to do this.
591 @node [3.8], [3.9], [3.7], FAQ 3 - Getting messages
593 @subheading Question 3.8:
595 OK, reading news works now, but I want to be able to read my mail
596 with Gnus, too. How to do it?
601 That's a bit harder since there are many possible sources
602 for mail, many possible ways for storing mail and many
603 different ways for sending mail. The most common cases are
604 these: 1: You want to read your mail from a pop3 server and
605 send them directly to a SMTP Server 2: Some program like
606 fetchmail retrieves your mail and stores it on disk from
607 where Gnus shall read it. Outgoing mail is sent by
608 Sendmail, Postfix or some other MTA. Sometimes, you even
609 need a combination of the above cases.
612 However, the first thing to do is to tell Gnus in which way
613 it should store the mail, in Gnus terminology which back end
614 to use. Gnus supports many different back ends, the most
615 commonly used one is nnml. It stores every mail in one file
616 and is therefor quite fast. However you might prefer a one
617 file per group approach if your file system has problems with
618 many small files, the nnfolder back end is then probably the
619 choice for you. To use nnml add the following to ~/.gnus:
624 (add-to-list 'gnus-secondary-select-methods '(nnml ""))
629 As you might have guessed, if you want nnfolder, it's
634 (add-to-list 'gnus-secondary-select-methods '(nnfolder ""))
639 Now we need to tell Gnus, where to get it's mail from. If
640 it's a POP3 server, then you need something like this:
645 (eval-after-load "mail-source"
646 '(add-to-list 'mail-sources '(pop :server "pop.YourProvider.net"
648 :password "yourPassword"))
653 Make sure ~/.gnus isn't readable to others if you store
654 your password there. If you want to read your mail from a
655 traditional spool file on your local machine, it's
660 (eval-after-load "mail-source"
661 '(add-to-list 'mail-sources '(file :path "/path/to/spool/file"))
666 If it's a Maildir, with one file per message as used by
667 postfix, Qmail and (optionally) fetchmail it's
672 (eval-after-load "mail-source"
673 '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/"
674 :subdirs ("cur" "new")))
679 And finally if you want to read your mail from several files
680 in one directory, for example because procmail already split your
686 (eval-after-load "mail-source"
687 '(add-to-list 'mail-sources '(directory :path "/path/to/procmail-dir/"
693 Where :suffix ".prcml" tells Gnus only to use files with the
697 OK, now you only need to tell Gnus how to send mail. If you
698 want to send mail via sendmail (or whichever MTA is playing
699 the role of sendmail on your system), you don't need to do
700 anything. However, if you want to send your mail to an
701 SMTP Server you need the following in your ~/.gnus
706 (setq send-mail-function 'smtpmail-send-it)
707 (setq message-send-mail-function 'smtpmail-send-it)
708 (setq smtpmail-default-smtp-server "smtp.yourProvider.net")
713 @node [3.9], [3.10], [3.8], FAQ 3 - Getting messages
715 @subheading Question 3.9:
722 There are two ways of using IMAP with Gnus. The first one is
723 to use IMAP like POP3, that means Gnus fetches the mail from
724 the IMAP server and stores it on disk. If you want to do
725 this (you don't really want to do this) add the following to
731 (add-to-list 'mail-sources '(imap :server "mail.mycorp.com"
735 :authentication login
737 :fetchflag "\\Seen"))
742 You might have to tweak the values for stream and/or
743 authentification, see the Gnus manual node "Mail Source
744 Specifiers" for possible values.
747 If you want to use IMAP the way it's intended, you've got to
748 follow a different approach. You've got to add the nnimap
749 back end to your select method and give the information
750 about the server there.
755 (add-to-list 'gnus-secondary-select-methods
756 '(nnimap "Give the baby a name"
757 (nnimap-address "imap.yourProvider.net")
759 (nnimap-list-pattern "archive.*")))
764 Again, you might have to specify how to authenticate to the
765 server if Gnus can't guess the correct way, see the Manual
766 Node "IMAP" for detailed information.
769 @node [3.10], [3.11], [3.9], FAQ 3 - Getting messages
771 @subheading Question 3.10:
773 At the office we use one of those MS Exchange servers, can I use
774 Gnus to read my mail from it?
779 Offer your administrator a pair of new running shoes for
780 activating IMAP on the server and follow the instructions
784 @node [3.11], , [3.10], FAQ 3 - Getting messages
786 @subheading Question 3.11:
788 Can I tell Gnus not to delete the mails on the server it
794 First of all, that's not the way POP3 is intended to work,
795 if you have the possibility, you should use the IMAP
796 Protocol if you want your messages to stay on the
797 server. Nevertheless there might be situations where you
798 need the feature, but sadly Gnus itself has no predefined
799 functionality to do so.
802 However this is Gnus county so there are possibilities to
803 achieve what you want. The easiest way is to get an external
804 program which retrieves copies of the mail and stores them
805 on disk, so Gnus can read it from there. On Unix systems you
806 could use e.g. fetchmail for this, on MS Windows you can use
807 Hamster, an excellent local news and mail server.
810 The other solution would be, to replace the method Gnus
811 uses to get mail from POP3 servers by one which is capable
812 of leaving the mail on the server. If you use XEmacs, get
813 the package mail-lib, it includes an enhanced pop3.el,
814 look in the file, there's documentation on how to tell
815 Gnus to use it and not to delete the retrieved mail. For
816 GNU Emacs look for the file epop3.el which can do the same
817 (If you know the home of this file, please send me an
818 e-mail). You can also tell Gnus to use an external program
819 (e.g. fetchmail) to fetch your mail, see the info node
820 "Mail Source Specifiers" in the Gnus manual on how to do
825 @node FAQ 4 - Reading messages, FAQ 5 - Composing messages, FAQ 3 - Getting messages, Frequently Asked Questions
827 @section Reading messages
830 * [4.1]:: When I enter a group, all read messages are gone. How to view them again?
831 * [4.2]:: How to tell Gnus to show an important message every time I enter a group, even when it's read?
832 * [4.3]:: How to view the headers of a message?
833 * [4.4]:: How to view the raw unformatted message?
834 * [4.5]:: How can I change the headers Gnus displays by default at the top of the article buffer?
835 * [4.6]:: I'd like Gnus NOT to render HTML-mails but show me the text part if it's available. How to do it?
836 * [4.7]:: Can I use some other browser than w3 to render my HTML-mails?
837 * [4.8]:: Is there anything I can do to make poorly formatted mails more readable?
838 * [4.9]:: Is there a way to automatically ignore posts by specific authors or with specific words in the subject? And can I highlight more interesting ones in some way?
839 * [4.10]:: How can I disable threading in some (e.g. mail-) groups, or set other variables specific for some groups?
840 * [4.11]:: Can I highlight messages written by me and follow-ups to those?
841 * [4.12]:: The number of total messages in a group which Gnus displays in group buffer is by far to high, especially in mail groups. Is this a bug?
842 * [4.13]:: I don't like the layout of summary and article buffer, how to change it? Perhaps even a three pane display?
843 * [4.14]:: I don't like the way the Summary buffer looks, how to tweak it?
844 * [4.15]:: How to split incoming mails in several groups?
848 @node [4.1], [4.2], FAQ 4 - Reading messages, FAQ 4 - Reading messages
850 @subheading Question 4.1:
852 When I enter a group, all read messages are gone. How to view them again?
857 If you enter the group by saying
859 in summary buffer with point over the group, only unread and ticked messages are loaded. Say
861 instead to load all available messages. If you want only the e.g. 300 newest say
865 Loading only unread messages can be annoying if you have threaded view enabled, say
870 (setq gnus-fetch-old-headers 'some)
876 in ~/.gnus to load enough old articles to prevent teared threads, replace 'some with t to load
877 all articles (Warning: Both settings enlarge the amount of data which is
878 fetched when you enter a group and slow down the process of entering a group).
881 If you already use Gnus 5.10.0, you can say
883 In summary buffer to load the last N messages, this feature is not available in 5.8.8
886 If you don't want all old messages, but the parent of the message you're just reading,
887 you can say @samp{^}, if you want to retrieve the whole thread
888 the message you're just reading belongs to, @samp{A T} is your friend.
891 @node [4.2], [4.3], [4.1], FAQ 4 - Reading messages
893 @subheading Question 4.2:
895 How to tell Gnus to show an important message every time I
896 enter a group, even when it's read?
901 You can tick important messages. To do this hit
902 @samp{u} while point is in summary buffer
903 over the message. When you want to remove the mark, hit
904 either @samp{d} (this deletes the tick
905 mark and set's unread mark) or @samp{M c}
906 (which deletes all marks for the message).
909 @node [4.3], [4.4], [4.2], FAQ 4 - Reading messages
911 @subheading Question 4.3:
913 How to view the headers of a message?
919 to show all headers, one more
924 @node [4.4], [4.5], [4.3], FAQ 4 - Reading messages
926 @subheading Question 4.4:
928 How to view the raw unformatted message?
935 to show the raw message
937 returns to normal view.
940 @node [4.5], [4.6], [4.4], FAQ 4 - Reading messages
942 @subheading Question 4.5:
944 How can I change the headers Gnus displays by default at
945 the top of the article buffer?
950 The variable gnus-visible-headers controls which headers
951 are shown, its value is a regular expression, header lines
952 which match it are shown. So if you want author, subject,
953 date, and if the header exists, Followup-To and MUA / NUA
959 (setq gnus-visible-headers
960 "^\\(From:\\|Subject:\\|Date:\\|Followup-To:\\|X-Newsreader:\\|User-Agent:\\|X-Mailer:\\)")
965 @node [4.6], [4.7], [4.5], FAQ 4 - Reading messages
967 @subheading Question 4.6:
969 I'd like Gnus NOT to render HTML-mails but show me the
970 text part if it's available. How to do it?
980 (eval-after-load "mm-decode"
982 (add-to-list 'mm-discouraged-alternatives "text/html")
983 (add-to-list 'mm-discouraged-alternatives "text/richtext")))
988 in ~/.gnus. If you don't want HTML rendered, even if there's no text alternative add
993 (setq mm-automatic-display (remove "text/html" mm-automatic-display))
1001 @node [4.7], [4.8], [4.6], FAQ 4 - Reading messages
1003 @subheading Question 4.7:
1005 Can I use some other browser than w3 to render my HTML-mails?
1010 Only if you use Gnus 5.10.0 or younger. In this case you've got the
1011 choice between w3, w3m, links, lynx and html2text, which
1012 one is used can be specified in the variable
1013 mm-text-html-renderer, so if you want links to render your
1019 (setq mm-text-html-renderer 'links)
1024 @node [4.8], [4.9], [4.7], FAQ 4 - Reading messages
1026 @subheading Question 4.8:
1028 Is there anything I can do to make poorly formatted mails
1034 Gnus offers you several functions to "wash" incoming mail,
1035 you can find them if you browse through the menu, item Article->Washing. The most
1036 interesting ones are probably "Wrap long lines" (
1040 ) and "Outlook Deuglify" which repairs the dumb quoting used
1041 by many users of Microsoft products (
1042 @samp{W Y f} gives you full deuglify.
1043 See @samp{W Y C-h} or
1044 have a look at the menus for other deuglifications).
1045 Outlook deuglify is only available since Gnus 5.10.0.
1048 @node [4.9], [4.10], [4.8], FAQ 4 - Reading messages
1050 @subheading Question 4.9:
1052 Is there a way to automatically ignore posts by specific
1053 authors or with specific words in the subject? And can I
1054 highlight more interesting ones in some way?
1059 You want Scoring. Scoring means, that you define rules
1060 which assign each message an integer value. Depending on
1061 the value the message is highlighted in summary buffer (if
1062 it's high, say +2000) or automatically marked read (if the
1063 value is low, say -800) or some other action happens.
1066 There are basically three ways of setting up rules which assign
1067 the scoring-value to messages. The first and easiest way is to set
1068 up rules based on the article you are just reading. Say you're
1069 reading a message by a guy who always writes nonsense and you want
1070 to ignore his messages in the future. Hit
1071 @samp{L}, to set up a rule which lowers the score.
1072 Now Gnus asks you which the criteria for lowering the Score shall
1073 be. Hit @samp{?} twice to see all possibilities,
1074 we want @samp{a} which means the author (the from
1075 header). Now Gnus wants to know which kind of matching we want.
1076 Hit either @samp{e} for an exact match or
1077 @samp{s} for substring-match and delete afterwards
1078 everything but the name to score down all authors with the given
1079 name no matter which email address is used. Now you need to tell
1080 Gnus when to apply the rule and how long it should last, hit e.g.
1081 @samp{p} to apply the rule now and let it last
1082 forever. If you want to raise the score instead of lowering it say
1083 @samp{I} instead of @samp{L}.
1086 You can also set up rules by hand. To do this say @samp{V
1087 f} in summary buffer. Then you are asked for the name
1088 of the score file, it's name.of.group.SCORE for rules valid in
1089 only one group or all.Score for rules valid in all groups. See the
1090 Gnus manual for the exact syntax, basically it's one big list
1091 whose elements are lists again. the first element of those lists
1092 is the header to score on, then one more list with what to match,
1093 which score to assign, when to expire the rule and how to do the
1094 matching. If you find me very interesting, you could e.g. add the
1095 following to your all.Score:
1100 (("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s))
1101 ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s)))
1106 This would add 999 to the score of messages written by me
1107 and 500 to the score of messages which are a (possibly
1108 indirect) answer to a message written by me. Of course
1109 nobody with a sane mind would do this :-)
1112 The third alternative is adaptive scoring. This means Gnus
1113 watches you and tries to find out what you find
1114 interesting and what annoying and sets up rules
1115 which reflect this. Adaptive scoring can be a huge help
1116 when reading high traffic groups. If you want to activate
1117 adaptive scoring say
1122 (setq gnus-use-adaptive-scoring t)
1130 @node [4.10], [4.11], [4.9], FAQ 4 - Reading messages
1132 @subheading Question 4.10:
1134 How can I disable threading in some (e.g. mail-) groups, or
1135 set other variables specific for some groups?
1140 While in group buffer move point over the group and hit
1141 @samp{G c}, this opens a buffer where you
1142 can set options for the group. At the bottom of the buffer
1143 you'll find an item that allows you to set variables
1144 locally for the group. To disable threading enter
1145 gnus-show-threads as name of variable and nil as
1146 value. Hit button done at the top of the buffer when
1150 @node [4.11], [4.12], [4.10], FAQ 4 - Reading messages
1152 @subheading Question 4.11:
1154 Can I highlight messages written by me and follow-ups to
1160 Stop those "Can I ..." questions, the answer is always yes
1161 in Gnus Country :-). It's a three step process: First we
1162 make faces (specifications of how summary-line shall look
1163 like) for those postings, then we'll give them some
1164 special score and finally we'll tell Gnus to use the new
1165 faces. You can find detailed instructions on how to do it on
1166 @uref{http://my.gnus.org/Members/dzimmerm/HowTo%2C2002-07-25%2C1027619165012198456/view,my.gnus.org}
1169 @node [4.12], [4.13], [4.11], FAQ 4 - Reading messages
1171 @subheading Question 4.12:
1173 The number of total messages in a group which Gnus
1174 displays in group buffer is by far to high, especially in
1175 mail groups. Is this a bug?
1180 No, that's a matter of design of Gnus, fixing this would
1181 mean reimplementation of major parts of Gnus'
1182 back ends. Gnus thinks "highest-article-number -
1183 lowest-article-number = total-number-of-articles". This
1184 works OK for Usenet groups, but if you delete and move
1185 many messages in mail groups, this fails. To cure the
1186 symptom, enter the group via @samp{C-u RET}
1187 (this makes Gnus get all messages), then
1188 hit @samp{M P b} to mark all messages and
1189 then say @samp{B m name.of.group} to move
1190 all messages to the group they have been in before, they
1191 get new message numbers in this process and the count is
1192 right again (until you delete and move your mail to other
1196 @node [4.13], [4.14], [4.12], FAQ 4 - Reading messages
1198 @subheading Question 4.13:
1200 I don't like the layout of summary and article buffer, how
1201 to change it? Perhaps even a three pane display?
1206 You can control the windows configuration by calling the
1207 function gnus-add-configuration. The syntax is a bit
1208 complicated but explained very well in the manual node
1209 "Window Layout". Some popular examples:
1212 Instead 25% summary 75% article buffer 35% summary and 65%
1213 article (the 1.0 for article means "take the remaining
1219 (gnus-add-configuration '(article (vertical 1.0 (summary .35 point) (article 1.0))))
1224 A three pane layout, Group buffer on the left, summary
1225 buffer top-right, article buffer bottom-right:
1230 (gnus-add-configuration
1236 (summary 0.25 point)
1238 (gnus-add-configuration
1244 (summary 1.0 point)))))
1249 @node [4.14], [4.15], [4.13], FAQ 4 - Reading messages
1251 @subheading Question 4.14:
1253 I don't like the way the Summary buffer looks, how to tweak it?
1258 You've got to play around with the variable
1259 gnus-summary-line-format. It's value is a string of
1260 symbols which stand for things like author, date, subject
1261 etc. A list of the available specifiers can be found in the
1262 manual node "Summary Buffer Lines" and the often forgotten
1263 node "Formatting Variables" and it's sub-nodes. There
1264 you'll find useful things like positioning the cursor and
1265 tabulators which allow you a summary in table form, but
1266 sadly hard tabulators are broken in 5.8.8.
1269 Since 5.10.0, Gnus offers you some very nice new specifiers,
1270 e.g. %B which draws a thread-tree and %&user-date which
1271 gives you a date where the details are dependent of the
1272 articles age. Here's an example which uses both:
1277 (setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n")
1287 :O Re: [Richard Stallman] rfc2047.el | 13 |Lars Magne Ingebrigt |Sat 23:06
1288 :O Re: Revival of the ding-patches list | 13 |Lars Magne Ingebrigt |Sat 23:12
1289 :R > Re: Find correct list of articles for a gro| 25 |Lars Magne Ingebrigt |Sat 23:16
1290 :O \-> ... | 21 |Kai Grossjohann | 0:01
1291 :R > Re: Cry for help: deuglify.el - moving stuf| 28 |Lars Magne Ingebrigt |Sat 23:34
1292 :O \-> ... | 115 |Raymond Scholz | 1:24
1293 :O \-> ... | 19 |Lars Magne Ingebrigt |15:33
1294 :O Slow mailing list | 13 |Lars Magne Ingebrigt |Sat 23:49
1295 :O Re: `@@' mark not documented | 13 |Lars Magne Ingebrigt |Sat 23:50
1296 :R > Re: Gnus still doesn't count messages prope| 23 |Lars Magne Ingebrigt |Sat 23:57
1297 :O \-> ... | 18 |Kai Grossjohann | 0:35
1298 :O \-> ... | 13 |Lars Magne Ingebrigt | 0:56
1303 @node [4.15], , [4.14], FAQ 4 - Reading messages
1305 @subheading Question 4.15:
1307 How to split incoming mails in several groups?
1312 Gnus offers two possibilities for splitting mail, the easy
1313 nnmail-split-methods and the more powerful Fancy Mail
1314 Splitting. I'll only talk about the first one, refer to
1315 the manual, node "Fancy Mail Splitting" for the latter.
1318 The value of nnmail-split-methods is a list, each element
1319 is a list which stands for a splitting rule. Each rule has
1320 the form "group where matching articles should go to",
1321 "regular expression which has to be matched", the first
1322 rule which matches wins. The last rule must always be a
1323 general rule (regular expression .*) which denotes where
1324 articles should go which don't match any other rule. If
1325 the folder doesn't exist yet, it will be created as soon
1326 as an article lands there. By default the mail will be
1327 send to all groups whose rules match. If you
1328 don't want that (you probably don't want), say
1333 (setq nnmail-crosspost nil)
1341 An example might be better than thousand words, so here's
1342 my nnmail-split-methods. Note that I send duplicates in a
1343 special group and that the default group is spam, since I
1344 filter all mails out which are from some list I'm
1345 subscribed to or which are addressed directly to me
1346 before. Those rules kill about 80% of the Spam which
1347 reaches me (Email addresses are changed to prevent spammers
1353 (setq nnmail-split-methods
1354 '(("duplicates" "^Gnus-Warning:.*duplicate")
1355 ("XEmacs-NT" "^\\(To:\\|CC:\\).*localpart@@xemacs.bla.*")
1356 ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@@socha.bla.*")
1357 ("tcsh" "^\\(To:\\|CC:\\).*localpart@@mx.gw.bla.*")
1358 ("BAfH" "^\\(To:\\|CC:\\).*localpart@@.*uni-muenchen.bla.*")
1359 ("Hamster-src" "^\\(CC:\\|To:\\).*hamster-sourcen@@yahoogroups.\\(de\\|com\\).*")
1360 ("Tagesschau" "^From: tagesschau <localpart@@www.tagesschau.bla>$")
1361 ("Replies" "^\\(CC:\\|To:\\).*localpart@@Frank-Schmitt.bla.*")
1362 ("EK" "^From:.*\\(localpart@@privateprovider.bla\\|localpart@@workplace.bla\\).*")
1363 ("Spam" "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*")
1364 ("Spam" "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*")
1365 ("Spam" "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*")
1366 ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)")
1367 ("Spam" "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)")
1368 ("Spam" "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*")
1369 ("Spam" "^Delivered-To: GMX delivery to spamtrap@@gmx.bla$")
1370 ("Spam" "^Received: from link2buy.com")
1371 ("Spam" "^CC: .*azzrael@@t-online.bla")
1372 ("Spam" "^X-Mailer-Version: 1.50 BETA")
1373 ("Uni" "^\\(CC:\\|To:\\).*localpart@@uni-koblenz.bla.*")
1374 ("Inbox" "^\\(CC:\\|To:\\).*\\(my\ name\\|address@@one.bla\\|adress@@two.bla\\)")
1381 @node FAQ 5 - Composing messages, FAQ 6 - Old messages, FAQ 4 - Reading messages, Frequently Asked Questions
1383 @section Composing messages
1386 * [5.1]:: What are the basic commands I need to know for sending mail and postings?
1387 * [5.2]:: How to enable automatic word-wrap when composing messages?
1388 * [5.3]:: How to set stuff like From, Organization, Reply-To, signature...?
1389 * [5.4]:: Can I set things like From, Signature etc group based on the group I post too?
1390 * [5.5]:: Is there a spell-checker? Perhaps even on-the-fly spell-checking?
1391 * [5.6]:: Can I set the dictionary based on the group I'm posting to?
1392 * [5.7]:: Is there some kind of address-book, so I needn't remember all those email addresses?
1393 * [5.8]:: Sometimes I see little images at the top of article buffer. What's that and how can I send one with my postings, too?
1394 * [5.9]:: Sometimes I accidentally hit r instead of f in newsgroups. Can Gnus warn me, when I'm replying by mail in newsgroups?
1395 * [5.10]:: How to tell Gnus not to generate a sender header?
1396 * [5.11]:: I want gnus to locally store copies of my send mail and news, how to do it?
1397 * [5.12]:: People tell me my Message-IDs are not correct, why aren't they and how to fix it?
1401 @node [5.1], [5.2], FAQ 5 - Composing messages, FAQ 5 - Composing messages
1403 @subheading Question 5.1:
1405 What are the basic commands I need to know for sending mail and postings?
1410 To start composing a new mail hit @samp{m}
1411 either in Group or Summary buffer, for a posting, it's
1412 either @samp{a} in Group buffer and
1413 filling the Newsgroups header manually
1414 or @samp{a} in the Summary buffer of the
1415 group where the posting shall be send to. Replying by mail
1417 @samp{r} if you don't want to cite the
1418 author, or import the cited text manually and
1419 @samp{R} to cite the text of the original
1420 message. For a follow up to a newsgroup, it's
1421 @samp{f} and @samp{F}
1422 (analog to @samp{r} and
1426 Enter new headers above the line saying "--text follows
1427 this line--", enter the text below the line. When ready
1428 hit @samp{C-c C-c}, to send the message,
1429 if you want to finish it later hit @samp{C-c
1430 C-d} to save it in the drafts group, where you
1431 can start editing it again by saying @samp{D
1435 @node [5.2], [5.3], [5.1], FAQ 5 - Composing messages
1437 @subheading Question 5.2:
1439 How to enable automatic word-wrap when composing messages?
1449 (add-hook 'message-mode-hook
1451 (setq fill-column 72)
1452 (turn-on-auto-fill)))
1457 in ~/.gnus. You can reformat a paragraph by hitting
1458 @samp{M-q} (as usual)
1461 @node [5.3], [5.4], [5.2], FAQ 5 - Composing messages
1463 @subheading Question 5.3:
1465 How to set stuff like From, Organization, Reply-To, signature...?
1470 There are other ways, but you should use posting styles
1471 for this. (See below why).
1472 This example should make the syntax clear:
1477 (setq gnus-posting-styles
1479 (name "Frank Schmitt")
1480 (address "me@@there.bla")
1481 (organization "Hamme net, kren mer och nimmi")
1482 (signature-file "~/.signature")
1483 ("X-SampleHeader" "foobar")
1484 (eval (setq some-variable "Foo bar")))))
1489 The ".*" means that this settings are the default ones
1490 (see below), valid values for the first element of the
1491 following lists are signature, signature-file,
1492 organization, address, name or body. The attribute name
1493 can also be a string. In that case, this will be used as
1494 a header name, and the value will be inserted in the
1495 headers of the article; if the value is `nil', the header
1496 name will be removed. You can also say (eval (foo bar)),
1497 then the function foo will be evaluated with argument bar
1498 and the result will be thrown away.
1501 @node [5.4], [5.5], [5.3], FAQ 5 - Composing messages
1503 @subheading Question 5.4:
1505 Can I set things like From, Signature etc group based on the group I post too?
1510 That's the strength of posting styles. Before, we used ".*"
1511 to set the default for all groups. You can use a regexp
1512 like "^gmane" and the following settings are only applied
1513 to postings you send to the gmane hierarchy, use
1514 ".*binaries" instead and they will be applied to postings
1515 send to groups containing the string binaries in their
1519 You can instead of specifying a regexp specify a function
1520 which is evaluated, only if it returns true, the
1521 corresponding settings take effect. Two interesting
1522 candidates for this are message-news-p which returns t if
1523 the current Group is a newsgroup and the corresponding
1527 Note that all forms that match are applied, that means in
1528 the example below, when I post to
1529 gmane.mail.spam.spamassassin.general, the settings under
1530 ".*" are applied and the settings under message-news-p and
1531 those under "^gmane" and those under
1532 "^gmane\\.mail\\.spam\\.spamassassin\\.general$". Because
1533 of this put general settings at the top and specific ones
1539 (setq gnus-posting-styles
1541 (name "Frank Schmitt")
1542 (organization "Hamme net, kren mer och nimmi")
1543 (signature-file "~/.signature") )
1544 ((message-news-p) ;;Usenet news?
1545 (address "mySpamTrap@@Frank-Schmitt.bla")
1546 ("Reply-To" "hereRealRepliesOnlyPlease@@Frank-Schmitt.bla") )
1547 ((message-mail-p) ;;mail?
1548 (address "usedForMails@@Frank-Schmitt.bla") )
1549 ("^gmane" ;;this is mail, too in fact
1550 (address "usedForMails@@Frank-Schmitt.net")
1552 ("^gmane.mail.spam.spamassassin.general$"
1553 (eval (setq mail-envelope-from "Azzrael@@rz-online.de"))
1554 (address "Azzrael@@rz-online.de")) ))
1559 @node [5.5], [5.6], [5.4], FAQ 5 - Composing messages
1561 @subheading Question 5.5:
1563 Is there a spell-checker? Perhaps even on-the-fly spell-checking?
1568 You can use ispell.el to spell-check stuff in Emacs. So the
1569 first thing to do is to make sure that you've got either
1570 @uref{http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html,ispell}
1571 or @uref{http://aspell.sourceforge.net/,aspell}
1572 installed and in your Path. Then you need
1573 @uref{http://www.kdstevens.com/~stevens/ispell-page.html,ispell.el}
1574 and for on-the-fly spell-checking
1575 @uref{http://www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/flyspell/flyspell.html,flyspell.el}.
1576 Ispell.el is shipped with Gnus Emacs and available through the Emacs package system,
1577 flyspell.el is shipped with Emacs and part of XEmacs text-modes package which is
1578 available through the package system, so there should be no need to install them
1582 Ispell.el assumes you use ispell, if you choose aspell say
1586 (setq ispell-program-name "aspell")
1591 in your Emacs configuration file.
1594 If you want your outgoing messages to be spell-checked, say
1598 (add-hook 'message-send-hook 'ispell-message)
1602 In your ~/.gnus, if you prefer on-the-fly spell-checking say
1606 (add-hook 'message-mode-hook (lambda () (flyspell-mode 1)))
1610 @node [5.6], [5.7], [5.5], FAQ 5 - Composing messages
1612 @subheading Question 5.6:
1614 Can I set the dictionary based on the group I'm posting to?
1619 Yes, say something like
1624 (add-hook 'gnus-select-group-hook
1628 "^de\\." (gnus-group-real-name gnus-newsgroup-name))
1629 (ispell-change-dictionary "deutsch8"))
1631 (ispell-change-dictionary "english")))))
1637 in ~/.gnus. Change "^de\\." and "deutsch8" to something
1638 that suits your needs.
1641 @node [5.7], [5.8], [5.6], FAQ 5 - Composing messages
1643 @subheading Question 5.7:
1645 Is there some kind of address-book, so I needn't remember
1646 all those email addresses?
1651 There's an very basic solution for this, mail aliases.
1652 You can store your mail addresses in a ~/.mailrc file using a simple
1658 alias al "Al <al@@english-heritage.bla>"
1663 Then typing your alias (followed by a space or punctuation
1664 character) on a To: or Cc: line in the message buffer will
1665 cause gnus to insert the full address for you. See the
1666 node "Mail Aliases" in Message (not Gnus) manual for
1670 However, what you really want is the Insidious Big Brother
1671 Database bbdb. Get it through the XEmacs package system or from
1672 @uref{http://bbdb.sourceforge.net/,bbdb's homepage}.
1673 Now place the following in ~/.gnus, to activate bbdb for Gnus:
1679 (bbdb-initialize 'gnus 'message)
1684 Now you probably want some general bbdb configuration,
1685 place them in ~/.emacs:
1691 ;;If you don't live in Northern America, you should disable the
1692 ;;syntax check for telephone numbers by saying
1693 (setq bbdb-north-american-phone-numbers-p nil)
1694 ;;Tell bbdb about your email address:
1695 (setq bbdb-user-mail-names
1696 (regexp-opt '("Your.Email@@here.bla"
1697 "Your.other@@mail.there.bla")))
1698 ;;cycling while completing email addresses
1699 (setq bbdb-complete-name-allow-cycling t)
1701 (setq bbdb-use-pop-up nil)
1706 Now you should be ready to go. Say @samp{M-x bbdb RET
1707 RET} to open a bbdb buffer showing all
1708 entries. Say @samp{c} to create a new
1709 entry, @samp{b} to search your BBDB and
1710 @samp{C-o} to add a new field to an
1711 entry. If you want to add a sender to the BBDB you can
1712 also just hit `:' on the posting in the summary buffer and
1713 you are done. When you now compose a new mail,
1714 hit @samp{TAB} to cycle through know
1718 @node [5.8], [5.9], [5.7], FAQ 5 - Composing messages
1720 @subheading Question 5.8:
1722 Sometimes I see little images at the top of article
1723 buffer. What's that and how can I send one with my
1729 Those images are called X-Faces. They are 48*48 pixel b/w
1730 pictures, encoded in a header line. If you want to include
1731 one in your posts, you've got to convert some image to a
1732 X-Face. So fire up some image manipulation program (say
1733 Gimp), open the image you want to include, cut out the
1734 relevant part, reduce color depth to 1 bit, resize to
1735 48*48 and save as bitmap. Now you should get the compface
1737 @uref{ftp://ftp.cs.indiana.edu:/pub/faces/,this site}.
1738 and create the actual X-face by saying
1743 cat file.xbm | xbm2ikon |compface > file.face
1744 cat ./file.face | sed 's/\\/\\\\/g' | sed 's/\"/\\\"/g' > ./file.face.quoted
1749 if you can't use compface, there's an online X-face converter at
1750 @uref{http://www.dairiki.org/xface/}.
1751 If you use MS Windows, you could also use the WinFace program from
1752 @uref{http://www.xs4all.nl/~walterln/winface/}.
1753 Now you only have to tell Gnus to include the X-face in your postings by saying
1758 (setq message-default-headers
1761 (insert-file-contents "~/.xemacs/xface")
1770 @node [5.9], [5.10], [5.8], FAQ 5 - Composing messages
1772 @subheading Question 5.9:
1774 Sometimes I accidentally hit r instead of f in
1775 newsgroups. Can Gnus warn me, when I'm replying by mail in
1781 Put this in ~/.gnus:
1786 (setq gnus-confirm-mail-reply-to-news t)
1791 if you already use Gnus 5.10.0, if you still use 5.8.8 or
1792 5.9 try this instead:
1797 (defadvice gnus-summary-reply (around reply-in-news activate)
1799 (when (or (not (gnus-news-group-p gnus-newsgroup-name))
1800 (y-or-n-p "Really reply? "))
1806 @node [5.10], [5.11], [5.9], FAQ 5 - Composing messages
1808 @subheading Question 5.10:
1810 How to tell Gnus not to generate a sender header?
1815 Since 5.10.0 Gnus doesn't generate a sender header by
1816 default. For older Gnus' try this in ~/.gnus:
1821 (eval-after-load "message"
1822 '(add-to-list 'message-syntax-checks '(sender . disabled)))
1828 @node [5.11], [5.12], [5.10], FAQ 5 - Composing messages
1830 @subheading Question 5.11:
1832 I want gnus to locally store copies of my send mail and
1838 You must set the variable gnus-message-archive-group to do
1839 this. You can set it to a string giving the name of the
1840 group where the copies shall go or like in the example
1841 below use a function which is evaluated and which returns
1847 (setq gnus-message-archive-group
1848 '((if (message-news-p)
1856 @node [5.12], , [5.11], FAQ 5 - Composing messages
1858 @subheading Question 5.12:
1860 People tell me my Message-IDs are not correct, why
1861 aren't they and how to fix it?
1866 The message-ID is an unique identifier for messages you
1867 send. To make it unique, Gnus need to know which machine
1868 name to put after the "@@". If the name of the machine
1869 where Gnus is running isn't suitable (it probably isn't
1870 at most private machines) you can tell Gnus what to use
1876 (defun message-make-message-id()
1877 (concat "<"(message-unique-id)"@@yourmachine.yourdomain.tld>"))
1883 in ~/.gnus. If you have no idea what to insert for
1884 "yourmachine.yourdomain.tld", you've got several
1885 choices. You can either ask your provider if he allows
1886 you to use something like
1887 yourUserName.userfqdn.provider.net, or you can use
1888 somethingUnique.yourdomain.tld if you own the domain
1889 yourdomain.tld, or you can register at a service which
1890 gives private users a FQDN for free, e.g.
1891 @uref{http://www.stura.tu-freiberg.de/~dlx/addfqdn.html}.
1892 (Sorry but this website is in German, if you know of an
1893 English one offering the same, drop me a note).
1896 Finally you can tell Gnus not to generate a Message-ID
1897 for News at all (and letting the server do the job) by saying
1902 (setq message-required-news-headers
1903 (remove' Message-ID message-required-news-headers))
1908 you can also tell Gnus not to generate Message-IDs for mail by saying
1913 (setq message-required-mail-headers
1914 (remove' Message-ID message-required-mail-headers))
1919 , however some mail servers don't generate proper
1920 Message-IDs, too, so test if your Mail Server behaves
1921 correctly by sending yourself a Mail and looking at the Message-ID.
1925 @node FAQ 6 - Old messages, FAQ 7 - Gnus in a dial-up environment, FAQ 5 - Composing messages, Frequently Asked Questions
1927 @section Old messages
1930 * [6.1]:: How to import my old mail into Gnus?
1931 * [6.2]:: How to archive interesting messages?
1932 * [6.3]:: How to search for a specific message?
1933 * [6.4]:: How to get rid of old unwanted mail?
1934 * [6.5]:: I want that all read messages are expired (at least in some groups). How to do it?
1935 * [6.6]:: I don't want expiration to delete my mails but to move them to another group.
1939 @node [6.1], [6.2], FAQ 6 - Old messages, FAQ 6 - Old messages
1941 @subheading Question 6.1:
1943 How to import my old mail into Gnus?
1948 The easiest way is to tell your old mail program to
1949 export the messages in mbox format. Most Unix mailers
1950 are able to do this, if you come from the MS Windows
1951 world, you may find tools at
1952 @uref{http://mbx2mbox.sourceforge.net/}.
1955 Now you've got to import this mbox file into Gnus. To do
1956 this, create a nndoc group based on the mbox file by
1957 saying @samp{G f /path/file.mbox RET} in
1958 Group buffer. You now have read-only access to your
1959 mail. If you want to import the messages to your normal
1960 Gnus mail groups hierarchy, enter the nndoc group you've
1961 just created by saying @samp{C-u RET}
1962 (thus making sure all messages are retrieved), mark all
1963 messages by saying @samp{M P b} and
1964 either copy them to the desired group by saying
1965 @samp{B c name.of.group RET} or send them
1966 through nnmail-split-methods (respool them) by saying
1970 @node [6.2], [6.3], [6.1], FAQ 6 - Old messages
1972 @subheading Question 6.2:
1974 How to archive interesting messages?
1979 If you stumble across an interesting message, say in
1980 gnu.emacs.gnus and want to archive it there are several
1981 solutions. The first and easiest is to save it to a file
1982 by saying @samp{O f}. However, wouldn't
1983 it be much more convenient to have more direct access to
1984 the archived message from Gnus? If you say yes, put this
1985 snippet by Frank Haun <pille3003@@fhaun.de> in
1991 (defun my-archive-article (&optional n)
1992 "Copies one or more article(s) to a corresponding `nnml:' group, e.g.
1993 `gnus.ding' goes to `nnml:1.gnus.ding'. And `nnml:List-gnus.ding' goes
1994 to `nnml:1.List-gnus-ding'.
1996 Use process marks or mark a region in the summary buffer to archive
1997 more then one article."
2002 (if (featurep 'xemacs)
2003 (replace-in-string gnus-newsgroup-name "^.*:" "")
2004 (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name)))))
2005 (gnus-summary-copy-article n archive-name)))
2010 You can now say @samp{M-x
2011 my-archive-article} in summary buffer to
2012 archive the article under the cursor in a nnml
2013 group. (Change nnml to your preferred back end)
2016 Of course you can also make sure the cache is enabled by saying
2021 (setq gnus-use-cache t)
2026 then you only have to set either the tick or the dormant
2027 mark for articles you want to keep, setting the read
2028 mark will remove them from cache.
2031 @node [6.3], [6.4], [6.2], FAQ 6 - Old messages
2033 @subheading Question 6.3:
2035 How to search for a specific message?
2040 There are several ways for this, too. For a posting from
2041 a Usenet group the easiest solution is probably to ask
2042 @uref{http://groups.google.com,groups.google.com},
2043 if you found the posting there, tell Google to display
2044 the raw message, look for the message-id, and say
2045 @samp{M-^ the@@message.id RET} in a
2047 Since Gnus 5.10.0 there's also a Gnus interface for
2048 groups.google.com which you can call with
2049 @samp{G W}) in group buffer.
2052 Another idea which works for both mail and news groups
2053 is to enter the group where the message you are
2054 searching is and use the standard Emacs search
2055 @samp{C-s}, it's smart enough to look at
2056 articles in collapsed threads, too. If you want to
2057 search bodies, too try @samp{M-s}
2058 instead. Further on there are the
2059 gnus-summary-limit-to-foo functions, which can help you,
2063 Of course you can also use grep to search through your
2064 local mail, but this is both slow for big archives and
2065 inconvenient since you are not displaying the found mail
2066 in Gnus. Here comes nnir into action. Nnir is a front end
2067 to search engines like swish-e or swish++ and
2068 others. You index your mail with one of those search
2069 engines and with the help of nnir you can search trough
2070 the indexed mail and generate a temporary group with all
2071 messages which met your search criteria. If this sound
2072 cool to you get nnir.el from
2073 @uref{ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/}
2074 or @uref{ftp://ftp.is.informatik.uni-duisburg.de/pub/src/emacs/}.
2075 Instructions on how to use it are at the top of the file.
2078 @node [6.4], [6.5], [6.3], FAQ 6 - Old messages
2080 @subheading Question 6.4:
2082 How to get rid of old unwanted mail?
2087 You can of course just mark the mail you don't need
2088 anymore by saying @samp{#} with point
2089 over the mail and then say @samp{B DEL}
2090 to get rid of them forever. You could also instead of
2091 actually deleting them, send them to a junk-group by
2092 saying @samp{B m nnml:trash-bin} which
2093 you clear from time to time, but both are not the intended
2097 In Gnus, we let mail expire like news expires on a news
2098 server. That means you tell Gnus the message is
2099 expirable (you tell Gnus "I don't need this mail
2100 anymore") by saying @samp{E} with point
2101 over the mail in summary buffer. Now when you leave the
2102 group, Gnus looks at all messages which you marked as
2103 expirable before and if they are old enough (default is
2104 older than a week) they are deleted.
2107 @node [6.5], [6.6], [6.4], FAQ 6 - Old messages
2109 @subheading Question 6.5:
2111 I want that all read messages are expired (at least in
2112 some groups). How to do it?
2117 If you want all read messages to be expired (e.g. in
2118 mailing lists where there's an online archive), you've
2119 got two choices: auto-expire and
2120 total-expire. Auto-expire means, that every article
2121 which has no marks set and is selected for reading is
2122 marked as expirable, Gnus hits @samp{E}
2123 for you every time you read a message. Total-expire
2124 follows a slightly different approach, here all article
2125 where the read mark is set are expirable.
2128 To activate auto-expire, include auto-expire in the
2129 Group parameters for the group. (Hit @samp{G
2130 c} in summary buffer with point over the
2131 group to change group parameters). For total-expire add
2132 total-expire to the group-parameters.
2135 Which method you choose is merely a matter of taste:
2136 Auto-expire is faster, but it doesn't play together with
2137 Adaptive Scoring, so if you want to use this feature,
2138 you should use total-expire.
2141 If you want a message to be excluded from expiration in
2142 a group where total or auto expire is active, set either
2143 tick (hit @samp{u}) or dormant mark (hit
2144 @samp{u}), when you use auto-expire, you
2145 can also set the read mark (hit
2149 @node [6.6], , [6.5], FAQ 6 - Old messages
2151 @subheading Question 6.6:
2153 I don't want expiration to delete my mails but to move them
2159 Say something like this in ~/.gnus:
2164 (setq nnmail-expiry-target "nnml:expired")
2169 (If you want to change the value of nnmail-expiry-target
2170 on a per group basis see the question "How can I disable
2171 threading in some (e.g. mail-) groups, or set other
2172 variables specific for some groups?")
2176 @node FAQ 7 - Gnus in a dial-up environment, FAQ 8 - Getting help, FAQ 6 - Old messages, Frequently Asked Questions
2178 @section Gnus in a dial-up environment
2181 * [7.1]:: I don't have a permanent connection to the net, how can I minimize the time I've got to be connected?
2182 * [7.2]:: So what was this thing about the Agent?
2183 * [7.3]:: I want to store article bodies on disk, too. How to do it?
2184 * [7.4]:: How to tell Gnus not to try to send mails / postings while I'm offline?
2189 @node [7.1], [7.2], FAQ 7 - Gnus in a dial-up environment, FAQ 7 - Gnus in a dial-up environment
2191 @subheading Question 7.1:
2193 I don't have a permanent connection to the net, how can
2194 I minimize the time I've got to be connected?
2199 You've got basically two options: Either you use the
2200 Gnus Agent (see below) for this, or you can install
2201 programs which fetch your news and mail to your local
2202 disk and Gnus reads the stuff from your local
2206 If you want to follow the second approach, you need a
2207 program which fetches news and offers them to Gnus, a
2208 program which does the same for mail and a program which
2209 receives the mail you write from Gnus and sends them
2213 Let's talk about Unix systems first: For the news part,
2214 the easiest solution is a small nntp server like
2215 @uref{http://www.leafnode.org/,Leafnode} or
2216 @uref{http://infa.abo.fi/~patrik/sn/,sn},
2217 of course you can also install a full featured news
2219 @uref{http://www.isc.org/products/INN/,inn}.
2220 Then you want to fetch your Mail, popular choices
2221 are @uref{http://www.catb.org/~esr/fetchmail/,fetchmail}
2222 and @uref{http://www.qcc.ca/~charlesc/software/getmail-3.0/,getmail}.
2223 You should tell those to write the mail to your disk and
2224 Gnus to read it from there. Last but not least the mail
2225 sending part: This can be done with every MTA like
2226 @uref{http://www.sendmail.org/,sendmail},
2227 @uref{http://www.qmail.org/,postfix},
2228 @uref{http://www.exim.org/,exim} or
2229 @uref{http://www.qmail.org/,qmail}.
2232 On windows boxes I'd vote for
2233 @uref{http://www.tglsoft.de/,Hamster},
2234 it's a small freeware, open-source program which fetches
2235 your mail and news from remote servers and offers them
2236 to Gnus (or any other mail and/or news reader) via nntp
2237 respectively POP3 or IMAP. It also includes a smtp
2238 server for receiving mails from Gnus.
2241 @node [7.2], [7.3], [7.1], FAQ 7 - Gnus in a dial-up environment
2243 @subheading Question 7.2:
2245 So what was this thing about the Agent?
2250 The Gnus agent is part of Gnus, it allows you to fetch
2251 mail and news and store them on disk for reading them
2252 later when you're offline. It kind of mimics offline
2253 newsreaders like e.g. Forte Agent. If you want to use
2254 the Agent place the following in ~/.gnus if you are
2255 still using 5.8.8 or 5.9 (it's the default since 5.10.0):
2265 Now you've got to select the servers whose groups can be
2266 stored locally. To do this, open the server buffer
2267 (that is press @samp{^} while in the
2268 group buffer). Now select a server by moving point to
2269 the line naming that server. Finally, agentize the
2270 server by typing @samp{J a}. If you
2271 make a mistake, or change your mind, you can undo this
2272 action by typing @samp{J r}. When
2273 you're done, type 'q' to return to the group buffer.
2274 Now the next time you enter a group on a agentized
2275 server, the headers will be stored on disk and read from
2276 there the next time you enter the group.
2279 @node [7.3], [7.4], [7.2], FAQ 7 - Gnus in a dial-up environment
2281 @subheading Question 7.3:
2283 I want to store article bodies on disk, too. How to do it?
2288 You can tell the agent to automatically fetch the bodies
2289 of articles which fulfill certain predicates, this is
2290 done in a special buffer which can be reached by
2291 saying @samp{J c} in group
2292 buffer. Please refer to the documentation for
2293 information which predicates are possible and how
2297 Further on you can tell the agent manually which
2298 articles to store on disk. There are two ways to do
2299 this: Number one: In the summary buffer, process mark a
2300 set of articles that shall be stored in the agent by
2301 saying @samp{#} with point over the
2302 article and then type @samp{J s}. The
2303 other possibility is to set, again in the summary
2304 buffer, downloadable (%) marks for the articles you
2305 want by typing @samp{@@} with point over
2306 the article and then typing @samp{J u}.
2307 What's the difference? Well, process marks are erased as
2308 soon as you exit the summary buffer while downloadable
2309 marks are permanent. You can actually set downloadable
2310 marks in several groups then use fetch session ('J s' in
2311 the GROUP buffer) to fetch all of those articles. The
2312 only downside is that fetch session also fetches all of
2313 the headers for every selected group on an agentized
2314 server. Depending on the volume of headers, the initial
2315 fetch session could take hours.
2318 @node [7.4], , [7.3], FAQ 7 - Gnus in a dial-up environment
2320 @subheading Question 7.4:
2322 How to tell Gnus not to try to send mails / postings
2328 All you've got to do is to tell Gnus when you are online
2329 (plugged) and when you are offline (unplugged), the rest
2330 works automatically. You can toggle plugged/unplugged
2331 state by saying @samp{J j} in group
2332 buffer. To start Gnus unplugged say @samp{M-x
2333 gnus-unplugged} instead of
2334 @samp{M-x gnus}. Note that for this to
2335 work, the agent must be active.
2339 @node FAQ 8 - Getting help, FAQ 9 - Tuning Gnus, FAQ 7 - Gnus in a dial-up environment, Frequently Asked Questions
2341 @section Getting help
2344 * [8.1]:: How to find information and help inside Emacs?
2345 * [8.2]:: I can't find anything in the Gnus manual about X (e.g. attachments, PGP, MIME...), is it not documented?
2346 * [8.3]:: Which websites should I know?
2347 * [8.4]:: Which mailing lists and newsgroups are there?
2348 * [8.5]:: Where to report bugs?
2349 * [8.6]:: I need real-time help, where to find it?
2353 @node [8.1], [8.2], FAQ 8 - Getting help, FAQ 8 - Getting help
2355 @subheading Question 8.1:
2357 How to find information and help inside Emacs?
2362 The first stop should be the Gnus manual (Say
2363 @samp{C-h i d m Gnus RET} to start the
2364 Gnus manual, then walk through the menus or do a
2365 full-text search with @samp{s}). Then
2366 there are the general Emacs help commands starting with
2367 C-h, type @samp{C-h ? ?} to get a list
2368 of all available help commands and their meaning. Finally
2369 @samp{M-x apropos-command} lets you
2370 search through all available functions and @samp{M-x
2371 apropos} searches the bound variables.
2374 @node [8.2], [8.3], [8.1], FAQ 8 - Getting help
2376 @subheading Question 8.2:
2378 I can't find anything in the Gnus manual about X
2379 (e.g. attachments, PGP, MIME...), is it not documented?
2384 There's not only the Gnus manual but also the manuals
2385 for message, emacs-mime, sieve and pgg. Those packages
2386 are distributed with Gnus and used by Gnus but aren't
2387 really part of core Gnus, so they are documented in
2388 different info files, you should have a look in those
2392 @node [8.3], [8.4], [8.2], FAQ 8 - Getting help
2394 @subheading Question 8.3:
2396 Which websites should I know?
2401 The two most important ones are the
2402 @uref{http://www.gnus.org,official Gnus website}.
2403 and it's sister site
2404 @uref{http://my.gnus.org,my.gnus.org (MGO)},
2405 hosting an archive of lisp snippets, howtos, a (not
2406 really finished) tutorial and this FAQ.
2409 Tell me about other sites which are interesting.
2412 @node [8.4], [8.5], [8.3], FAQ 8 - Getting help
2414 @subheading Question 8.4:
2416 Which mailing lists and newsgroups are there?
2421 There's the newsgroup gnu.emacs.gnus (pull it from
2422 e.g. news.gnus.org) which deals with general questions
2423 and the ding mailing list (ding@@gnus.org) dealing with
2424 development of Gnus. You can read the ding list via
2425 NNTP, too under the name gnus.ding from news.gnus.org.
2428 If you want to stay in the big8,
2429 news.software.newssreaders is also read by some Gnus
2430 users (but chances for qualified help are much better in
2431 the above groups) and if you speak German, there's
2432 de.comm.software.gnus.
2435 @node [8.5], [8.6], [8.4], FAQ 8 - Getting help
2437 @subheading Question 8.5:
2439 Where to report bugs?
2444 Say @samp{M-x gnus-bug}, this will start
2446 @uref{mailto:bugs@@gnus.org,gnus bug mailing list}
2447 including information about your environment which make
2448 it easier to help you.
2451 @node [8.6], , [8.5], FAQ 8 - Getting help
2453 @subheading Question 8.6:
2455 I need real-time help, where to find it?
2460 Point your IRC client to irc.my.gnus.org channel
2461 #mygnus. Don't be afraid if people there speak German,
2462 they are willing and capable of switching to
2463 English when people from outside Germany enter.
2467 @node FAQ 9 - Tuning Gnus, FAQ - Glossary, FAQ 8 - Getting help, Frequently Asked Questions
2469 @section Tuning Gnus
2472 * [9.1]:: Starting Gnus is really slow, how to speed it up?
2473 * [9.2]:: How to speed up the process of entering a group?
2474 * [9.3]:: Sending mail becomes slower and slower, what's up?
2478 @node [9.1], [9.2], FAQ 9 - Tuning Gnus, FAQ 9 - Tuning Gnus
2480 @subheading Question 9.1:
2482 Starting Gnus is really slow, how to speed it up?
2487 The reason for this could be the way Gnus reads it's
2488 active file, see the node "The Active File" in the Gnus
2489 manual for things you might try to speed the process up.
2490 An other idea would be to byte compile your ~/.gnus (say
2491 @samp{M-x byte-compile-file RET ~/.gnus
2492 RET} to do it). Finally, if you have require
2493 statements in your .gnus, you could replace them with
2494 eval-after-load, which loads the stuff not at startup
2495 time, but when it's needed. Say you've got this in your
2502 (add-to-list 'message-syntax-checks '(sender . disabled))
2507 then as soon as you start Gnus, message.el is loaded. If
2513 (eval-after-load "message"
2514 '(add-to-list 'message-syntax-checks '(sender . disabled)))
2519 it's loaded when it's needed.
2522 @node [9.2], [9.3], [9.1], FAQ 9 - Tuning Gnus
2524 @subheading Question 9.2:
2526 How to speed up the process of entering a group?
2531 A speed killer is setting the variable
2532 gnus-fetch-old-headers to anything different from nil,
2533 so don't do this if speed is an issue. To speed up
2534 building of summary say
2544 at the bottom of your ~/.gnus, this will make gnus
2545 byte-compile things like
2546 gnus-summary-line-format.
2547 then you could increase the value of gc-cons-threshold
2548 by saying something like
2553 (setq gc-cons-threshold 3500000)
2558 in ~/.emacs. If you don't care about width of CJK
2559 characters or use Gnus 5.10.0 or younger together with a
2560 recent GNU Emacs, you should say
2565 (setq gnus-use-correct-string-widths nil)
2571 in ~/.gnus (thanks to Jesper harder for the last
2572 two suggestions). Finally if you are still using 5.8.8
2573 or 5.9 and experience speed problems with summary
2574 buffer generation, you definitely should update to
2575 5.10.0 since there quite some work on improving it has
2579 @node [9.3], , [9.2], FAQ 9 - Tuning Gnus
2581 @subheading Question 9.3:
2583 Sending mail becomes slower and slower, what's up?
2588 The reason could be that you told Gnus to archive the
2589 messages you wrote by setting
2590 gnus-message-archive-group. Try to use a nnml group
2591 instead of an archive group, this should bring you back
2596 @node FAQ - Glossary, , FAQ 9 - Tuning Gnus, Frequently Asked Questions
2603 When the term ~/.gnus is used it just means your Gnus
2604 configuration file. You might as well call it ~/.gnus.el or
2605 specify another name.
2609 In Gnus terminology a back end is a virtual server, a layer
2610 between core Gnus and the real NNTP-, POP3-, IMAP- or
2611 whatever-server which offers Gnus a standardized interface
2612 to functions like "get message", "get Headers" etc.
2616 When the term Emacs is used in this FAQ, it means either GNU
2621 In this FAQ message means a either a mail or a posting to a
2622 Usenet Newsgroup or to some other fancy back end, no matter
2623 of which kind it is.
2627 MUA is an acronym for Mail User Agent, it's the program you
2628 use to read and write e-mails.
2632 NUA is an acronym for News User Agent, it's the program you
2633 use to read and write Usenet news.