php - Outlook 中随机 HTML 电子邮件字符替换为 "="

标签 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

https://pastebin.com/inBrhEtJ

有什么想法吗?

最佳答案

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

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

原因如下:

根据RFC 2045对于带引号的可打印编码,必须使用 \r\n 。 然而 Codeigniter 打破了这个规则,因为他们说某些服务器无法正确处理这个问题,因此只能使用 \n

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

关于php - Outlook 中随机 HTML 电子邮件字符替换为 "=",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44902985/

相关文章:

带有 Outlook 365 的 HTML/CSS 电子邮件 - 无法让 "list-style:none;"与元素符号列表一起使用

php - 如何避免在 codeigniter Controller 函数上调用多个模型?

php - 通过多个不同名称的复选框从mysql获取数据

perl - 通过 cpan 安装 perl 模块 Net::SSLeay

php - 使用相同名字和姓氏注册并登录多个用户

php - session 数据未写入数据库

php - 多次准备一个语句不好吗?

php - apache设置虚拟主机访问403访问禁止,为什么?

php - CodeIgniter:如何根据第一个查询结果正确运行两个查询?

javascript - 使用 C# 打开带有附件的默认邮件客户端窗口,