随机HTML电子邮件字符在Outlook中替换为“=”

时间:2017-07-04 10:06:46

标签: php codeigniter email outlook html-email

我已经删除了这封电子邮件,它仍然显示问题:某些随机字符在Outlook中被“=”替换。我使用PHP / Codeigniter和sparkpost.com作为邮件发送机制。

在outlook.com中:

Outlook.com screenshot

在测试的gmail /其他客户端中,没关系

电子邮件配置:

$config['protocol']  = 'smtp';
$config['smtp_host'] = "smtp.sparkpostmail.com";
$config['smtp_user'] = "SMTP_Injection";
$config['smtp_pass'] = " ";
$config['smtp_port'] = 587;
$config['wordwrap'] = TRUE;
$config['mailtype']  = 'html';
$config['charset'] = 'utf-8';
$config['newline'] = "\r\n";

删除HTML for Email

https://pastebin.com/inBrhEtJ

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在您的配置中添加以下行:

$config['crlf'] = "\r\n";

原因如下:

根据RFC 2045,必须使用带引号的可打印编码\r\n。 然而,Codeigniter违反了这条规则,因为他们说某些服务器无法正确处理,因此仅使用\n

这在/system/libraries/EMail.php下的电子邮件库中有记录。 您可以在官方Github Rep上看到in Line 182