gnus-faq.texi 73 KB

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