浏览:7510 最后更新:2017-03-18
14:21 分类:类库
关键字: PHPMailer

第一步:准备PHPMailer

将下载的PHPMailer放到ThinkPHP/library/Vendor下面

第二:

windows下在php.ini中去掉下面的分号

extension=php_openssl.dll

并将allow_url_fopen = Off改为

allow_url_fopen = On

第三:

把以下内容放入common配置文件下:

'THINK_EMAIL' => array(



'SMTP_HOST' => 'smtp.163.com', //SMTP服务器



'SMTP_PORT' => '465', //SMTP服务器端口



'SMTP_USER' => 'huangfenhu10@163.com', //SMTP服务器用户名



'SMTP_PASS' => '******', //SMTP服务器密码



'FROM_EMAIL' => 'huangfenhu10@163.com', //发件人EMAIL



'FROM_NAME' => '****', //发件人名称



'REPLY_EMAIL' => 'huangfenhu10@163.com',
//回复EMAIL(留空则为发件人EMAIL)



'REPLY_NAME' => '*****', //回复名称(留空则为发件人名称)



),

第四:

把以下内容放入common下面的common下的function.php下:

function think_send_mail($to, $name, $subject = '', $body = '',
$attachment = null){



$config = C('THINK_EMAIL');



Vendor('PHPMailer.PHPMailerAutoload');
//从PHPMailer目录导class.phpmailer.php类文件



$mail = new PHPMailer(); //PHPMailer对象



$mail->CharSet = 'UTF-8';
//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码



$mail->IsSMTP(); // 设定使用SMTP服务



$mail->SMTPDebug = 0; // 关闭SMTP调试功能



// 1 = errors and messages



// 2 = messages only



$mail->SMTPAuth = true; // 启用 SMTP 验证功能



$mail->SMTPSecure = 'ssl'; // 使用安全协议



$mail->Host = $config['SMTP_HOST']; // SMTP 服务器



$mail->Port = $config['SMTP_PORT']; // SMTP服务器的端口号



$mail->Username = $config['SMTP_USER']; // SMTP服务器用户名



$mail->Password = $config['SMTP_PASS']; // SMTP服务器密码



$mail->SetFrom($config['FROM_EMAIL'],
$config['FROM_NAME']);



$replyEmail =
$config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];

$replyName =
$config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];

$mail->AddReplyTo($replyEmail, $replyName);



$mail->Subject = $subject;



$mail->AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端";



$mail->MsgHTML($body);



$mail->AddAddress($to, $name);



if(is_array($attachment)){ // 添加附件



foreach ($attachment as $file){



is_file($file) && $mail->AddAttachment($file);



}



}



return $mail->Send() ? true : $mail->ErrorInfo;



}

第五步调取函数:

public function add(){

if (think_send_mail($_POST['mail'], $_POST['title'], $subject =
'一起来欢乐!',$_POST['content'], $attachment = null)) {

$this->success('发送成功!');

} else {

$this->error('发送失败');

}

}

第六步在模板里传值:



邮箱:

标题:

内容:

yle="margin:
0 auto;display: block;"/>

