SwiftMailer 下载地址:https://github.com/swiftmailer/swiftmailer

版本:swiftmailer-5.x

把压缩包解压到 /ThinkPHP/Library/Vendor 中。

配置文件 config.php

<?php
return array(
//'配置项'=>'配置值'
// 邮件配置
'SMTP' => 'smtp.XXX.cn',
'MAIL_PORT' => 25,
'MAIL_USER' => 'XXX@XXX.com', //邮箱用户名
'MAIL_PWD' => 'XXX', //发送邮箱密码或者授权码
'MAIL_FROM' => 'XXX@XXX.com',
'MAIL_FROM_NAME' => 'dee',
);

/Application/Home/Common/Swiftmail.class.php

<?php
namespace Home\Common; class Swiftmail {
// @param $host 邮件服务器地址
// @param $port 端口号
// @param $encryption_type 加密方式(例如:使用腾讯qq邮箱时此处填ssl,不加密不填写此项)
// @param $user 用户名
// @param $pwd 密码或授权码
// @param $subject 邮件主题
// @param $body 邮件内容
// @param $from 邮件来自邮箱号
// @param $from_name 邮件来自名称
// @param $to 收件人邮箱
public static function sendMail($to, $subject, $body, $encryption_type = null) { $host = C('SMTP');
$port = C('MAIL_PORT');
$user = C('MAIL_USER');
$pwd = C('MAIL_PWD');
$from = C('MAIL_FROM');
$from_name = C('MAIL_FROM_NAME'); Vendor('swiftmailer.lib.swift_required'); $transport=\Swift_SmtpTransport::newInstance($host, $port, $encryption_type)
->setUsername($user)
->setPassword($pwd); $mailer =\Swift_Mailer::newInstance($transport);
$message=\Swift_Message::newInstance()
->setSubject($subject)
->setFrom(array($from=>$from_name))
->setTo($to)
->setContentType("text/html")
->setBody($body);
$mailer->protocol='smtp';
$mailer->send($message);
}
}

  

控制器和方法(按需求确定位置)/Application/Home/Controller/IndexController.class.php

<?php
namespace Home\Controller;
use Think\Controller;
use Home\Common\Swiftmail; class IndexController extends Controller { public function mail_send() {
$to = '472323087@qq.com';
$subject = 'SwiftMail测试标题';
$body = '<h1>SwiftMail演示</h1>这是dee对SwiftMail的测试内容'; try {
Swiftmail::sendMail($to, $subject, $body);
echo 'success';
} catch(Swift_RfcComplianceException $e) {
echo $e->getMessage();
}
}
}

  

运行后显示 success

收取邮件:

打开邮件:

参考:发送邮件Swift Mailer代替PHPmail

ThinkPHP 3.2.3 使用 Swift Mailer 邮件系统发送邮件的更多相关文章

  1. ABP入门系列——使用ABP集成的邮件系统发送邮件

    ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此. #一.Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: E ...

  2. Python django实现简单的邮件系统发送邮件功能

    Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...

  3. ABP入门系列(17)——使用ABP集成的邮件系统发送邮件

    ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此. #一.Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: E ...

  4. yii mailer 扩展发送邮件

    // 将mailer扩张放到 yii 的extension目录下 $message = 'Hello World!'; $mailer = Yii::createComponent('applicat ...

  5. [转]非常实用的15款开源PHP类库

    源文件:http://www.csdn.net/article/2013-10-09/2817123-PHP-Libraries 英文原文:https://codegeekz.com/useful-p ...

  6. PHP邮件注入攻击技术

    1. 简介 如 今,互联网的使用急剧上升,但绝大多数互联网用户没有安全知识背景.大多数的人都会使用互联网通过邮件Email的方式和他人进行通信.出于这个原因,大 多数网站允许他们的用户联系他们,向网站 ...

  7. 20个很有用的PHP类库

    介绍20个非常有用的PHP类库,相信一定可以为你的WEB开发提供更好和更为快速的方法. 图表库 下面的类库可以让你很简的创建复杂的图表和图片.当然,它们需要GD库的支持. pChart – 一个可以创 ...

  8. 15款开源PHP类库

    PHP库给开发者提供了一个标准接口,它帮助开发者在PHP里充分利用面向对象编程.这些库为特定类型的内置功能提供了一个标准的API,允许类可以与PHP引擎进行无缝的交互.此外,开发者使用这些类库还可以简 ...

  9. 24个有用的PHP类库分享

    目前,PHP是用于Web开发的最流行的脚本语言.你可以在互联网上随手找到关于PHP大量资料,包括文档.教程.工具等等.PHP不仅是一种功能丰富的语言,它还能帮助开发人员轻松地创建更好的网络环境.为了进 ...

随机推荐

  1. python之路五

    内建模块 time和datetime 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现 ...

  2. VBA之文件筛选

    在工作中,经常会碰到从一堆腐朽的source中按照一个列表去筛选出来现在还要用的source文件. 这个如果用vba来实现的话,会节省大量的时间,而且不会出错. 前提说明: 将想要复制的文件名列表放在 ...

  3. Monkeyrunner 常用按键

    MonkeyRunner常用的按键介绍 Home键:KEYCOD_HOME   Back键:KEYCODE_BACK  send键:KEYCODE_CALL  end键:KEYCODE_ENDCALL ...

  4. MVC4.0

    --后台ajax传值 <script type="text/javascript">     $(document).ready(function dianZan(id ...

  5. DB2 SQL 日期函数

    DB2 SQL 日期函数1:CURRENT TIMESTAMP 函数:获取当前日期时间语法:CURRENT TIMESTAMP参数:当前日期时间返回值:当前日期时间 2:CURRENT DATE 函数 ...

  6. MyEclipse无法删除项目下的文件

    想删除老版本的jar包或文件,却怎么也删不了, 总是提示Problems encountered while deleting resources. Could not delete 后来关闭myec ...

  7. AngularJS--自定义指令和模板

    一.自定义指令: 1. 先创建模块    var app=angular.module("myApp",[]); 2. 创建自定义指令 (directive后面的参数一:自定义指令 ...

  8. Redis C#缓存的使用

    一.下载第三方类库:StackExchange.Redis Nuget收索StackExchange.Redis,点击安装即可,新增的第三方命名空间:using StackExchange.Redis ...

  9. MyBatis学习(三)

    输入和输出映射 resultType 指定输出结果的类型(pojo.简单类型.hashmap等),将sql查询结果映射为java对象 . 注意:sql查询的列名要和resultType指定pojo的属 ...

  10. Unix系统引导过程(简单步骤)

    1.从MBR中读取引导加载程序(boot loader) 2.初始化内核 3.硬件检测 4.创建内核进程 5.系统管理员干预(仅仅在进入单用户模式或者恢复模式的时候) 6.执行系统启动脚本