I have been encountering this issue a lot lately and many of my clients as me to help them with it. In order to resolve this issue, the first thing you need to check is your domain MX record. The MX record is the bread and butter of your email. Fixing the email which is not able to receive email are case to case basis and here are just a few ways to fix it.
CloudFlare A Record is not pointed to your Server
This is the most common issue that makes you to not receive email but can still send email. In order to fix this issue, you will need to create an A record in your Cloudflare account and and point it to your server. In other words, you will need to turn off the cloud icon(make it gray) to that A record. Again this is a case to case basis since each web hosting is setup differently so you’ll have to contact your host or check your web hosting setting and look for your mail A records that is handling the mail.
If you are not sure how to get your IP, you can either use this tool DNS LOOKUP , log into your web hosting access and check server information or simply contact your host and ask your domain IP address.