When a CiviMail job is running, if one of the recipients has a bad email address, the CiviMail processor throws a set of errors into the Drupal watchdog log, with this message:
SMTP Socket Error or failed to set sender error. Message: Failed to add recipient: firstname.lastname@example.org [SMTP: Invalid response code received from SMTP server while sending email. This is often caused by a misconfiguration in Outbound Email settings. Please verify the settings at Administer CiviCRM >> Global Settings >> Outbound Email (SMTP). (code: 450, response: 4.1.2 : Recipient address rejected: Domain not found)], Code: 10005
There seem to be two problems.
First, the error message seems to be misleading by suggesting that the problem is a misconfiguration in Outbound Email settings, which doesn't offer any settings related to handling unfound domains.
The more serious problem is that CiviMail will keep trying this address every time the CiviMail processor runs, thereby it will never complete the job and fills the watchdog log with error messages. The only way to stop the loop without actually cancelling the mailing job is to delete the relevant row in civicrm_mailing_event_queue (and then put the offending email on hold to prevent it from happening in the future).
It seems like the proper behavior would be for CiviCRM to treat that error like a bounce; but certainly not to keep trying it over and over.
Is that the appropriate behavior?