I have just been told by my ISP that they will no longer provide free email, and I would like to have the email for my domains hosted independently of my ISP anyway, to make it easier to move my server to another ISP. I am currently using CloudFlare’s DNS, which I love. Can anyone recommend a good way to host the email for my domains that works well with CloudFlare (preferably free, or as cheap as possible)?
You can choose any. There is none that works better with Cloudflare than others. As long as you have a valid MX record mail will arrive.