thinkphp3.2.2邮箱发送的更多相关文章

  1. Linux配置邮箱发送(MUTT/MSMTPQ)

    配置邮箱发送 http://www.ilanni.com/?p=10589

  2. java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例

    研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...

  3. 通过邮箱发送html报表

    前言 需求是发送邮件时, 可以将报表正文贴到邮件里, 可以正常复制选中报表内容. 目前的做法是简单粗暴的转成了一张图片, 这样效果显然是很糟糕的. 今天看到邮箱里可以预览Word, Excel, F1 ...

  4. spring 实现邮箱发送

    使用spring mail 实现的邮箱发送功能,包括附件的发送(附件发送要保证附件存在的路径是真实),使用maven集成jar包,通过spring mvc 实现前后台的调用,发送方使用的是163邮箱, ...

  5. java邮箱发送

    一.为何要使用邮箱发送 相信大家在日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作:邮件发送的原理是什么?邮件是如何发送的呢?本系列教程将会讲解邮件如何申请可用jav ...

  6. JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)

    JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...

  7. qq邮箱发送,mail from address must be same as authorization user

    由于邮箱发送的邮箱账号更换,所以重新测试.结果一直出错,要不就是请求超时,要不就是未授权. 用smtp 开始的时候,端口使用495,结果是请求超时. 后来改成25,结果是未授权. 再后来听人说,有一个 ...

  8. Java邮箱发送——企业版

    企业版邮箱发送工具类 import java.security.Security; import java.util.Properties; import javax.mail.Authenticat ...

  9. SpringBoot中快速实现邮箱发送

    前言 在许多企业级项目中,需要用到邮件发送的功能,如: 注册用户时需要邮箱发送验证 用户生日时发送邮件通知祝贺 发送邮件给用户等 创建工程导入依赖 <!-- 邮箱发送依赖 --> < ...

随机推荐

  1. ASP.NET Core文件上传与下载(多种上传方式)

    前言 前段时间项目上线,实在太忙,最近终于开始可以研究研究ASP.NET Core了. 打算写个系列,但是还没想好目录,今天先来一篇,后面在整理吧. ASP.NET Core 2.0 发展到现在,已经 ...

  2. js、jQuery、layer实现弹出层的打开、关闭

    打开layer layer.open({ type: 2, title: '新增收货地址', shadeClose: true,//点击阴影关闭 shade: 0.8, area: ['900px', ...

  3. Kettle中忽略错误行继续执行

    在kettle执行的过程中,如果遇到错误,kettle会停止运行.在某些时候,并不希望kettle停止运行,所以就要处理下这些错误行. 例如这两天发现在一个转换中,总数出现一些不规则数据,这些数据一出 ...

  4. Maven打包排除某个资源或者目录

    最近在spark streaming本地调试的时候,引入了一些资源文件,打包的时候需要给排除掉.所以就考虑使用maven的方式 详细参考官方文档:https://maven.apache.org/pl ...

  5. 面向对象 初级版 (Preview) 未完

    概述: 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数里,日后使用无需重复编写,直接调用韩顺即可. 面向对象: 对函数进行分类和封装,让开发'更快更强' 面向对象和面向过程的通 ...

  6. Python之旅本地环境搭建

    刚开始学习Python, 之后将会把Python相关的一些学习在此记录下来 . 毋庸置疑 ,我们需要先搭建本地开发环境, 为之后的Python开发做准备 ,这篇文章 ,将环境的搭建记录下来 第一步: ...

  7. Jenkins:VMware虚拟机Linux系统的详细安装和使用教程

    jenkins:VMware虚拟机Linux系统的详细安装和使用教程 (一) 不是windows安装虚拟机可跳过 1.Windows安装VMware 2.VMware安装linux系统 3.windo ...

  8. 前端工程之CDN部署

    之前发的一篇文章<变态的静态资源缓存与更新>中提到了静态资源和页面部署之间的时间间隙问题,这个问题会迫使前端静态资源发布必须采用非覆盖式. 那篇文章中没有详细解释为什么会产生不可忍受的时间 ...

  9. Go Language 开发环境搭建

    [前言] Go语言是Google公司2009年发布的新一代的开发语言,其最大的亮点是原生自带并发,在合适的场合使用合适的代码,我们的系统将会更加完美.下面我们进行go语言的安装和配置. 一.下载安装 ...

  10. 前端MVC Vue2学习总结(七)——ES6与Module模块化、Vue-cli脚手架搭建、开发、发布项目与综合示例

    使用vue-cli可以规范项目,提高开发效率,但是使用vue-cli时需要一些ECMAScript6的知识,特别是ES6中的模块管理内容,本章先介绍ES6中的基础与模块化的内容再使用vue-cli开发 ...