Hard to have a reliable method -- the mail() function returns a boolean.
"Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise."
If the domain exists but the username is wrong, it'll get sent and the sending email address will receive a bounce from the receiving server -- there's not too much you can do there.. If the domain name can't be resolved, you should receive a false from the mail() function.