In Thunderbird, you can set custom font faces and sizes for reading plain-text e-mails. However, Thunderbird sometimes "randomly" does not respect your choices.
This is actually not a bug, but a rather weird feature: Fonts are defined per encoding of e-mails.
Some e-mails will be considered Unicode, some Western (ISO 8859-1), and some maybe yet another encoding.
The advanced font settings dialog by default just opens on "Western". Choose a different encoding from the "Fonts for" dropdown menu and you'll see that your custom font settings are no longer there but Thunderbird's default 12pt monospace font will be back. \
This is why some e-mails look wrong, they are just using that encoding's setting.
You should set your custom font face + size for both "Unicode" and "Western", at least. This should cover most e-mails.
Note that this does not affect HTML e-mails, but they should come with their custom font settings anyway.