I’ve spent part of the morning setting up Gnus on my OS X, to replace Mail.app and ease synchronization with my GNU/Linux boxes. I won’t enter in the details of basic Gnus setup (see, for instance, the Gnus tutorial), but offer some customization tips, and mention two of my favourite Gnus-enhancing packages (which are not OS X-specific, by the way).
First thing was to import my Mail.app mailboxes. Easy. Open the mailbox in Mail, select all messages and execute the menu command Save as...
(under File
); in the save dialog, be sure to select Raw Message Source
. The saved file is in mbox format, a Gnus import friendly one. All you need to get those messages into Gnus is to press B f
in the *Group* buffer, providing your mbox file when asked. A new group is created with all your messages. You can, for instance, mark all of them and B c
to copy them in, say, a regular nnml
group.
Setting Gnus to read and send messages via Gmail was also easy following the instructions here. A caveat: you’ll need also the file ssl.el from the Gnus CVS repository to make POP3 work (and of course gnutls, which i installed via the fink package gnutls14; be sure to tell Emacs about your fink path: (add-to-list 'exec-path "/sw/bin")
).
With that, I had a functional Gnus running and could move on to more interesting stuff. I don’t know about you, but i absolutely need random mail signatures, selected from my growing collection. To that end, i’ve been using randomsig.el since i can remember. Just put the file in your load path (or, if you’re on Debian, install the gnus-bonus-el
package), and add to your initialisation files something along the lines of:
(when (require 'randomsig nil t) (define-key message-mode-map (kbd "C-c s") 'randomsig-replace-sig) (define-key message-mode-map (kbd "C-c S") 'randomsig-select-sig) (require 'gnus-sum) ; probably required for `gnus-summary-save-map' (define-key gnus-summary-save-map "-" 'gnus/randomsig-summary-read-sig) (setq randomsig-dir "~/Library/Emacs/Gnus/") (setq randomsig-files '("signatures.txt")) ;; or (setq randomsig-files (randomsig-search-sigfiles)) ;; or (setq randomsig-files 'randomsig-search-sigfiles) (setq message-signature 'randomsig-signature) (setq randomsig-delimiter-pattern "^--"))
As you can see, i put my signatures in a file called signatures.txt. Now, every time i start editing an email, a random signature taken from this file is inserted for me. If i don’t like it, i can request another one typing C-c s
. And if i’m reading anything inside and Emacs buffer and find a new text to add to my signatures.txt
, M-x randomsig-message-read-sig
will add the region marked in the buffer to my collection. Perfect bliss.
Mail.app comes with a sophisticated search engine based on Spotlight. But i’ve noticed that i never use the 95% of its features, not to mention that it’s annoyingly slow. What i really need is a simple and quick keyword search, and i’ve had it for many years now with Gnus and nnir.el. This package provides an Emacs/Gnus front-end to several indexers, my preferred one being namazu. So, besides getting nnir.el
, you’ll need to install it. In Debian, it’s as easy as installing the corresponding package (namazu2), but, theres no namazu package to be seen in fink. Fortunately, you can compile it from source just by following the instructions: they worked in my MacBook without a glitch. With namazu installed, you can index your extant email in a breeze: create a directory to hold the index files (i use ~/Library/Caches/namazu
) and type:
cd ~/Library/Caches/namazu mknmz --mailnews ~/Library/Emacs/Gnus/Mail
(using the appropriate directories, of course), and the index directory will get populated. Now, with nnir.el
in your load path, tell Emacs how to find those index files:
(when (require 'nnir nil t) (setq nnir-search-engine 'namazu) (setq nnir-namazu-index-directory (expand-file-name "~/Library/Caches/namazu")) (setq nnir-namazu-remove-prefix (expand-file-name "~/Library/Emacs/Gnus/Mail/")) (setq nnir-mail-backend (nth 0 gnus-secondary-select-methods)))
(i put this code in my Gnus configuration file). We are all setup: go to the *Group* buffer and type G G
to search your emails. A temporal group containing the messages that match your query will be created for you, for your browsing pleasure. Inside that group, G T
will teletransport you to the original message, in case you need to recover its context. As you’ll notice, namazu searches are at least an order of magnitude faster than Spotlight.
The only bit left is to set an entry in your crontab running mknmz
for you periodically (i’ve got it set up with a period of one hour). Indexing is incremental, i.e., fast. Yeah, it’s not that immediate indexing of Spotlight or Beagle, but, you know, it’s not like i get a mail every five seconds, or that i need engine to find a mail i read twenty minutes ago.
There are many other tricks to play with Gnus, but i’ll save them for future posts :-).
February 4, 2007 at 9:12 pm
Anyone with luck setting up gnus and gmail under windows with cygwin?
Sessions hangs when I try to send email.
February 4, 2007 at 10:00 pm
I would recommend checking out Wanderlust http://www.gohome.org/wl/. Some find it nice.
February 5, 2007 at 1:14 pm
I appreciate the suggestions. I was looking for a good search for gnus. You can read about my experiences with gnus on os x here:
http://cubiclemuses.com/cm/blog/2006/gnus_gmail_os_x.html
February 5, 2007 at 1:25 pm
[…] Gnus misc — several things in there that I need to get set up too… […]
February 21, 2007 at 8:24 am
Does this help?
http://www.mail-archive.com/info-gnus-english@gnu.org/msg03039.html
see the complete thread for more info.
Shanks
July 25, 2007 at 6:43 pm
Hi JO,
I have created fink packages for namazu. They are here:
http://turingmachine.org/blog/index.php?/archives/12-Namazu-for-OS-X-via-fink.html
And thanks for the stories. They are always interesting.
dmg
July 26, 2007 at 5:31 pm
Hi,
The B f in the *Group* buffer did not worked for me, but the G f works.
,—-[ C-h f gnus-group-make-doc-group RET ]
| gnus-group-make-doc-group is an interactive compiled Lisp function in `gnus-group.el’.
| (gnus-group-make-doc-group file type)
|
| Create a group that uses a single file as the source.
|
| If called with a prefix argument, ask for the file type.
`—-
August 27, 2008 at 1:56 pm
Why not use the windows version of Emacs, in which gnus seems to work fine
January 16, 2010 at 3:14 am
Once you’ve installed wordpress you have a basic functioning web site. At this point you can easily download free (and paid) themes and plugins. THey just go into your public_htmlwp_contenttemplates or plugins folder.
January 30, 2010 at 9:54 pm
Hi, I’m noob with emacs and gnus, I have a issue with the summary buffer in gnus. When there is a new mail or article, the summary buffer shows only the new ones. Sometimes I’m looking for a old article and I’ve not time for read the new articles, so for look my old article I must check the new. Is there a way for show all articles in summary buffer all time??