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.
My question would be the follows:
1. This case I described did not happen to us in previous cases, this was the only time. (Very isolated) As matter of fact, I did another mailing this afternoon with the same 50,000 emails and they were all injected fine.
It makes me wonder if it had anything to do with MySQL connection issues (MySQL server gone away or etc) or script time out issues. However, those were not shown in my php logs. Also we had sent 5 or 6 mailings to this email groups before (sent successfully) so I would think that our SMTP server does not dislike the CiviCRM email headers and the mailing logic were fine?
Can what you described happen on some occasions but not others?
2. It would be a nice feature if CiviCRM can create some kind of log of those error emails due to the PEAR mailing library or even just create some sort of action available in the mailing report so you can add all the unknown bounce type error into a group, remove their hold and resend the emails?
What are some other options we can use to debug/trace this error?
i will update to CiviCRM 3.15 and let you know if this continue to persist.