ThinkPHP 3.2.3 使用 Swift Mailer 邮件系统发送邮件
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
收取邮件:

打开邮件:

ThinkPHP 3.2.3 使用 Swift Mailer 邮件系统发送邮件的更多相关文章
- ABP入门系列——使用ABP集成的邮件系统发送邮件
ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此. #一.Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: E ...
- Python django实现简单的邮件系统发送邮件功能
Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...
- ABP入门系列(17)——使用ABP集成的邮件系统发送邮件
ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此. #一.Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: E ...
- yii mailer 扩展发送邮件
// 将mailer扩张放到 yii 的extension目录下 $message = 'Hello World!'; $mailer = Yii::createComponent('applicat ...
- [转]非常实用的15款开源PHP类库
源文件:http://www.csdn.net/article/2013-10-09/2817123-PHP-Libraries 英文原文:https://codegeekz.com/useful-p ...
- PHP邮件注入攻击技术
1. 简介 如 今,互联网的使用急剧上升,但绝大多数互联网用户没有安全知识背景.大多数的人都会使用互联网通过邮件Email的方式和他人进行通信.出于这个原因,大 多数网站允许他们的用户联系他们,向网站 ...
- 20个很有用的PHP类库
介绍20个非常有用的PHP类库,相信一定可以为你的WEB开发提供更好和更为快速的方法. 图表库 下面的类库可以让你很简的创建复杂的图表和图片.当然,它们需要GD库的支持. pChart – 一个可以创 ...
- 15款开源PHP类库
PHP库给开发者提供了一个标准接口,它帮助开发者在PHP里充分利用面向对象编程.这些库为特定类型的内置功能提供了一个标准的API,允许类可以与PHP引擎进行无缝的交互.此外,开发者使用这些类库还可以简 ...
- 24个有用的PHP类库分享
目前,PHP是用于Web开发的最流行的脚本语言.你可以在互联网上随手找到关于PHP大量资料,包括文档.教程.工具等等.PHP不仅是一种功能丰富的语言,它还能帮助开发人员轻松地创建更好的网络环境.为了进 ...
随机推荐
- Eclipse 代码显示不全的问题
Eclipse中的"Show Source of Selected Element Only"功能引起的, 定位到: Window->Customize Perspectiv ...
- JavaScript——基本的瀑布流布局及ajax动态新增数据
本文用纯js代码手写一个瀑布流网页效果,初步实现一个基本的瀑布流布局,以及滚动到底部后模拟ajax数据加载新图片功能. 缺点: 1. 程序不是响应式,不能实时调整页面宽度: 2. 程序中当新增ajax ...
- myecplise 中文乱码
一.设置新建常见文件的默认编码格式,也就是文件保存的格式. 在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致 ...
- Loadrunner监控Linux系统资源
一.安装rsh和rpcbind 1.查看是否安装:rpm -qa |grep rsh 2.安装rsh:yum -y install rsh* 3.yum -y install nfs-utils r ...
- 【Linux】Linux中常用操作命令
博客已转移,请借一步说话,http://www.weixuehao.com/archives/25 Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linu ...
- Socket通信原理探讨(C++为例)
一.网络中进程之间如何通信? 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 1.消息传递(管道.FIFO.消息队列) 2.同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 3 ...
- Power BI for Office 365(五)Power View第二部分
继续上一篇Power View 报表的创建, Anna觉得为每一个大类创建一张单独的报表似乎很不现实,所以她决定按照另外一种方式来设计报表,从而满足最终用户想要查看不同大类下的数据的要求. 于是Ann ...
- HTML5和CSS3新特性一览
HTML5 1.HTML5 新元素 HTML5提供了新的元素来创建更好的页面结构: 标签 描述 <article> 定义页面独立的内容区域. <aside> 定义页面的侧边栏内 ...
- Centos中文乱码的解决方法
1)说明: Windows的默认编码为GBK,Linux的默认编码为UTF-8.在Windows下编辑的中文,在Linux下显示为乱码.为了解决此问题,修改Linux的默认编码为GBK. 2)查看支持 ...
- linq学习笔记
最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询: ...