We use the WordPress wp_mail() function to trigger the emails, after that it's up to your mail-server to handle them. You'll want to make sure you're receiving any emails from WordPress, then contact your host. They can run a traceroute to find out what's happening to them.
You can add the code below into the wp-config.php file anywhere as long as it is between the first line ( <?php ) and the line that says / That's all, stop editing. Happy Blogging / to temporarily disable all features so you can log in.
Until you've resolved the email issue you should switch to the more reliable and secure app-based TOTP method, and generate backup codes in case service isn't available.