Email 主题>;时格式错误的电子邮件主题标题;使用codeigniter电子邮件库的75个字符

Email 主题>;时格式错误的电子邮件主题标题;使用codeigniter电子邮件库的75个字符,email,codeigniter,utf-8,mime,Email,Codeigniter,Utf 8,Mime,当主题超过75个字符时,我的MIME标题会出现一些乱码。 在标头中对换行符进行编码时,会有一个额外的无效换行符 某些电子邮件网关使用格式不正确的MIME字段“?==?utf-8?Q?主题?=”错误来跳转电子邮件 有没有人在使用CodeIgniter发送电子邮件时遇到过utf-8问题 -snip- 返回路径:*** 主题:=?utf-8?Q?主题行显然这是一个已知问题,由主题行>75个字符引起 修复方法是更改电子邮件配置,如下所示: $config['newline'] = "\r\n"; $

当主题超过75个字符时,我的MIME标题会出现一些乱码。 在标头中对换行符进行编码时,会有一个额外的无效换行符

某些电子邮件网关使用格式不正确的MIME字段“?==?utf-8?Q?主题?=”错误来跳转电子邮件

有没有人在使用CodeIgniter发送电子邮件时遇到过utf-8问题


-snip-
返回路径:***

主题:=?utf-8?Q?主题行显然这是一个已知问题,由主题行>75个字符引起

修复方法是更改电子邮件配置,如下所示:

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

因为我自己也有这个问题,所以我将在这里分享解决方案,因为共享的解决方案不适用于版本2.2

system/libraries/Email.php:365中找到这段代码

public function subject($subject)
{
    $subject = $this->_prep_q_encoding($subject);
    $this->_set_header('Subject', $subject);
    return $this;
}
用这个

public function subject($subject)
{
    $subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
    $this->_set_header('Subject', $subject);
    return $this;
}

这为我解决了问题。不过,我使用了内嵌的配置字符串:
$this->email->newline=“\r\n”
$this->email->crlf=“\n”$email=new CI\u email(数组('newline'=>“\r\n”)在多字节字符的中间也有一个问题。看,哈哈,我正在做一些遗留系统,我不知道我是75以上的问题,感谢你的回答哦,上帝,我想我爱你-我花了4个小时敲我的头,希望我能给你10票!!!
public function subject($subject)
{
    $subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
    $this->_set_header('Subject', $subject);
    return $this;
}