参照于 http://www.manks.top/yii2_swiftMailer.html
直接上代码
一、配置文件web.php
```
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => 'xx/mail', //根据实际情况配置
'useFileTransport' => false,
'transport' => [
//这里如果你是qq的邮箱,可以参考qq客户端设置后再进行配置 http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.163.com',
'username' => 'XXX@163.com', //改成自己的用户名密码
'password' => 'XXX',
'port' => '994', //或者25端口
'encryption' => 'ssl', //或者tls
],
'messageConfig'=>[
'charset'=>'UTF-8',
'from'=>['XXX@163.com'=>'发送人的名字']
],
],
```
二、基础用法
```
public function actionSend(){
$mail= Yii::$app->mailer->compose();
$mail->setTo('XXX@qq.com'); //要发送给那个人的邮箱
$mail->setSubject("邮件主题"); //邮件主题
$mail->setTextBody('测试text'); //发布纯文字文本
$mail->setHtmlBody("测试html"); //发送的消息内容
var_dump($mail->send());
}
```
三、发送多个邮件
```
public function actionSendmult(){
$users = ['XXX@163.com','XXX@qq.com'];
foreach($users as $user) {
$messages[] = Yii::$app->mailer->compose()
->setTo($user)
->setSubject('测试主题')
->setHtmlBody('<h1>测试多邮件</h1>');
}
$res = Yii::$app->mailer->sendMultiple($messages);
if ($res){
echo 'success';
}
}
```
四、发送邮件用模板
```
controller代码:
public function actionSendtem(){
$res = Yii::$app->mailer->compose('welcome', [
'html' => 'html', //key固定,value是模版文件名,布局文件在mail\layouts目录下面
'title' => '邮件' ,//传递的参数
])
->setTo('XXX@qq.com')
->setSubject('Message subject')
->send();
var_dump($res); //true
}
welcome.php文件:
<h2><?= $title ?></h2>
```
五、发送文件和图片
```
public function actionFile(){
$message = Yii::$app->mailer->compose();
$message->attach('img/2.png'); //可访问的图片地址或者文件
$message->attachContent('文件内容', ['fileName' => '1.txt', 'contentType' => 'text/plain']);
$message->setTo('XXX@qq.com');
$message->setSubject('Message subject');
$res = $message->send();
if ($res){
echo 'success';
}
}
```
六、内容镶嵌图片
```
//controller
Yii::$app->mailer->compose('welcome', [ 'title' => '嵌入图片', 'imageFileName' => '图片可访问地址' ])
->setTo('***@163.com')
->setSubject('Message subject')
->send();
//welcome.php
<img src="<?= $message->embed($imageFileName); ?>"> //或者这里直接写图片的可访问地址,不用embed方法。
```
- 首页
- 发送邮件
- yii2中Yii::$service访问
- yii2证件block逻辑层
- 版本控制
- yii2缓存
- yii2事件
- 简单实践restful登录认证
- yii2常用小技巧
- Yii2输出sql语句
- yii2自动更新时间戳
- view里面PHP语法
- 获取模块名、控制器名、方法名
- 登录重定向实现
- 关闭csrf
- 日志输出
- 自定义组件方法
- 自定义项目命名空间
- 独立动作
- json请求和获取
- 基础版模块
- modules文件夹
- 配置文件
- Yii2rbac实现
- rbac数据表
- rbac逻辑部分
- baseController
- yii2常用封装的helper
- yii封装的url
- 封装的函数
- yii2的filter
- 速率限制
- 跨域
- 特定响应格式
- 用户验证
- 商城项目
- 用户认证体系
- 组件相关方法
- 代码复用
- 密码加密
- 访问控制扩展
- 模型表
- 常用方法
- 控制器
- 增加后台模块
- 七牛云上传图片
- Assets管理资源组件
- 框架RBAC的使用
- 增加角色
- 角色列表
- 批量插入权限名称
- 角色分配权限
- 用户授权
- 公共控制器认证
- 额外规则
- Elasticsearch搜索
- 概念
- 安装
- 创建索引
- mysql批量导入
- 项目中集成
- redis邮件异步发送
- github创建插件
- Yii2缓存机制
- 特殊用法
- 查询缓存
- Yii2日志组件的使用
- Sentry日志收集
- 消息队列
- kafka消息队列
- kafka安装
- php使用kafka
- session存储redis
- url美化
- jQuery
- jQuery对象和DOM对象相互转换
- 基本选择器
- 层次选择器
- 基本过滤选择器
- 内容过滤选择器
- 可见性过滤选择器
- 属性过滤选择器
- 子元素过滤选择器
- 表单对象属性过滤选择器
- 企业nginx
- 终极配置文件
- 错误日志
- 访问日志
- nginx rewrite
- 隐藏nginx版本号软件名
- 日志分隔
- nginx目录及文件url访问控制
- 防盗链
- 防爬虫
- 控制并发数量
- 控制nginx速率
- 企业mysql
- 数据库中间件Mycat
- mycat限制
- 企业监控zabbix
- mysql优化
- 范式和反范式
- 数据同步otter
- 注意点
- 企业jenkins
- 企业gitlab
- 企业缓存四金刚
- 企业redis集群
- 企业memcache
- Yac缓存
- Opcode码缓存
- PHP基础
- 面试介绍
- 正则表达式
- PHP扩展模块
- PHP操作符
- PHP7新特性
- define和const区别
- mysql主从复制延迟
- string常用函数
- array常用函数
- mysql函数
- http请求过程
- 网页/应用访问慢突然变慢,如何定位问题
- cookie和session区别
- Memcache与Redis的区别
- Myisam和Innodb区别
- php 真正的多线程 pthread
- 算法
- PHP 7.1中利用OpenSSL代替Mcrypt加解密
- 图片加密解密
- PHP生成唯一ID的方法
- 无限极分类和嵌套分类
- PHP发送http请求的6种方法
- 获取中英文字符串首字母
- 计算文件的相对路径
- innodb两阶段锁协议
- 索引的原理
- TCP沾包
- 文档API开源系统
- TFS
- nginx+ftp搭建图片服务器
- 常用经典扩展
- PHP_XLSXWriter
- 队列beanstalkd