# 消息通知配置
文檔最后更新時間:2021-12-08 17:36:17
### 注意事項:
* 消息均采用異步發送,請提前配置好隊列,點[這里配置隊列](https://doc.fastadmin.net/shopro/239.html)
* 配置完之后請別忘記在列表切換消息為`啟用`狀態
### 模板消息配置方式 (以訂單發貨通知為例)
#### 準備工作
* 查看后臺`消息通知`\-》`消息配置`\-》`訂單發貨通知`
* 編輯`微信公眾配置`\-》 查看該消息預置的字段包括(`訂單號,訂單金額,發貨時間,商品名稱,商品規格,商品價格,購買數量,快遞公司,快遞單號,收件信息`),這些字段是所有會返回內容的字段,如下圖所示:

#### 微信公眾號配置方式
公眾號模板消息發送前提:
* 用戶必須關注公眾號
* 用戶必須公眾號授權登錄過(拿到當前用戶的`openid`)
配置過程
* 在`微信公眾平臺`\-》`申請模板消息`\-》`添加模板庫`\-》搜索`訂單發貨通知`
* 找一個所有字段都在上面字段中存在的合適的模板,添加
* 添加完成,點擊進入模板詳情,比如下圖模板:

* 將模板ID 和詳細內容中的字段填入商城后臺,填寫完如下圖所示:

* 消息模板上有`first.DATA`和`remark.DATA`兩個自定義程度比較高的字段,程序默認沒有設置,這時候可以點擊左下角添加,如圖所示:

至此訂單發貨公眾號模板消息配置成功
#### 微信小程序配置方式
小程序模板發送前提:
* 小程序每次發送訂閱消息,用戶必須提前訂閱過消息,比如訂單發貨通知,當用戶在小程序下單的時候會觸發訂閱消息彈框,用戶之后點擊同意小程序訂閱消息才能下發成功
配置過程
* 在`微信公眾平臺小程序平臺`\-》`訂閱消息`\-》`我的模板`\-》搜索`訂單發貨通知`
* 勾選商城后臺所包含的部分需要的字段,添加
* 添加完成,點擊進入模板詳情,比如下圖模板:

* 將`模板ID`和`詳細內容`中的字段填入商城后臺,填寫完如下圖所示:

* 消息模板上有`think8.DATA`和`think6.DATA`兩個自定義程度比較高的字段(可以根據需要自行添加,這是當前這個模板添加的),程序默認沒有設置,這時候可以點擊左下角添加,如圖所示:

至此訂單發貨小程序訂閱消息配置成功
#### 短信配置方式(以阿里云為例)
短信發送注意事項
* 必須先安裝短信插件,必須更新最新版本
* 賬號必須綁定手機號
* 短信內容不宜過長,請選擇重要字段進行展示
配置過程
* 阿里云申請短信模板,模板內容和變量屬性自行根據需要添加,這里只添加了訂單號:`${order_sn}`快遞單號:`${express_no}`

* 將`短信模板 ID`和`變量`填入商城后臺,填完之后如下圖所屬:

至此訂單發貨短信模板配置成功
#### 郵件配置方式
郵件發送注意事項
TfAez+K4Zwb3+guuF6c0ow==
* 請在 fastadmin 常規配置->系統配置->郵件配置,把郵件服務器配置好
* 賬號必須有郵箱地址
配置過程
* 配置系統郵件配置,使用的是`QQ郵件服務器`,配置好之后,點擊`發送測試郵件`,如果能正常收到郵件,即為配置成功
> 具體郵件服務器的配置,可以搜一下 QQ郵箱郵件服務器申請,網上有很多

* 打開后臺消息通知,點擊一個消息郵件通知-》編輯配置,如下直接在最下面 富文本框編輯郵件內容,所有變量使用`p:{字段名}`,字段名即為上面列出來的任意一個字段名,可以參照下圖進行配置

至此訂單發貨郵件模板配置成功
### 排查消息沒有發出去原因
* 查看服務器日志,具體地址為:`runtime/log/年月(202007)/日期(04)_cli.log`(因為消息均為異步發送,所以日志在 對應日期的`_cli.log`文件中)
* 搜索對應的關鍵字:小程序消息搜索:`小程序模板消息發送失敗`; 公眾號搜索:`公眾號模板消息發送失敗`; 短信搜索:`短信發送失敗`;郵件搜索:`郵件消息發送失敗`
錯誤消息示例如下,請參考
小程序模板消息發送失敗
~~~
小程序模板消息發送失敗:用戶:4;類型:addons\shopro\notifications\Refund;發送類型:refund_agree;錯誤信息:{"errcode":43101,"errmsg":"user refuse to accept the msg hint: [KhBd9qI2e-uBU]"}
~~~
公眾號模板消息發送失敗
~~~
公眾號模板消息發送失敗,沒有 openid:用戶:2;類型:addons\shopro\notifications\Groupon;發送類型:groupon_success
~~~
短信發送失敗
~~~
短信發送失敗,沒有手機號:用戶:4;類型:addons\shopro\notifications\Refund;發送類型:refund_agree
~~~
郵件發送失敗
~~~
郵件消息發送失敗:用戶:8;類型:addons\shopro\notifications\Order;發送類型:order_sended;錯誤信息:"SMTP Error: Could not authenticate."
~~~
* * *
### 分割線
* * *
### 騰訊云短信插件發送通知
> 目前騰訊云短信發送消息通知存在問題,請按如下方式修改
#### 騰訊云短信配置
> 請注意下圖標記的字段

#### 修改騰訊云短信插件源碼
請修改 addons/qcloudsms/Qcloudsms.php 文件 smsNotice 方法
