Winmail 认证微信服务号绑定

功能简介


    申明:本功能利用腾讯公司提供的微信平台开发接口,腾讯公司有权随时修改接口,可能会导致部分或者全部相关功能无法使用,所以我们不能保证本功能一直可以正常使用。

     Winmail 6.1-7.2 和 Winmail Pro 4.7-5.0 支持与已认证微信公众服务号绑定,可以实现微信里定制邮件相关菜单项,微信中免登录直接收发邮件。

     按照目前微信服务号开发接口的要求,Winmail 的 Webmail 必须使用 http 80 端口(或者 https 协议的 443 端口),要可以使用域名访问,域名必须做过工信部备案,使用 https 需要使用正式的网站证书,可以参考 Winmail 安装正式 SSL 服务器证书,不支持使用 IP 的访问地址。[ 本文假设 Webmail 访问地址为: http://mail.abc.com (具体设置时请使用自己的域名代替)]    (2020,5,27 更新)

重要更新:2017,10 起腾讯在微信服务号平台上去除了"新邮件通知"消息模版,这样旧的 Winmail 6.1-6.5(0125) 无法实现新邮件微信通知功能, 确实需要新邮件通知功能,建议改用企业微信,请参考 Winmail 企业微信绑定 或者升级到 Winmail 6.5(0305)以上版本,已修改了程序,利用"取件通知"消息模版实现了新邮件通知功能。其他版本参考原文档 Winmail 认证微信服务号绑定[旧]

1. 公众服务号申请和认证


     1. 需要一个微信公众服务号,一个主体可以申请多个公众号(50个),一般建议为邮件系统单独申请一个,没有的话,请到 微信公众平台 申请,类型选择"服务号", 个人无法申请公众服务号,主体类型有政府、媒体、企业、其他组织,需要提供组织信息和运营者身份信息,需要绑定一个个人微信号做为管理员,注意服务号名称以后无法修改,请确定一个名称,这个名字以后会出现在微信里,可以使用:
        XXX公司邮件系统服务
        XXX公司信息部服务

     2. 因为本功能需要调用相关的 API 接口,按照腾讯公司要求要付费认证这个公众服务号,登录 微信公众平台,点击右上角的"未认证",按照腾讯的提示认证,目前认证需要审核服务费用 300元/次/年,腾讯可提供正式发票,政府以及部分其他组织类型的公众账号,免收审核服务费用,认证有效期是一年,认证一般几个工作日内就可以完成。

2. 服务号设置


     登录 微信公众平台:
         1. 进入"设置"-"公众号设置"-"功能设置", 将 mail.abc.com (具体设置时请使用自己的域名代替)加到 "业务域名" 、 "JS接口安全域名" 和 "网页授权域名"里。

        2. 在"开发"-"基本配置"里,IP白名单: 请输入邮件服务器的外网出口IP,有多个都需要输入
         记录并保存好以下信息:
             微信号:在"设置"-"公众号设置"-"账号详情"里。
             开发者ID(AppID):在"开发"-"基本配置"里。
             开发者密码(AppSecret):在"开发"-"基本配置"里,点击"重置",按照提示取得。

winmail 微信

         3. 申请"自定义菜单":进入"功能"-"+添加功能插件"申请"自定义菜单"功能。

         4. 申请"模版消息":进入"功能"-"+添加功能插件"申请"模版消息"功能,主营行业或者副营行业之一选择 "IT科技/IT软件与服务",需要2-3天审核通过,审核没有通过以前,新邮件提醒功能不能使用。 如果已经有了"模版消息"功能,进入"功能"-"模版消息"-"模板库",点击"修改行业",主营行业或者副营行业之一选择为"IT科技/IT软件与服务",一个月只能修改一次。

         5. 进入"设置"-"公众号设置"-"账号详情",点击"二维码"-"下载更多尺寸",建议下载"8cm"的二维码图片,保存成 weixin.jpg,拷贝 weixin.jpg 到 ~/server/webmail/www/customer,覆盖原始文件。

3. Winmail 设置


     1. 登录 Winmail 管理端,进入"系统设置"-"新邮件提醒",在"短消息设置"里, 选择"启用新邮件通知"、"微信"、"服务号"-"设置", 输入正确的:"微信号"、"AppID(开发者ID)"、"AppSecret(开发者密钥)"、"Webmail URL" http://mail.abc.com (具体设置时请使用自己的域名代替), 服务模板 ID: OPENTM408147361(全新设置必须输入这个 ID)
关键字替换:
keyword1=%from%|keyword2=%subject%

保存-应用。

winmail 微信设置

     2. 确定服务器可以使用IE浏览器正常访问微信接口网站,使用IE测试访问一下 https://api.weixin.qq.com/cgi-bin/message/template/send, 正常的话会提示下载一个 api.weixin.qq.com 的 send.json 文件,如果不能访问,请检查网络、防火墙等设置,使用其他浏览器正常会显示 errcode 41001 errmsg "access_token missing hint: ***"。 如果服务器系统是 Windows 2003,由于系统浏览器版本原因,无法使用通知功能,建议升级到 Win7, Win2008 R2 以上版本。

4. 邮箱用户绑定微信


    登录 Webmail,进入"新邮件提醒",使用个人的微信扫描页面上的二维码(注意:这个二维码是 Winmail 生成的,一次性有效,只用于绑定这个邮箱账号,和服务号的二维码不一样)。

winmail 微信设置

    微信里会提示相关结果信息,如果没有关注此服务号,要按照提示关注,成功的话,微信会收到一个绑定通知。 等一段时间后 Webmail 里会显示绑定的微信用户头像和昵称,可以发一封邮件到此邮箱,测试是否收到微信通知,收到的消息是否可以打开这封邮件。

    如果登录 Webmail 看不到"新邮件提醒",请检查管理端以下设置:

        1. 在"用户和组"里检查这个用户的"权限设置"属性,确定"禁用新邮件通知"没有选中,可以选择多个用户批量修改这个权限。
        2. 进入"系统设置"-"新邮件提醒"-"短信息设置",确定"□启用新邮件通知"、"□微信-服务号"已经选中,"用户列表"里该用户有使用权限 。
        3. 进入"系统设置"-"高级设置"-"Webmail 设置"-"登录后设置",确定"□允许用户启用新邮件通知"已经选中。
        4. 如果原6.0版本已经正常绑定微信的,请进入"系统设置"-"新邮件提醒",先关闭"启用新邮件通知",再启用,重新保存一下。
        5. 修改上面的设置后,Webmail 需要重新登录。

winmail 微信

5. 微信菜单设置


     登录 微信公众平台:
         1. 进入"开发"-"基本配置",确定"服务器配置" 是 "(未启用)"

         2. 进入"功能"-"自定义菜单",可以增加以下菜单项("菜单内容" 选择 "跳转网页"):

                 邮件夹 http://mail.abc.com/weixin.php?mod=folder(具体设置时请使用自己的域名代替,下同)
                 写邮件 http://mail.abc.com/weixin.php?mod=compose
                 收件箱 http://mail.abc.com/weixin.php?mod=msglist

         下面的菜单项可选

                 登录页 http://mail.abc.com/weixin.php?mod=login
                 解除绑定 http://mail.abc.com/weixin.php?mod=unbind
                
         菜单结构和名字自行决定,菜单修改发布成功后要24小时内生效,可以取消关注再重新关注以显示最新的菜单。

其他


     1. 可以登录 Winmail 管理端,进入"系统状态"-"短消息队列",可以看到待发的提醒。进入"系统日志"-"MSMS",可以看到 Winmail 发出的微信消息记录和出错信息。

winmail 微信提醒日志


     2. 不要在两台 Winmail 里使用同一个公众服务号; 更换服务器,AppSecret(应用密钥) 最好要到 微信公众平台 重置一下。

     3. 如果 Winmail MSMS 日志里出现 [QUEUE] open weixin failed.get http request failed 错误提示,可能是服务器网络问题无法访问微信的接口网站, 可以用IE测试一下 https://api.weixin.qq.com/cgi-bin/message/template/send, 正常的话会提示下载一个 api.weixin.qq.com 的 send.json 文件。

     4. 微信公众平台 "功能"-"模版消息"-"我的模板"里,至少会有两个已经绑定的模版消息ID(取件通知、绑定通知), Winmail 微信设置里点击"微信 token"会显示当前使用的消息ID。 如果平台上没有"模版消息",进入"功能"-"+添加功能插件"申请"模版消息"功能,主营行业或者副营行业之一选择 "IT科技/IT软件与服务",需要2-3天审核通过, 审核没有通过以前,新邮件提醒功能不能使用。 多次设置微信相关参数,公众平台里可能有多个模版ID,请删除失效的,因为最多只能有25个。 误删了有效的模版ID,将无法发送微信提醒信息,MSMS 日志里会出现,send message *** failed, invalid template_id hint ... 要到 Winmail 微信设置里点击"微信 token",手工清空2个模版消息 ID,"确定"后让系统自动重建模版ID,参考下图。

winmail 微信

     5. 如果收到的取件通知内容不全,请参考上一条手工清空2个模版消息 ID,并把服务通知 ID设置成: OPENTM408147361

     6. 如果在微信里登录邮箱,经常出现提示输入用户名和密码的界面,重新绑定邮箱又正常的情况,可以登录 Winmail 管理端:系统设置/高级设置/Webmail 设置/首页设置, 把 "Webmail 启用IP检查" 关闭。