PHP_thinkphp框架使用PHPMailer实现发送邮件的功能(转+修改+亲测)

第一步、添加PHPMailer类库

  将下载后的文件解压,将PHPMail目录移动至ThinkPHP目录中的Vendor内。(在核心文件里面,建个文件夹名称为phpmailer)

第二步、添加发送邮件函数

  在项目目录中的Common文件夹中的common.php文件(也是在核心文件里面的common,或者你喜欢放哪里就哪里,能调用就行)添加如下代码:

<?php

/**
* 邮件发送函数
*/
function SendMail($address,$title,$message) {

vendor(‘phpmailer.class#phpmailer‘);

$mail = new PHPMailer(true); //实例化PHPMailer类,true表示出现错误时抛出异常
$mail->IsSMTP(); // 使用SMTP
try {
$mail->CharSet ="UTF-8";//设定邮件编码
$mail->Host = "smtp.163.com"; // SMTP server
$mail->SMTPDebug = 1;// 启用SMTP调试 1 = errors 2 = messages
$mail->SMTPAuth = true;// 服务器需要验证
$mail->Port = 25;//默认端口
$mail->Username = "[email protected]"; //SMTP服务器的用户帐号
$mail->Password = "******";//SMTP服务器的用户密码(授权秘密不是登陆秘密,艹)
$mail->AddReplyTo(‘[email protected]‘, ‘回复‘); //收件人回复时回复到此邮箱
//$mail->AddAddress($address, ‘李明‘);

//收件人如果多人发送循环执行AddAddress()方法即可 还有一个方法时清除收件人邮箱ClearAddresses()
foreach ($address as $key => $value) {
$mail->AddAddress($value[‘mail_address‘], $value[‘username‘]);
}

$mail->SetFrom(‘[email protected]‘, ‘发件人‘);//发件人的邮箱
$mail->Subject = $title;
$mail->Body = $message;
$mail->IsHTML(true);
$mail->Send();
echo "Message Sent OK";
} catch (phpmailerException $e) {
echo $e->errorMessage();//从PHPMailer捕获异常
} catch (Exception $e) {
echo $e->getMessage();
}
}

?>

第三步、在Action中发送邮件

  由于ThinkPHP会自动加载common.php中的函数,所以在需要发送邮件的时候,只需要使用如下代码即可。

SendMail("[email protected]","邮件标题","邮件正文");

注意:现在的邮箱为了安全什么的都是默认关闭了stmp,需要在设置那里开启,比如163的授权。

时间: 2024-10-11 00:37:34

PHP_thinkphp框架使用PHPMailer实现发送邮件的功能(转+修改+亲测)的相关文章

20150322 利用phpmailer来发送邮件

20150322 利用phpmailer来发送邮件 2015-03-22 Lover雪儿 ? 前面我们实现了phpmailer来发送邮件,此处我们来实现利用pop3来收取邮件. http://www.cnblogs.com/lihaiyan/p/4356704.html ? 常用命令: telnet pop3.163.com 110 ctrl + ] 开启回显功能 user 用户名 pass 密码 stat 统计 返回邮件数量 及 所占 总空间 top 邮件号 行号 ,查看邮件头 邮件从旧到新递

项目一:第十四天 1.在realm中动态授权 2.Shiro整合ehcache 缓存realm中授权信息 3.动态展示菜单数据 4.Quartz定时任务调度框架—Spring整合javamail发送邮件 5.基于poi实现分区导出

1 Shiro整合ehCache缓存授权信息 当需要进行权限校验时候:四种方式url拦截.注解.页面标签.代码级别,当需要验证权限会调用realm中的授权方法   Shiro框架内部整合好缓存管理器,整合ehcache环境,只需要配置即可.     <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> <version>

背景建模技术(三):背景减法库(BGS Library)的基本框架与入口函数main()的功能

背景减法库(BGS Library = background subtraction library)包含了37种背景建模算法,也是目前国际上关于背景建模技术研究最全也最权威的资料.本文将更加详细的介绍背景减法库(BGS Library)的基本框架与入口函数main()的功能. BGS库的整体框架在背景建模技术(二)中已经全部给出,此处从函数的角度再次给出BGS库的基本框架,有利于代码的修改与维护. 如下图所示是基于C++的BGS库的函数流程图: 接下来将会对每个函数进行更加详细的分析. 首先,

linux发送邮件的功能总结

今天添加了发送邮件的功能,总结一下,供以后参考: 1.直接使用管道发送邮件 echo "hello,this is the content of mail.welcome to www.mzone.cc" | mail -s "Hello from mzone.cc by pipe" [email protected] 2.使用文本发送 mail -s "Hello from mzone.cc by file" [email protected]

Spring框架4大原则和主要功能

Spring框架4大原则: 使用POJO进行轻量级和最小侵入式开发 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称. 2.      通过控制反转IoC.依赖注入DI和基于接口编程实现降低耦合度 3.      通过AOP(面向切面)和 默认惯例 进行声明式编程 4.      使用AOP和模板编程减少模式化代码. Spring框架的主要功能          基于Java Beans的配置管

利用HBase的快照功能来修改表名

hbase的快照功能常常被用来做数据的恢复的,但是由于项目的特殊需求需要改hbase表的表名.在官网上通过快照功能来修改hbase表名的用法: 下面展示用shell命令的和Java api两种方式: In versions 0.90.x of hbase and earlier, we had a simple script that would rename the hdfs table directory and then do an edit of the hbase:meta table

系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面

改进_使用ModelDroven方案 @Controller @Scope("prototype") public class RoleAction extends ActionSupport implements ModelDriven<Role>{//把ModelDriven放到栈顶,帮我们封装参数 //在Action里面要用到Service,用注解@Resource,另外在RoleServiceImpl类上要添加注解@Service @Resource private

ThinkPHP 3.2 DEMO案例系列【phpmailer批量发送邮件】

但是邮件和短信相比在一些场景依然有着重要的意义和优势: 1:零成本:发邮件没有费用: 2:内容丰富且量大:邮件可以长篇大论:图文并茂: 3:增加访问量:用户很容易通过邮件中的链接访问网站: 好了:下面来来为thinkphp集成邮件系统: 示例项目:https://github.com/Tinywan/ThinkPhpStudy 一.引入phpmail 从示例项目中复制两个文件到自己的项目: /ThinkPHP/Library/Org/Nx/class.phpmailer.php ; /Think

Spring 框架的架包分析、功能作用、优点,及jar架包简介

Spring 框架的架包详解    Spring的作用     Spring的优势 由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或是软件架构师,在学习和了解一个框架的时候,首先都应该知道的是这个框架的原理和与其有关jar的作用.关系.这篇文章总结一下spring框架的相关知识. 一.spirng的简介(高手可以跳过) Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Sprin