浏览: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. Android:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

    今天开发Android项目时,导入了http有关架包后,程序编译报错如下: Error:Execution failed for task ':app:transformResourcesWithMe ...

  2. C++中double类型的数字如何保留三位小数点详解

    我们知道C语言中,如果要求输出结果保留三位小数,我们可以使用pritf()函数轻松的解决.但是C++的输出运算符<<并没有直接实现这个功能,怎么办呢?之前在找答案的过程中各路大神给出了千姿 ...

  3. what is cdecl?

    cdecl这是一个Linux上功能很强大的一个小型程序,它最主要的功能就是能帮助我们解释一个很复杂的C语言声明. 例如,我写了这样一个C语言的一个声明:int   *(*g[])(int , floa ...

  4. bug运输[辽宁2014年省队互测一]

    奇奇怪怪的题目,不知道他要我们干什么. 我们观察一波局势,发现答案最大不过5.因为如果答案是6或以上的话,我们就至少要2^(5*5)个5*5的方格. 仔细计算一波时间复杂度,再信仰一波,坚信暴力压正解 ...

  5. 深入.NET数据类型(2)

    一.装箱和拆箱 将值类型转换为引用类型的过程称为装箱,反之称为拆箱 实际开发尽量避免 装/拆 箱 原因: 装/拆 箱都会降低程序性能 示例代码: static void Main(string[] a ...

  6. OA常见问题和解决方案

    本文档:主要用来记录OA常见的问题和解决方案. (一)更新问题(登陆不了,或者登陆出错) 由于很多用户使用的是XP系统,导致每次进行OA进行升级的时候,他们都不支持自动升级.如果不支持自动升级的话,那 ...

  7. HashMap与ConcurrentHashMap

    从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心. 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从 ...

  8. 常用base.css

    ul { list-style: none;}a { text-decoration: none;} body,h1,h2,h3,h4,h5,h6,p,ul,ol,form { margin: 0; ...

  9. 利用树莓派实现监控系统二(用motion实现监控)

    终于要开始实现监控啦!ಠ౪ಠ 看起来很简单的步骤,但是过程却无比艰辛,踩坑是最好的成长 (/= _ =)/~┴┴ 第一步,不是安装!而是 update!ㄟ( ▔, ▔ )ㄏ sudo apt-get ...

  10. EF Core 使用编译查询提高性能

    今天,我将向您展示这些EF Core中一个很酷的功能,通过使用显式编译的查询,提高查询性能. 不过在介绍具体内容之前,需要说明一点,EF Core已经对表达式的编译使用了缓存:当您的代码需要重用以前执 ...