浏览: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. JavaUtil_06_DES加解密工具

    一.示例 CommonUtil.java package com.ray.test.des; import java.io.ByteArrayOutputStream; import java.io. ...

  2. 自动删除文件脚本(Linux shell脚本)

    每天在/home/face/capturepic/2017/目录下都会产生很多文件 /home/face/capturepic/2017/4/21 /home/face/capturepic/2017 ...

  3. dJango前言之 socketserver源码

    socketserver源码分析: ftpserver=socketserver.ThreadingTCPServer(('127.0.0.1',8080),FtpServer) ftpserver. ...

  4. 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法

    前言 在搭建大数据Hadoop相关的环境时候,遇到很多了很多错误.我是个喜欢做笔记的人,这些错误基本都记载,并且将解决办法也写上了.因此写成博客,希望能够帮助那些搭建大数据环境的人解决问题. 说明: ...

  5. Head First设计模式之外观模式

    一.定义 外观模式提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用. 外观模式不只是简化了接口,也将客户从组件的子系统中解耦. 外观和适配器可以包装许多类, ...

  6. 快速了解Hibernate的使用

    了解hibernate的使用 hibernate是作用于传统的mvc开发dao层的框架 在以往的开发中我们如何的编写dao的代码呢 1.原始的jdbc操作,在dao中到操作Connection/Sta ...

  7. Python 浅析线程(threading模块)和进程(process)

    线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 进程与线程 什么 ...

  8. windows如何向阿里云服务器传递文件

    一,前提说明 最近搞了一个阿里云服务器玩玩,打算自己搞一个小网站什么的. 然后再阿里云上花9.9买了半年的服务器. 服务器版本是 ubuntu_16_04. 二.目标是往阿里云服务器上上传本地文件. ...

  9. spring使用之旅(一) ---- bean的装配

           基础配置 启用组件扫描配置                     Java类配置文件方式 package com.springapp.mvc.application;   import ...

  10. 不常见的for循环命名以及with(document)

    for循环想必大家是很常见的,但是for循环的命名可能很多人听了是一头雾水. 说起for循环的命名呢,主要用途是与for循环的终止break有关! 提到break,大家肯定都了解的.终止整个循环嘛! ...