We’ve had to make changes to two phpmailer files in order for Campaign mails to be sent with Charset UTF-8. For some reason SuiteCRM (and Sugar before it) does not apply the Charset settings from config / config_override, (nor from User’s Email settings). All our campaign mails were getting sent with ISO-8859-1. The problem did not seem to show up with normal (non-campaign) emails sent from SuiteCRM.
So the only way to fix it is to hard-code UTF-8 into class.phpmailer.php
The two changes made to have Email body and subject lines to work with UTF-8 charset are:
- commented out one line in /include/SugarPHPMailer.php inside function SugarPHPMailer():
// $this->CharSet = $locale->getPrecedentPreference('default_email_charset');
- changed default charset in /include/phpmailer/class.phpmailer.php
public $CharSet = 'UTF-8';
This seems like a bug in Sugar/Suite that has not been fixed in years. Has anyone else seen this? (obviously only relevant to non-English-users, as with German in our case).
Is there a way to fix the Suite/Sugar code that keeps it from applying the $sugar_config[‘default_email_charset’] = ‘UTF-8’; setting in config_override? I couldn’t figure out where the issue lies exaclty.
Can anyone else reproduce this? if so, I’d enter it as a bug in github…