Codeigniter 3 中 SMTP.office365.com 的截断问题

问题描述 投票:0回答:1

问题: 在 Codeigniter 3 应用程序中使用 smtp.office365.com 发送电子邮件时,电子邮件正文被截断。电子邮件正文包含 HTML,甚至简单的文本消息也无法正确发送。有趣的是,从其他服务器的 SMTP 发送不会导致此问题。

SMTP 设置:

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.office365.com';
$config['smtp_port'] = '587'; // if 80 doesn't work, try 24 or 21
$config['smtp_user']  = '[email protected]';  
$config['smtp_pass']  = '*******';  
$config['_smtp_auth'] = true;
$config['smtp_crypto'] = 'tls'; 
$config['mailtype']  = 'html'; 
$config['charset']    = 'UTF-8'; 
$config['wordwrap']   = TRUE;

问题: 收到的邮件正文如下。有问题的部分已突出显示。

Lorem Ipsum 只是打印和排版的虚拟文本 行业。 =orem Ipsum 一直是业界标准的虚拟文本 自从 1500 年起,一位不知名的印刷商拿走了一系列的字体和 将其打乱以制作a=ype样本书。它不仅幸存下来 五个世纪,还把=eap变成了电子排版, 基本保持不变。在 20 世纪 60 年代,它是 p=pularized 包含 Lore= Ipsum 段落的 Letraset 表的发布,以及 最近使用桌面出版软件,如 A=dus PageMaker 包括 Lorem Ipsum 的版本。

问题: 在应用程序端或 SMTP 服务器端,什么可能导致此问题?任何有关故障排除和解决此问题的见解或建议将不胜感激。

php codeigniter email smtp office365
1个回答
0
投票

除了您拥有的配置外,还添加这两个

newline
clrf

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

这个问题是因为

Quoted-printable
编码导致的

© www.soinside.com 2019 - 2024. All rights reserved.