Logically you should create white-list of users who want to receive your mail. In coding part Check the server log and create the bad email database and never send them email again.
To avoid your email server to be black listed from the email services like yahoo, gamil and for smooth and clean delivery of emails to your customer; you should track all error and status codes in your server email software logs;
Following link gives you the detail of all SMTP Error Codes & SMTP Status Codes & SMTP
Reply Codes:
SMTP SERVER Error Codes