CodeIgniter发送奇怪的电子邮件

时间:2013-08-16 23:50:27

标签: php codeigniter email 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;
        }
    }

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

  

?= =?utf-8?Q?2013?=回复:“SUNYOrangeScholarInterface@gmail.com”    X-发件人:   SUNYOrangeScholarInterface@gmail.com X-Mailer:CodeIgniter X-Priority:   3(普通)消息ID:< 520eb8d943533@gmail.com>哑剧版:1.0   内容类型:multipart / alternative;边界= “B_ALT_520eb8d943598”

     

这是MIME格式的多部分邮件。您的电邮申请表   可能不支持这种格式。

     

- B_ALT_520eb8d943598内容类型:text / plain; charset = utf-8 Content-Transfer-Encoding:8bit

     

Hello Rixhers Ajazi这是一封自动发送的电子邮件,通知您   帐户已成功创建。您必须等待帐户   待验证意味着您无权使用   ScholarInterface。一旦您的帐户被激活,您将获得一个   用户角色将通过电子邮件通知您。请注意,自此   你创建了自己的帐户,你有责任保留你的帐户   凭证安全。这些包括您的电子邮件帐户,您的答案   你的安全问题和密码本身。我(Rixhers Ajazi)   只是想警告你,如果你不保持安全答案   安全,然后有人可以接管你的帐户。任何问题是什么   有了ScholarInterface,请发送电子邮件给Rixhers Ajazi   CoderRix@gmail.com请提出有关您帐户的任何问题   通知您的管理员。 Rixhers Ajazi不是管理员而是a   超级用户(该程序的编码员)。

     

- B_ALT_520eb8d943598内容类型:text / html; charset = utf-8 Content-Transfer-Encoding:quoted-printable

     

Hello Rixhers Ajazi这是一封自动发送的电子邮件,通知您   acco = unt已成功创建。您必须等待您的帐户   是veri = fied意味着你无权使用    ScholarInterface 的。 On = ce您的帐户已激活,您就是   如果有用户角色,您将无法通过电子邮件发送。请注意   因为您创建了自己的帐户,所以您需要负责   保证您的凭据安全。这些包括您的em = ail帐户,   您对安全问题的答案以及您的密码= elf.I   (Rixhers Ajazi)只是想警告你,如果你不保留你的se =   curity回答安全,然后有人可以接管你的帐户。任何   问题= ScholarInterface 的内容请发邮件   Rixhers Ajazi at 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';

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

2 个答案:

答案 0 :(得分:4)

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

曾经有issue caused by Subject lines with more than 75 chars

如果上述修复无效,那么开发人员已修补Email.php来解决问题:

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

答案 1 :(得分:0)

<ul><li>One<br><ul><li>Two<br></li></ul></li></ul>