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

相关文章

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行