3

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

就是这个 :

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-Sender:SUNYOrangeScholarInterface@gmail.com X-Mailer:CodeIgniter X-Priority:3(正常) Message-ID: <520eb8d943533@gmail.com> Mime 版本:1.0 内容类型:multipart/alternative;边界="B_ALT_520eb8d943598"

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

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

您好 Rixhers Ajazi,这是一封自动发送的电子邮件,通知您您的帐户已成功创建。您必须等待您的帐户得到验证,这意味着您无权使用 ScholarInterface。一旦您的帐户被激活并获得用户角色,您将收到电子邮件通知。请注意,由于您已创建帐户,因此您有责任确保您的凭据安全。其中包括您的电子邮件帐户、您对安全问题的回答以及您的密码本身。我(Rixhers Ajazi)只是想警告您,如果您不保证安全答案的安全,那么有人可能会接管您的帐户。任何问题是什么因此,使用 ScholarInterface 时,请通过 CoderRix@gmail.com 向 Rixhers Ajazi 发送电子邮件。任何与您的帐户有关的问题,请通知您的管理员。

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

您好 Rixhers Ajazi 这是一封自动发送的电子邮件,用于通知您您的帐户已成功创建。您必须等待您的帐户被验证,这意味着您无权使用 ScholarInterface。一旦您的帐户被激活并且您被赋予一个用户角色,您将通过电子邮件收到通知。请注意,由于您已经创建了您的帐户,因此您有责任确保您的凭据安全。其中包括您的 em= ail 帐户、您对安全问题的回答以及您的密码 its= elf。我(Rixhers Ajazi)只是想警告您,如果您不保证您的安全性答案的安全,那么有人可以接管您的帐户。任何问题 = ScholarInterface的最新情况请发送电子邮件至 Cod= erRix@gmail.com 向 Rixhers Ajazi 发送电子邮件与您的帐户有关的任何问题,请通知您的 = 管理员。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';

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

4

2 回答 2

4

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

曾经有超过 75 个字符的主题行引起的问题

如果上述修复不起作用,则开发人员已修补 Email.php 以解决问题:

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

于 2013-08-17T03:44:12.633 回答
0
Just add this in start of the function where you are writing send email code 
$config = Array(
          'protocol' => 'sendmail',
          'mailtype' => 'html', 
          'charset' => 'utf-8',
          'wordwrap' => TRUE

      );
     $this->email->initialize($config);
Email will forward but error same error will show
于 2016-03-11T11:08:28.757 回答