Mutt is a popular console-based email client. Recent versions support things like IMAP, SSL and TLS as well as gpg(1) (see GPGMailClients).
Its greatest strength is an unsurpassed support for dealing with MailingLists. The threading is very smart, and it actually understands the notion of a MailingList: the list-reply command addresses a reply to a list post to the list but not its sender, avoiding cumbersome reply-to-all fiddling, and will not be confused by ReplyToMunging some evil mailing list software does either. There are many commands to allow you to efficiently select a large number of mails to operate on. Just about everything is customizable - keybinds, screen layout and colourization (including text highlighting in the pager), even the headers of all mail you generate. You can also edit all headers on the fly and individually for each mail. All of this functionality can also be bound to keys, making it simple to have an arbitrary number of mail adresses, mail servers, display configuration and anything else you can think of available at the touch of a key. It has superb support for sending mail from the CommandLine, even with attached files.
If you like this kind of power and freedom, Mutt is your mailer of choice.
Naturally, you pay a price for so much goodness: the learning curve is steep, esp since the default configuration is just barely usable, forcing you to claw through much of the documentation in order to achieve a comfortable environment. Those who are willing to invest the effort however will find themselves pleasantly surprised. No other mailer enables you to deal with high mail volumes even nearly as efficiency.
Unsurprisingly, it's very fast and takes very little memory (unlike, say, MozillaMail). Being a console program (can be linked against either S-lang or Curses) it is naturally very usable even across a SSH connection on a dial-up. Unlike PINE, it is completely Free software, available under the GPL.
See .muttrc for example config files.
A more "integrating" alternative is to add set implicit_autoview to your .muttrc and make the .mailcap line something like
text/html ; lynx -force_html -dump %s ; copiousoutput
This will cause Mutt to transparently invoke Lynx and display its output in the integrated pager for any HTML message. (set implicit_autoview enables this for all MIME types with a copiousoutput keyword.)
Incidentally, vilistextum is an excellent tool for such on-the-fly conversion of HTML, as it launches and runs nearly instantly even on old and aging machines, where Lynx takes its sweet time.
cat(1)ing a file into mutt doesn't seem to work the same way.
Mutt (and most other command-line mail programs) take stdin(3) to be the body of the message. That won't work if you expect it to add all the nice MIME headers and stuff for attachments.
lib/main.php:944: Notice: PageInfo: Cannot find action page