There are many reasons that mail might not be delivered to intended recipients. In nearly all cases this is due to mail being blocked by the recipient's server as spam.
This can be very annoying and disruptive, as all too often you will not receive any notification that mail is not being delivered, and recipients are usually all too ready to accuse you of not sending the email in the first place, or not accepting that their system might be rejecting mail without telling you.
For most organisations, spam filtering happens at two points:
If mail fails the first SPF check, it is very often rejected out of hand, and NO NOTIFICATION OF REJECTION IS SENT. There are sound reasons for not sending SPF rejection notifications, as most spam will fail this test, so outright rejection without notification restricts bounce-backs, so called spam 'backscatter'.
Assuming your mail passes the SPF check, then mail will be scanned for spam, and if mail is 'suspect' at that point normally ends up in quarantine, or recipient's spam / junk folders. Very often a rejection notice ('bounce') message will be returned.
So... if your customers report that your emails are not being received, firstly check if they have ended up in quarantine / spam / junk folders - if so, you should ask your recipient to add your domain to their trusted sender 'whitelist' to ensure delivery.
If they are seeing no trace of your mail, then the problem is usually an SPF failure. This is generally YOUR problem not theirs, as it's an indication that you don't have a valid SPF record in place for your domain or email service provider, and this will need to be added to the DNS (domain Name Service) record for your domain. You should ask your IT service provider to help you with this if you are unsure how to do it.
Something to watch for is mail from your website being spam blocked - sometimes mail from your website host is sent through a 3rd party anti-spam service. For example, our hosting provider, Siteground, use this system, and you need to make sure your SPF record includes any 3rd party mail sending services or domains, such as outlook.com, zoho.com and 3rd party spam filters. For example, our SPF record is:
"v=spf1 +a +mx +ip4:126.96.36.199 +a:delivery.mailspamprotection.com +include:_spf.mailspamprotection.com +include:zoho.com +include:mailspamprotection.com -all"
Zoho.com being our mail service provider, the ip address our web server, and mailspamprotection.com being the 3rd party anti-spam service used by Siteground.