CI(CodeIgniter)框架下使用非自带类库实现邮件发送
在项目开发过程中,需要到了邮件提醒功能。首先想到的是CI自身带不带邮件发送类,查看帖子,发现CI本身自带,然后试着利用CI自身带的类库来实现,经过搜搜很多帖子,不少开发者反馈CI自身的Email类有问题,也有同僚给出解决方案,但是在我实际过程中并没有后解决。想到之前自己在使用TP3.2开发项目也做过邮件发送功能,就搬了之前的引用类库,应用的了CI里。下面详细介绍步骤。、
一、下载类库并放入CI扩展目录中
链接:https://pan.baidu.com/s/1yDSU-JIzwHc00Lwxf9_f9w 密码:olge //百度云下载地址
下载完成之后,把两个文件放入/system/libraries目录下。我这里把class.phpmailer.php文件命名成为Pemail.php
然后编辑Pemail.php文件。
<?php
//这里我是参考CI扩展目录下的其它文件,也定义了常量,直接复制搬过来
defined('BASEPATH') OR exit('No direct script access allowed');
if (version_compare(PHP_VERSION, '5.0.0', '<') ) exit("Sorry, this version of PHPMailer will only run on PHP version 5 or greater!\n"); class CI_Pemail { //把类名重命名,并前面加CI_
二、简单使用方法(代码)
public function SendMail() {
$this->load->library('pemail'); //加载CI的email类
$this->pemail->IsSMTP(); // 设置使用SMTP服务器发送Email
$this->pemail->SMTPSecure = 'ssl'; // 使用安全协议
$this->pemail->CharSet ='UTF-8'; // 设置邮件的字符编码,若不指定,则为'UTF-8'。这里或者设置GBK
$this->pemail->SMTPDebug = ; // 关闭SMTP调试功能 1 = errors and messages 2 = messages only
$this->pemail->Host='smtp.qq.com'; // 设置SMTP服务器。
$this->pemail->Port = ; // SMTP服务器的端口号
$this->pemail->SMTPAuth=true; // 设置为"需要验证"
$this->pemail->Username='645631686@qq.com'; //设置用户名
$this->pemail->Password='vaxvhieq*******'; //设置授权码
$this->pemail->AddAddress( '2*******@qq.com'); // 添加收件人地址,可以多次使用来添加多个收件人
$this->pemail->AddAddress( '5******@qq.com'); // 添加收件人地址,可以多次使用来添加多个收件人
$this->pemail->FromName ='phper'; // 设置发件人名字
$this->pemail->From ='645631686@qq.com'; // 设置邮件头的From字段。
$this->pemail->Subject ='PHP是世界上最美的语言'; // 设置邮件标题
$this->pemail->Body ='这话没毛病~'; // 设置邮件正文
return $this->pemail->Send(); // 发送邮件。
}
补充:关于设置QQ邮箱开启和调试过程中的一些BUG,可以从百度搜到解决方案。或者问我就帮你解决

CI(CodeIgniter)框架下使用非自带类库实现邮件发送的更多相关文章
- C#自带类库实现邮件发送
1.首先引入命名空间using System.Net.Mail; 2.将发送的邮件的功能封装成一个类,该类中包含了发送邮件的基本功能:收件人(多人),抄送(多人),发送人,主题,邮件正文,附件等,封装 ...
- CI(codeigniter)框架,routes.php设置正确,但是显示服务器错误,是__construct少写了一个下划线
今天弄了一下CI框架,大概看了一下文档,感觉CI框架非常精简,但是在做的时候遇到了问题,CI文档中提供了一个新闻系统的例子,所有工作都做完了,在浏览器中打开相对应的url是,却显示“服务器错误”,一点 ...
- CI(CodeIgniter)框架入门教程——第二课 初始MVC
本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...
- 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】
一.邮件发送 1.邮件发送使用SMTP协议或者IMAP协议,这里使用SMTP协议演示. SMTP协议使用的端口号:25 rfc821详细记载了该协议的相关信息 (1)使用telnet发送邮件(使用12 ...
- java带图片的邮件发送方法实现
package sendEmail; import java.util.Properties; import javax.activation.DataHandler; import javax.ac ...
- Centos6环境下CI(CodeIgniter)框架创建定时任务
在我们项目开发过程中,经常遇到定时类需求,如果是仅仅一个PHP文件,那么很轻松的知道该怎么配置,但是在框架中,mvc设计思想访问对应控制器下的对应方法,那么就无从下手了.我这里参考网上的例子在自己的服 ...
- CI(CodeIgniter)框架中的增删改查操作
我们创建一个模型( 项目目录/models/),请注意:模型名与文件名相同且必须继承数据核心类CI_Model,同时重载父类中的构造方法 CodeIgniter的数据函数类在 \models\User ...
- VUE框架下安装自带http协议
在控制台CMD 中输入 npm install vue-resource --save-dev
- NodeJS下的阿里云企业邮箱邮件发送问题
还没有到11点,再顺带发一个上次碰到NodeJS的邮箱插件nodeMailer不支持阿里云邮件问题. 网上很多资料都默认使用QQ之类的邮箱,因为nodeMailer默认添加了QQ之类的SMTP地址,但 ...
随机推荐
- (转)Geth控制台使用及Web3.js使用实战
在开发以太坊去中心化应用,免不了和以太坊进行交互,那就离不开Web3.Geth 控制台(REPL)实现了所有的web3 API及Admin API,使用好 Geth 就是必修课.结合Geth命令用法阅 ...
- JS 8-5 OOP 实现继承的方式
function Person(){} function Student(){} Student.prototype = Person.prototype;//此继承方式是错误的,当我们改变Stude ...
- Windows PyCharm永久激活
1.下载 链接: https://pan.baidu.com/s/1LvQozk5lXdyk2p8qgGsr3A 提取码: x1t5 放置到 pycharm安装目录的\bin目录下(位置可随意,只要配 ...
- sqli-labs(十三)(hpp)
第二十九关 这关说的是有waf,其实只是模拟waf的场景,就是说waf处理的变量和后台程序接受的变量不一致. 考验的参数污染,具体可以参考其他文章关于HPP的解释. 先看源码吧: 输入?id=1&am ...
- msyql 移动某一列数据到某列 & 字段加前缀
#移动数据 UPDATE dcs_organize_user AS a, dcs_organize_user AS b SET a.SHORTTELNO=b.USERTELNO WHERE a.id= ...
- Python二分法查找
1.1二分前提是有序,,否则不可以2分,2分查找的时间复杂度是O(log n):排序后二分查找到适当的位置插入数值 lst = [37,99,73,48,47,40,40,25,99,51] def ...
- CentOS上svn checkout时报错SSL handshake failed: SSL error: Key usage violation in certificate has been det
局域网安装了个SVN在checkout的时候报错 SSL handshake failed: SSL error: Key usage violation in certificate has bee ...
- Vue系列之 => 列表动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java基础(basis)-----抽象类和接口详解
1.抽象类 1.1 abstract修饰类:抽象类 不可被实例化 抽象类有构造器 (凡是类都有构造器) 抽象方法所在的类,一定是抽象类 抽象类中可以没有抽象方法 1.2 abstract修饰方法:抽象 ...
- 正确把mysql数据库从windows迁移到linux系统上的方法
(一)用mysqldump命令导出数据库文件: 在windows下cd到Mysql的bin目录: c:/data.txt这个目录和导出的文本名可以自己随便取,-B 后面的是表名,我要导出的表明叫use ...