Mutt does all of the above and more. See
http://www.cs.hmc.edu/~me/mutt/index.html.
>
> One of the reasons that I need this is that I want to use my Linux box to
> send mail where the From: address would correspond to some other host
> (which forwards mail to me.)
>
I have mutt configured to use a different From: and Reply-to: depending
on where my mail is going.
--
Artificial Intelligence stands no chance against Natural Stupidity.
GAT d- -p+(--) c++++ l++ u++ t- m--- W--- !v
b+++ e* s-/+ n-(?) h++ f+g+ w+++ y*