笨SMTP电子邮件消息 - 用等号替换的字符(CodeIgniter SMTP email mess

2019-07-02 14:18发布

我使用的是笨电子邮件库使用我们的Exchange服务器发送电子邮件。 我得到的问题是,电子邮件的内容被搞砸。

有迹象表明,得到与等号替换了一些单词“=”,我试过2个不同的Exchange服务器(它们是在不同的位置,并没有关系什么那么)我仍然得到同样的问题。 如果我使用任何其他服务器作为一个SMTP服务器来发送邮件一切工作正常和内容保持不变,并维持不变。

发送前内容:

Dear Customer

Please find attached a comprehensive explanation of how to get our brochure of Angola. This has been sent to you at the request of Alex.

The information has been taken from www.example.co.uk  "Company name" is one of the leading tile and marble companies in the UK. 

通过Microsoft Exchange发送之后的内容:

Dear Customer

Please find attached a comprehensive explanation of how to get our brochure of A=gola. This has been sent to you at the request of Alex.

The information has been taken from www.example.co.uk  "Company name" is one of the leadi=g tile and marble companies in the UK. 

正如你可以看到由于某种原因一些的“n”个字符用等号替换“=”(例如:安哥拉> A =戈拉)

我的电子邮件地址配置:

$this->load->library('email');
$config['charset']      = 'utf-8';
$config['mailtype']     = 'html';


// SMTP
$config['protocol']     = 'smtp';
$config['smtp_host']    = 'exchange.example.com'; //ssl://
$config['smtp_user']    = 'email@example.com';
$config['smtp_pass']    = 'password';
$config['smtp_port']    = 25;

$this->email->set_newline( "\r\n" );

$this->email->initialize( $config );

$this->email->clear();

......

$this->email->from( $frome, $fromn );
$this->email->to( $email );

$this->email->subject( $subject );
$this->email->message( $send_message );


$this->email->send();

有谁知道为什么是Microsoft Exchange表现这种方式? 或者是有某种设置我应该使用的?

Answer 1:

这是奇怪的,特别是因为不是所有的n s的音译,而不是在一个特定的位置。

尝试调用$this->email->set_crlf( "\r\n" ); 为好。 查找该消息的详细信息在Exchange和检查的Content-Type和字符集/编码-在这里发表的原始的东西,所以我们可以检查它。

我发现这在微软知识库 :

微软Exchange使用的增强的字符集。 默认MIME字符为Microsoft Exchange设置为ISO 8859-1。 有些网关不支持换行这个字符集问题软回车的方式。 发生这种情况时,每个行以表示换行,其中网关的线长度的支撑端等号。



Answer 2:

我解决了这个(有点)通过设置$charlim = '998'_prep_quoted_printable功能。

当我设置$crlf = "\r\n"所得的电子邮件是出于某种原因完全乱码。 但是我注意到体征出现在其通过的线路长度引起的规则的间隔=限于76个字符。 因此,增加每行最大字符(998是RFC2822限制)解决了这个问题,只要你没有很长的线。



文章来源: CodeIgniter SMTP email message - characters replaced with equal signs