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

相关文章

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、