【发布时间】:2015-09-21 13:55:57
【问题描述】:
我正在尝试使用 CodeIgniter 发送 base64 编码的电子邮件。 代码下方:
$message = base64_encode($body);
$config = Array('protocol' => 'smtp', 'smtp_host' => $smtp, 'smtp_port' => $port, 'smtp_user' => $user, 'smtp_pass' => $pass, 'mailtype' => 'html', 'charset' => 'utf-8','_bit_depths' => array('7bit', '8bit', 'base64'),'_encoding' => 'base64',);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from($disemail, $disname);
$this->email->reply_to($disemail, $disname);
$this->email->to($email);
$this->email->subject($subject);
$this->email->message($message);
但电子邮件发送不正确。我刚刚在邮件中发现了 base64 编码文本,而不是 base64 解码。
这里是发送的调试:
Mime 版本:1.0
内容类型:多部分/替代;边界="B_ALT_5596ca8577c5c" 这是 MIME 格式的多部分消息。您的电子邮件应用程序 可能不支持这种格式。
--B_ALT_5596ca8577c5c 内容类型:文本/纯文本; charset=utf-8 内容传输编码:base64
PGh0bWw+PGJvZHk+PGgxPnRoaXMgaXMgaHRtbDwvaDE+PC9ib2R5PjwvaHRtbD4=
--B_ALT_5596ca8577c5c Content-Type: text/html; charset=utf-8 内容传输编码:quoted-printable
PGh0bWw+PGJvZHk+PGgxPnRoaXMgaXMgaHRtbDwvaDE+PC9ib2R5PjwvaHRtbD4=3D
--B_ALT_5596ca8577c5c--
我找不到确切的问题。
我正在使用 CodeIgniter 版本2.1.3。
【问题讨论】:
-
那么您对收件人的期望是什么?
-
收件人浏览器将对此进行解码。您没有看到任何编码的电子邮件吗?
-
设置
Content-Transfer-Encoding:标头。 (顺便说一句,一个完全基于 base64 的主体可能会触发更多垃圾邮件过滤器。) -
@mario ,
'_encoding' => 'base64'正在这样做。
标签: php codeigniter html-email