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. JsonFormatter PrettyPrint

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. linux mingling

    grep 文本搜索工具 -i 忽略大小写 -v 不显示匹配行 -c 显示符合条件的行数值 文本搜索支持正则表达式 1 2 3 cat /etc/passwd | grep root // 显示包含ro ...

  3. 刷了MIUI的手机在OSX下连接USB调试的方法

    OSX下默认连接不上小米手机或者刷了MIUI的手机. 办法是: 1, 关于本机->系统报告->USB,在其中找到手机设备,然后查看其厂商ID,复制. 2,控制台执行下面这个命令,把其中的0 ...

  4. 【Maven】搭建Maven环境

    第一步:下载,并安装配置Maven 下载安装包:可以到官网下载(可能很慢),建议从CSDN上下载. 解压安装包:解压到Eclipse和Java一起把,改配置什么的一眼就看到:反正我是把Java,Ecl ...

  5. openstack网络(neutron)模式之GRE的基本原理

    neutron网络目的是为OpenStack云更灵活的划分网络,在多租户的环境下提供给每个租户独立的网络环境. neutron混合实施了第二层的VLAN和第三层的路由服务,它可为支持的网络提供防火墙, ...

  6. assign more memory to Gradle

    Please assign more memory to Gradle in the project's gradle.properties file.For example, the followi ...

  7. 【原创】js实现一个可随意拖拽排序的菜单导航栏

    1.想做这个效果的原因主要是用在UC上看新闻发现他们的导航菜单很有趣.无聊的时候在哪划着玩了很久.所以就干脆自己写一个.原效果如下 2.整体效果如下,在已推荐和未添加里面每个小方块可以触摸移动位置互换 ...

  8. hibernate中HQL多对多的查询

    现有三张表 TLXPURCHASE.采购事项审批表,TLXPURCHASEACTIVITY.采购招标活动对应表,TLXACTIVITY.招标活动表,采购事项审批表和采购活动表是多对多关系.java中定 ...

  9. vagrant学习笔记

    什么是vagrant简而言之,vagrant就是一个用来管理虚拟机文件的工具为什么要使用vagra如果经常玩虚拟机的话,就会知道,当你需要新建一个虚拟环境的时候,总是要重复的安装操作系统,以及操作系统 ...

  10. 剪短的python数据结构和算法的书《Data Structures and Algorithms Using Python》

    按书上练习完,就可以知道日常的用处啦 #!/usr/bin/env python # -*- coding: utf-8 -*- # learn <<Problem Solving wit ...