定义数据

$config = array(
    \’protocol\’ =>\’smtp\’,
    \’smtp_host\’=>\’ssl://smtp.163.com\’,
    \’smtp_user\’=>\’zhouddxg@163.com\’,
    \’smtp_pass\’=>\’***********\’,
    \’smtp_port\’=>465,
    \’smtp_timeout\’=>30,
    \’mailtype\’=>\’html\’,
    \’charset\’=>\’utf-8\’,
    \’wordwrap\’=>TRUE,
    \’newline\’=>PHP_EOL,
    \’crlf\’=>”\r\n”
);

上述数据可以存放在config文件夹中以email.php命名进行存放

$this->load->library(\’email\’);
$this->email->set_newline(“\r\n”);
$this->email->from(\’zhouddxg@163.com\’, \’白骑士\’);
$this->email->to(\’1034174930@qq.com\’);
$this->email->subject(\’北京****有限公司\’); // 发送标题
$this->email->message($send_msg); // 内容
$this->email->send();
$status = $this->email->print_debugger();
 if($status){
       echo json_encode(array(\’status\’=>1,\’message\’=>\’验证码发送成功,请注意查收\’));;return false;
} else {
       echo json_encode(array(\’status\’=>0,\’message\’=>\’验证码发送失败,请重新发送\’));return false;
}

 

需注意的是 若只需发送文字$coonfig[\’wordwrap\’] = \’text\’      需要发送html模板的时候$coonfig[\’wordwrap\’] = \’html\’ ;

填写腾讯邮箱开启POP3/SMTP服务时的授权码,即核对密码正确 在邮箱设置 账号里面

即在email中编码和我们使用的编码不一样,会导致标题输入过长的时候会导致乱码

在email类中 在subject方法中将$subject = $this->_prep_q_encoding($subject); 改为$subject = \’=?\’. $this->charset .\’?B?\’. base64_encode($subject) .\’?=\’;    已验证

网上还有一种方法 

在CI的Email类1297行有一行代码: 

  1. $limit = 75 – 7 – strlen($this->charset); 

我把代码中的75改成: 

  1. $limit = 750 – 7 – strlen($this->charset); 

 未经验证  仅作参考

 

版权声明:本文为ddxg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ddxg/p/6508647.html