# 消息通知配置
文档最后更新时间: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 方法
