dev/mail#36 - Fix invalid unicode characters in bounce processing #13396
+58
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
MySQL does not accept invalid unicode characters and therefore fails to write the bounce to the database if it is part of the bounce reason.
Issue tracker: https://lab.civicrm.org/dev/mail/issues/36
Before
Exception is thrown. Bounce is not stored in the datebase, but mail is moved to processed folder.
After
Invalid character are replaced with unicode replacement character. No exception. Bounce is saved.
Technical Details
Generating an invalid unicode character was not easy. Had to use a hex editor and replaced a valid character with an invalid one.