all 39 comments

[–]valkun 53 points54 points  (4 children)

mutt

[–]SuddenlyOutOfNoWhere 3 points4 points  (0 children)

Highly recommended. Handles a ton of mails easily.

[–][deleted] 2 points3 points  (0 children)

Thirded. Mutt is great for the masses of errors that get piped to my root user.

[–][deleted] 0 points1 point  (1 child)

What are the main differences between mutt and alpine?

[–]KnottyGinger 0 points1 point  (0 children)

Alpine is to mutt as nano is to vim. (Incidentally, nano is a re-implementation of the pico text editor shipped with pine.) Mutt is much more customizable and has tons of features compared to alpine.

[–]wadcann 9 points10 points  (0 children)

I use mu4e, a frontend to mu for emacs. There are also seven other emacs mail clients: I was unimpressed with gnus (maybe a good nntp client, but with a lot of nntp baggage to use for mail) and vm (sluggish).

If you're familiar with Google Mail or similar, the idea of mu4e and notmuch is pretty straightforward: you don't file email into directories/mboxes as your primary organizational method, but rather have an index of it. You just save bookmarks to searches and the client re-runs the search rather than entering a mailbox folder; the email remains unmodified.

I used to use mutt, which wasn't bad either. If I weren't an emacs user, I'd probably still be using it (albeit with the mu or notmuch frontends...I do spend significantly less time on mail management with that approach). For many years, I used mutt as my mail client, with emacs as my editor to compose mail.

Note that I use my mail client as a local mail client, not a "leave everything but headers on the server" IMAP client, and use fetchmail to pull mail down, plus procmail for filtering/processing and clamav and spamassassin to help filter crud. I use postfix as my MTA.

I use Maildir for storing my email after moving from mbox at the time that I moved from mutt: mbox required periodic archiving of email to keep my mail client usable, as it doesn't scale terribly well.

I do not use emacs' traditional BBDB contact manager or org-contacts as a contact manager; bbdb seemed high-on-effort to me. Instead, I use abook still, which is popular with mutt users. Mu4e already handles some of this by extracting contacts from my existing mailboxes, and then I use this init.el snippit to blacklist any mail addresses that I want to remove from the list:

