PHPmailer、CI框架发送邮件

2024-06-19 17:48

本文主要是介绍PHPmailer、CI框架发送邮件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、CI框架

CI框架有一个专门的email类,用的时候加载进来即可

<?phpclass Mail{public function sendMail(){$this->load->library('email');  $config = array();$config['protocol']     = 'SMTP';  //邮件协议$config['smtp_host']    = 'ssl://smtp.gmail.com';$config['smtp_user']    = 'youremail@gmail.com';$config['smtp_pass']    = 'yourpassword';  //注意这个不是邮箱登陆密码,是SMTP授权码$config['smtp_port']    = '465';$config['charset']      = 'utf-8';$config['mailtype']     = 'html';$config['smtp_timeout'] = '5';$config['newline'] = "\r\n";$config['wordwrap'] = TRUE;     // 自动换行$this->email->initialize($config);$this->email->from ('from@email.com', 'From email name');$this->email->to ('to@email.com', 'To email name');$this->email->cc ('cc@email.com'); //抄送$this->email->bcc ('bcc@email.com'); //秘密抄送$this->email->subject ('Test subject');$this->email->message ('The content'); //内容$this->email->attach('application\controllers\1.jpeg');	 //附件,相对于index.php的路径$this->email->send ();}}?>

 

二、PHPmailer发送邮件

首先下载最新版的PHPmailer,下载地址:http://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list。

把class.phpmailer.php 和 class.smtp.php引入。当然可以对这俩文件重命名。

<?phpnamespace app\common\logic;class EmailLogic{function sendMail(){import('Org.Util.PHPMailer.phpmailer');import('Org.Util.PHPMailer.smtp');//实例化PHPMailer核心类$mail = new \PHPMailer();$mail->IsSMTP();//采用smtp服务器发送邮件//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式$mail->SMTPDebug = 1;//使用smtp鉴权方式发送邮件$mail->isSMTP();//smtp需要鉴权 这个必须是true$mail->SMTPAuth=false;//链接qq域名邮箱的服务器地址$mail->Host = 'smtp.qq.com';//设置使用ssl加密方式登录鉴权$mail->SMTPSecure = 'ssl';//设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587$mail->Port = 465;//设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名$mail->Hostname = 'localhost';//设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码$mail->CharSet = 'UTF-8';//设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名$mail->FromName = '报价系统通知';//smtp登录的账号 这里填入字符串格式的qq号即可$mail->Username ='';//smtp登录的密码 使用生成的授权码 你的最新的授权码$mail->Password = '';//设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”$mail->From = 'ideal@51job.com';$mail->From = 'notice@51job.com';//为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称$filePath = ROOT_PATH .'clientInfo.xlsx';if (is_file($filePath)) {$mail->AddAttachment($filePath,'clientInfo.xlsx');}//同样该方法可以多次调用 上传多个附件// $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false$mail->isHTML(true);//设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大$mail->addAddress($to,'报价通知');//抄送给ideal$mail->addCC('ideal@51job.com');//添加多个收件人 则多次调用方法即可// $mail->addAddress('xxx@qq.com','lsgo在线通知');//添加该邮件的主题$mail->Subject = $title;//添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件$mail->Body = $content;$status = $mail->send();//简单的判断与提示信息if($status) {return true;}else{return false;}}}
?>

 

如果是内部服务器已经做了免登录,可以把仅仅保留 $mail->IsSMTP();,其他SMTP相关的注释掉即可。

这篇关于PHPmailer、CI框架发送邮件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075721

相关文章

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Spring框架中@Lazy延迟加载原理和使用详解

《Spring框架中@Lazy延迟加载原理和使用详解》:本文主要介绍Spring框架中@Lazy延迟加载原理和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @Component

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1