Have a question about CiviCRM? Get it answered quickly at the new CiviCRM Stack Exchange Q+A siteThis forum was archived on 25 November 2017. Learn more.How to get involved.What to do if you think you've found a bug.
$to = array( $headers['To'] ); //get emails from headers, since these are //combination of name and email addresses. if ( $cc = CRM_Utils_Array::value( 'Cc', $headers ) ) { $to[] = $cc; } if ( $bcc = CRM_Utils_Array::value( 'Bcc', $headers ) ) { $to[] = $bcc; unset( $headers['Bcc'] ); }
$headers['Bcc'] = $bcc;
The latest time after we have migrated our Drupal 6.16/CiviCRM 3.14 installation from one domain to another, around 50% of our emails came back with this error. (24,000 out of 50,000)
Interesting thing is, these failed emails were never injected into our SMTP server. There were no trace of a bounce message from our SMTP server to the email handler so this bounce is returned probably during the connection process between CiviCRM and the SMTP server.
IIRC, CiviCRM 3.1.4 (and previous) had known bugs with regards to a-bit-too-restrictive header validation (emails not being sent to recipients with letters outside [a-zA-Z] and/or emails not being sent to recipients without a name).That would be it; the emails in question were considered invalid by the (buggy) PEAR mailing library we use. See CRM/Utils/Mail/FixedMailMIME.php for the gory details.