Emacs (even on the TTY), can do a decent job of rendering markup using it's built in EWW browser. Works pretty well, at least for most of the content I'm looking for.
Using it with Notmuch or mu4e is not the easiest thing to do, but it works pretty solidly.
For when eww doesn't work, this snippet will let you type "c v" in a notmuch mail buffer to render the html content of an email in an external browser:
Using it with Notmuch or mu4e is not the easiest thing to do, but it works pretty solidly.