PHP实现发送微信模板消息(公众号版),附类文件
以下为开发步骤:
1.微信公众号为服务号且开通微信认证(其他类型账号不能发送)
2.ip白名单设置你的服务器ip(用于获取access_token)
3.网页授权你的域名(用于获取用户的openid)
4.开通模板消息并在模板库中选用模板
5.获取openid
6.发送模板消息
提供一个已经封好了的类文件,比较简单 可以直接调用
class WxTmp{ //请求模板消息的地址 const TEMP_URL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="; /** * 微信模板消息发送 * @param $openid 接收用户的openid * return 发送结果 */ public function send($openid,$tokens){ //$tokens = $this->getAccessToken($accesstoken); $url = self::TEMP_URL . $tokens; $params = [ 'touser' => $openid, 'template_id' => 'B2Poe_5XVRu_I8jy8j_N-Kb7JEL_NL0qIj6YQTolkoo',//模板ID 'url' => 'http://www.yizhanhongtu.cn/', //点击详情后的URL可以动态定义 'data' => [ 'first' => [ 'value' => '您好!有访客访给您留言了。', 'color' => '#173177' ], 'user' => [ 'value' => '张三', 'color' => '#FF0000' ], 'ask' => [ 'value' => '您好,这是一条测试消息', 'color' => '#173177' ], 'remark' => [ 'value' => '祝顺商祺', 'color' => 'blue' ] ] ]; $json = json_encode($params,JSON_UNESCAPED_UNICODE); return $this->curlPost($url, $json); } /** * 通过CURL发送数据 * @param $url 请求的URL地址 * @param $data 发送的数据 * return 请求结果 */ protected function curlPost($url,$data) { $ch = curl_init(); $params[CURLOPT_URL] = $url; //请求url地址 $params[CURLOPT_HEADER] = FALSE; //是否返回响应头信息 $params[CURLOPT_SSL_VERIFYPEER] = false; $params[CURLOPT_SSL_VERIFYHOST] = false; $params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回 $params[CURLOPT_POST] = true; $params[CURLOPT_POSTFIELDS] = $data; curl_setopt_array($ch, $params); //传入curl参数 $content = curl_exec($ch); //执行 curl_close($ch); //关闭连接 return $content; } } $obj = new WxTmp(); $openid = '接受者的openid号'; $accesstoken= '公众号的access_token'; echo $obj->send($openid,$accesstoken);