參照于 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