浏览: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. 在一个终端后台运行的进程在新的终端中使用job不会被发现

    我在一个终端后台运行了一个程序.之后由于工作需要又新开了一个新的终端.在新的终端中,我想查看后台程序的运行状态,输入jobs时,发现没有后台任务运行.难道我的程序死掉了?我接着top了下,发现我的后台 ...

  2. py2 to py3 return iterator

    Views And Iterators Instead Of Lists Some well-known APIs no longer return lists: dict methods dict. ...

  3. DBA之路

    对于一个励志要成为DBA的人,虽然还有不足,梦想还是要有的,万一实现了呢.做一个关于DBA成长之路的相关目录,作为灯塔. --------------------------------------- ...

  4. Perl 中 `cmd` 和system"cmd"的区别

    在perl中,调用系统命令有两种形势,`cmd` 和system"cmd",他们主要的区别是`cmd`会获取返回结果,而system"cmd"会直接将结果输出到 ...

  5. SQLSERVER 死锁标志

    最开始做DBA的时候,整天死锁到头痛1222,至今都能回想到这个错误窗口: 死锁定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待 ...

  6. C#设计模式之二十三解释器模式(Interpreter Pattern)【行为型】

    一.引言   今天我们开始讲"行为型"设计模式的第十一个模式,也是面向对象设计模式的最后一个模式,先要说明一下,其实这个模式不是最后一个模式(按Gof的排序来讲),为什么把它放在最 ...

  7. 带以太网的MicroPython开发板:TPYBoardv201温湿度上传实例

    转载请以链接形式注明文章来源,MicroPythonQQ交流群:157816561,公众号:MicroPython玩家汇 历来关于温湿度的检测都是没有间断过的,这次我们继续检测温湿度,同样还是使用DH ...

  8. commons -lang(2) RandomStringUtils RandomUtils

    上一篇是StringUtils 链接http://www.cnblogs.com/tele-share/p/8060129.html 1.RandomStringUtils 1.1模拟实现random ...

  9. socket模型处理多个客户端

    最近学完了简单的socket编程,发现其实socket的网络编程其实并没有什么难度,只是简单的函数调用,记住客户端与服务端的步骤,写起来基本没有什么问题. 在服务器程序的设计中,一个服务器不可能只相应 ...

  10. Redis in Docker on Linux Container

    记录:在Docker中运行一个Redis实例当我们在Windows系统中安装好Docker以后,在Hyper-V中会自动创建一个Linux虚拟机,如果这个虚拟机没有运行,说明当前运行的是Windows ...