我使用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