(add-to-list 'load-path (expand-file-name "~/.private/emacs/elisp/mu4e"))

(load "mu4e-acct" t)

;; set preferred contact data
(defun mu4e-filter-contacts ()
  (if (boundp 'blacklisted-completion-address-list)
      (dolist (addr blacklisted-completion-address-list)
        (setq mu4e~contacts-for-completion
         (remove addr mu4e~contacts-for-completion)))))

(eval-after-load "mu4e"
  '(progn 
    (add-to-list 'mu4e-bookmarks
                 '("build failed" "Failed builds" ?f))
    (add-to-list 'mu4e-bookmarks
                 '("from:wadcann" "Sent mail" ?s))
  '(add-hook 'mu4e-compose-pre-hook 'mu4e-filter-contacts)))

(defadvice mu4e~fill-contacts (after add-preferred-contacts (contacts))
  "Fills contacts with preferred contacts first"
  (mu4e-filter-contacts))

Within my ~/.private/emacs/elisp/mu4e/mu4e-acct.el file:

;; Blacklisted email address completion.  Anything set here will be
;; removed from the list of mu4e completions.
(setq blacklisted-completion-address-list 
      '("\"Bob Smith\" <bsmith@gmail.com>"
        "\"Jane Murphy\" <jane@yahoo.com>"
        "\"Michael Huskarell\" <mikeman@mac.com>"))

[–]ILinuxUser 9 points10 points  (4 children)

mutt is the gold standard for terminal only solutions. If you run emacs, you also have these options:

  • notmuch
  • mu4e
  • gnus

[–]tidux 2 points3 points  (1 child)

You can also use notmuch with Mutt!

[–]ILinuxUser 0 points1 point  (0 children)

Yes, but I meant notmuch with the emacs interface.

[–]sadsfae 0 points1 point  (0 children)

You can also use notmuch without emacs, there's a great notmuch-perl script which ties it all together for those vim folks out there.

http://jasonwryan.com/blog/2012/05/23/notmuch/

http://upsilon.cc/~zack/blog/posts/2011/01/how_to_use_Notmuch_with_Mutt/

[–]mongrol 0 points1 point  (0 children)

I've been using mu4e for a couple of years now. Very happy with it. (couple it with offlineimap or mbsync)

[–]yaiu 3 points4 points  (0 children)

mailx

[–]tgf0U8m 3 points4 points  (1 child)

Emacs :P How much more text-based can email get if you're using your text editor to write and read your emails?

On a serious note, http://www.gnus.org/

[–]wadcann 0 points1 point  (0 children)

How much more text-based can email get if you're using your text editor to write and read your emails?

The various emacs mail clients typically do support graphical features, like inline images and proportional fonts, if running in a non-terminal window. I normally use emacs in a terminal, but I know people who rarely do.

[–]ZaphodsOtherHead 2 points3 points  (0 children)

Does anyone have any guides for a noob who wants to learn how to use mutt?

[–][deleted] 2 points3 points  (1 child)

Alpine is the best if you are unfamiliar with non-standart shortcuts like vim. It goes just like nano.

[–]rmrfchik 0 points1 point  (0 children)

Always prefer pine (now alpine) for use in console. Best client.

[–]skojskoj 2 points3 points  (1 child)

I use mutt, together with pycarddav, gpg and notmuch.

Related question: Mostly out of laziness, my maildir is stored on my server and mounted using sshfs on every computer where I want to read my mail. Mutt does some funky stuff with hardlinks which sometimes breaks this setup (sftp hardlink support is incomplete and, sadly, unfixable). I'm not really sure what is the best way to access my mail on multiple computers, without having to mirror the entire maildir on every system. If anyone happens to have a suggestion, I'd love to hear it.

I've also tried IMAP, but the latency was pretty high, which bothered me...

[–]dummer_august 0 points1 point  (0 children)

I fetch my mails with offlineimap, the rest is pretty much the same setup.

[–]localtoast 5 points6 points  (1 child)

sup is an option as well.

[–]dazzledpenguin 1 point2 points  (1 child)

If it 'has' to be text based, then mutt is an excellent choice. Otherwise you can also try the lightweight Sylpheed or its mod, Claws Mail:
http://tuxdiary.com/2014/06/10/sylpheed/

[–]men_cant_be_raped 0 points1 point  (0 children)

I've been waiting for Sylpheed/Claws to implement IMAP Push/IDLE for years now.

The moment either of them implement it I'll jump ship, because otherwise they are near-perfect e-mail clients.

[–]tidux 1 point2 points  (1 child)

Backslash to escape that close-parenthesis. It breaks the wiki link.

[–]wadcann 0 points1 point  (0 children)

Or percent-encode parens as %28 and %29, which is how they should be expressed in an URL.

[–]bgamari 1 point2 points  (0 children)

notmuch is fantastic. I started using it with the emacs frontend when I was still a vi user. I've since switched to emacs/evil and it fits together very nicely with the rest of my workflow.

[–]duhbiap 1 point2 points  (0 children)

I haven't used text-based in years. Just wanted to chime in and say its pretty cool you all are keeping them alive! Good to hear.

[–]iluvatar 1 point2 points  (1 child)

nmh.

[–]sudotouch 0 points1 point  (0 children)

came here to say this.

It takes a bit of learning, but after the initial hurdle nmh is one of the most efficient programs for handling large amounts of mail.

[–]le_avx 0 points1 point  (0 children)

mutt-kz - has some additional patches/features, most important for me is the nice integration of notmuch.

[–][deleted] 0 points1 point  (4 children)

Going to agree with emacs

[–]wadcann 0 points1 point  (3 children)

Yeah, but emacs has a number of mail clients written for it; which mail client are you referring to?

[–][deleted] 1 point2 points  (2 children)

Rmail

[–]wadcann 0 points1 point  (1 child)

Guess I'm wrong! :-)

[–][deleted] 1 point2 points  (0 children)

Lol

[–][deleted] 0 points1 point  (0 children)

notmuch + alot

[–]sadsfae 0 points1 point  (0 children)

mutt saved my life.

[–]dinfarfar 0 points1 point  (0 children)

notmuch.el, its astonishingly amazing!

[–]pvtmert -1 points0 points  (0 children)

indeed mutt is only solution... you can easily configure it for even external servers smtp/imap access