CodeIgniter 发送奇怪的电子邮件

Rix*_*azi 5 php email codeigniter html-email

我有一个可以传递参数以轻松发送电子邮件的功能。

就是这个 :

function __construct() {
        $this -> CI = get_instance();
        $this -> CI -> load -> library('email');
    }

    public function send_one_email($single_email, $single_subject, $single_body, $single_attach) {
        $this -> CI -> email -> clear();
        $this -> CI -> email -> to($single_email);
        $this -> CI -> email -> from('**************');
        $this -> CI -> email -> subject($single_subject);
        $this -> CI -> email -> message($single_body);

        if ($single_attach) {
            $this -> CI -> email -> attachment($single_attach);
        }

        if ($this -> CI -> email -> send()) {
            return TRUE;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我收到的电子邮件是(我不应该收到的):

?= =?utf-8?Q?2013?= 回复:“SUNYOrangeScholarInterface@gmail.com” X-发件人:SUNYOrangeScholarInterface@gmail.com X-Mailer:CodeIgniter X-优先级:3(正常)消息 ID: <520eb8d943533@gmail.com> Mime 版本:1.0 内容类型:多部分/替代;边界=“B_ALT_520eb8d943598”

这是 MIME 格式的多部分消息。您的电子邮件应用程序可能不支持此格式。

--B_ALT_520eb8d943598 内容类型:文本/纯文本;charset=utf-8 内容传输编码:8 位

您好,Rixhers Ajazi,这是一封自动电子邮件,通知您您的帐户已成功创建。您必须等待您的帐户得到验证,这意味着您无权使用 ScholarInterface。一旦您的帐户被激活并且您被授予用户角色,您将收到电子邮件通知。请注意,自从您创建了帐户后,您就有责任保证您的凭据的安全。其中包括您的电子邮件帐户、安全问题的答案以及密码本身。我(Rixhers Ajazi)只是想警告您,如果您不保证安全答案的安全,那么有人可以接管您的帐户。任何问题因此,使用 ScholarInterface 时,请发送电子邮件至 Rixhers Ajazi,邮箱为 CoderRix@gmail.com。如有任何与您帐户相关的问题,请通知您的管理员。Rixhers Ajazi 不是管理员,而是超级用户(该程序的编码者)。

--B_ALT_520eb8d943598 内容类型:text/html;charset=utf-8 内容传输编码:quoted-printable

您好,Rixhers Ajazi,这是一封自动电子邮件,通知您您的帐户已成功创建。您必须等待您的帐户得到验证,这意味着您无权使用 ScholarInterface。一旦您的帐户被激活并且您被授予用户角色,您将收到电子邮件通知。请注意,由于您已经创建了帐户,因此您有责任保证您的凭据的安全。其中包括您的 em= ail 帐户、您的安全问题答案以及您的密码 it= elf.I (Rixhers Ajazi) 只是想警告您,如果您不保证您的安全答案的安全,那么有人可能会接管您的帐户。如有任何问题 = ScholarInterface 的情况请发送电子邮件至 Rixhers Ajazi,地址为 Cod= erRix@gmail.com 任何与您的帐户相关的问题请通知您的 = 管理员。Rixhers Ajazi 不是管理员,而是超级用户(= 该程序的编码者)。

--B_ALT_520eb8d943598--

这到底是啥啊?

这是我在 email.php 中的配置:

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

 $config['protocol'] = 'smtp';
 $config['smtp_host'] = 'ssl://smtp.googlemail.com';
 $config['smtp_user'] = '********************@gmail.com';
 $config['smtp_pass'] = '**************************';
 $config['smtp_port'] = 465;
 $config['smtp_timeout'] = 30;
 $config['charset'] = 'utf-8';
 $config['crlf'] = "\r\n";
 $config['newline'] = "\r\n";
 $config['wordwrap'] = TRUE;
 $config['mailtype'] = 'html';
Run Code Online (Sandbox Code Playgroud)

我在另一个应用程序中使用相同的脚本,但我还没有得到这个。任何帮助都会很棒。

Jee*_*usu 5

电子邮件顶部的消息似乎从主题标头开始,所以我猜这将是开始调试的好地方。

曾经存在一个由主题行超过 75 个字符引起的问题

如果上述修复不起作用,那么开发人员已经修补了 Email.php 来解决问题:

https://github.com/EllisLab/CodeIgniter/issues/1409#issuecomment-9330713