People here and there have been saying that Mutt is so great for so long that I couldn't resist anymore, and decided to leave my dear Roundcube aside for a while.

I've been willing to give it a serious shot for a while, but this is not the kind of software you can just plug and play with. It requires some time to learn it.

Debian has 2 versions of Mutt: the regular one, and the patched one (mutt-patched). I took the second version because it includes a sidebar that's extremely convenient to navigate between folders. So, Mutt is great. It took me half a day to come up with a satisfying configuration file (that's still evolving), but once you get past the no-ajax/no-click/no-fancy rehabilitation, it's actually pretty neat to use.

For example: you can ask Mutt to execute shell commands for within the interface. And that simplifies a lot the marking as Spam/Ham of message in Dspam. In my configuration, DSPAM is running on a remote server, so you have two solutions to interact with it:

  1. using the web interface
  2. using the dspam command line from SSH

I choose the second one, and with the following Mutt macro, you just have to press Shift+S or Shift+H to mark messages as spam/ham from the message list (index) or inside a message (pager).

# dspam macro
# shift-S mark as spam, copy to spam folder and delete from current folder
# shift-H mark as ham, copy to inbox folder and delete from current folder
macro index,pager S "<enter-command>set wait_key=no\n<pipe-message>ssh dspam@server.example.net 'dspam --user julien@example.net --class=spam --source=error'\n<enter-command>set wait_key=yes\n<copy-message>=Spam\ny<delete-message>" 'Message learned as Spam'
macro index,pager H "<pipe-message>ssh dspam@server.example.net 'dspam --user julien@example.net --class=innocent --source=error'\n<enter><copy-message>=.\ny<delete-message>" 'Message learned as Ham'

spam_mutt.png

That, of course, requires to have set SSH key authentication from your local account to the dspam account on the remote machine. If the command works and DSPAM re-learn the message, it will log the command into /var/spool/dspam/system.log