码迷,mamicode.com
首页 > 其他好文 > 详细

ci 框架发送邮箱

时间:2017-03-06 11:39:24      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:span   代码   乱码   服务   ret   内容   var   debugger   user   

定义数据

$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); 

 未经验证  仅作参考

 

ci 框架发送邮箱

标签:span   代码   乱码   服务   ret   内容   var   debugger   user   

原文地址:http://www.cnblogs.com/ddxg/p/6508647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!