You didn't mention what are the things you need to host but in most cases I tend to recommend against running things like email servers yourself (unless you have very specific needs). What you save in the monthly cost compared to hosted services you lose very quickly in staff cost, downtime, security issues etc. Naturally if your core business is running these services then it's a different story.
As mentioned: unless you have specific reason to run your own email server I would outsource that to Google (inbound) and something like SendGrid or SendWithUs (outbound). Running your own email server nowadays means a lot of work in setting up SPF records, keeping software up to date against security risks and ensuring that things keep running even when your server(s) are down.
As for OTP verification, unless you do that in mass-scale pretty much any lower end hosting (Linode, Digital Ocean etc) would do the trick with fairly low monthly price.
As for web-hosting: if you are looking to get static pages somewhere take a look Corey's suggestions regarding Github pages.