In mail.appmail.app menu:
Edit > Save as...
Format: Raw Message Source, this will save as EML (some form of html as mentioned by Jasper Duizendstra's answer and comments).
You can also use Rich Text Format (will save as .rtf). Then you can use GNU's UnRTF. Canunrtf can be installed with brew like this:
brew install unrtf
unrtf --html input.rtf > output.html
brew install unrtf
Here's how you'd use it
unrtf --html input.rtf > output.html