邮件发件人名称无法正确显示法语字符

时间:2017-01-27 22:51:38

标签: php email opencart

我使用opencart OC2开源电子商务软件。当订单下达时,商家通过邮件接收订单确认(在catalog_model_checkout_order.php中编码)。 我已将setSender修改为以下内容,以便在我的邮箱中显示买方的名称,而不是我店铺的名称:

原始代码:

$mail->setSender(html_entity_decode($order_info['payment_firstname']." ".$order_info['payment_lastname'], ENT_QUOTES, 'ISO-8859-15'));

替换代码:

$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
$mail->smtp_username = $this->config->get('config_mail_smtp_username');
$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
$mail->smtp_port = $this->config->get('config_mail_smtp_port');
$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($order_info['email']);
$mail->setSender(html_entity_decode($order_info['payment_firstname']." ".$order_info['payment_lastname'], ENT_QUOTES, 'UTF-8'));
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
$mail->setHtml($html);
$mail->setText($text);
$mail->send();

问题是当出现带有法语字符的买家名称时,这些奇怪的字符未正确编码。 例如,名称“AmélieLindname”在我的邮箱中显示为“AmélieLastname”作为发件人姓名。据我所知,使用UTF-8编码是正确和最常见的方式吗?

我已经尝试使用ISO-8859-15编码但没有成功(同样的问题: 试用ISO-8859-15编码:

{{1}}

使用以下经典邮件协议发送邮件:

{{1}}

是否有任何建议可以在我邮箱的发件人列中正确显示法语字符。

感谢您的帮助。 SabKo

0 个答案:

没有答案