利用腾讯企业邮箱开放API获取账户未读邮件数初探
公司一直使用腾讯提供的免费企业邮箱服务,今天用管理员帐户登录后发现,原来现在腾讯的企业邮箱也开放了部分API
你可以通过开放接口实现以下功能:
数据同步
数据同步可以帮助你同步部门成员信息,你还可以创建、删除、修改帐号信息。
来信提醒
新邮件将即时在OA等办公系统提醒你。
单点登录
你可以从公司OA系统、网站一键进入企业邮箱,免去登录过程。
具体的功能可以自己登陆腾讯企业邮箱管理员界面,进入“工具箱--开放协议”中下载开放协议文档查看,有了这些API就能做不少事情了,可以尝试和公司内部的一些系统进行整合,相信会有意想不到的惊喜。
简单测试了一下未读邮件数这个能力,代码很简单,就不做说明了,由于API返回的数据是JSON格式,用到了LitJSON
/// <summary>
/// POST时用到的几个数据
/// </summary>
public struct PostData
{
/// <summary>
/// 目标服务器地址
/// </summary>
public string url;
/// <summary>
/// 采用的编码
/// </summary>
public string encoding;
/// <summary>
/// POST的数据
/// </summary>
public string contentData;
/// <summary>
/// contentType
/// </summary>
public string contentType;
/// <summary>
/// 添加其他的Header
/// </summary>
public string header;
} /// <summary>
/// 申请腾讯企业邮箱时的管理员账户
/// </summary>
string client_id = "hhhhhhhhhhh.com";
/// <summary>
/// 腾讯企业邮箱分配的接口key
/// </summary>
string client_secret = "3ed4b10okd37f2e0f56f23a3b6e53013";
/// <summary>
/// 目标邮箱的账户,获取对应的未读邮件数
/// </summary>
string alias = "chen123@hhhhhhhhhhh.com"; /// <summary>
/// 按钮事件,调用腾讯API获取Token,然后获取未读邮件数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void bNewMailCount_Click(object sender, EventArgs e)
{
//第一步获取Token
PostData pdata = new PostData();
pdata.url = "https://tel.exmail.qq.com/cgi-bin/token";
pdata.contentData = "grant_type=client_credentials&client_id=" + client_id + "&client_secret=" + client_secret;
pdata.encoding = "UTF-8";
pdata.contentType = "application/x-www-form-urlencoded"; string responseString = "";
//获取token_type和access_token
LitJson.JsonData json = this.Post(pdata, out responseString); if (json != null)
{
//获取Token成功后,第二步,获取未读邮件数
pdata = new PostData();
pdata.url = "http://openapi.exmail.qq.com:12211/openapi/mail/newcount";
pdata.contentData = "alias=" + alias;
pdata.encoding = "UTF-8";
pdata.contentType = "application/x-www-form-urlencoded";
pdata.header = "Authorization: " + json["token_type"] + " " + json["access_token"]; responseString = "";
json = this.Post(pdata, out responseString); if (json != null)
{
responseString = "账户:" + json["Alias"] + " 未读邮件:" + json["NewCount"];
iHandler.TextBoxAppend(this.tResponse, responseString, true);
}
}
}
/// <summary>
/// POST,返回LitJson.JsonData对象
/// </summary>
/// <param name="pdata"></param>
/// <param name="responseString"></param>
/// <returns></returns>
private LitJson.JsonData Post(PostData pdata, out string responseString)
{
responseString = String.Empty;
try
{
Encoding encoding = Encoding.GetEncoding(pdata.encoding);
byte[] data = encoding.GetBytes(pdata.contentData);
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(pdata.url);
webReq.Method = "POST";
webReq.ContentLength = data.Length;
webReq.ContentType = pdata.contentType + "; charset=" + pdata.encoding;
if (!String.IsNullOrEmpty(pdata.header))
{
webReq.Headers.Add(pdata.header);
}
Stream webStream = webReq.GetRequestStream();
webStream.Write(data, , data.Length); WebResponse webResp = webReq.GetResponse();
Stream webRespStream = webResp.GetResponseStream();
StreamReader reader = new StreamReader(webRespStream, encoding);
string respXml = reader.ReadToEnd();
reader.Close(); reader.Dispose();
webResp.Close(); responseString = respXml;
return LitJson.JsonMapper.ToObject(respXml); ;
}
catch (Exception ex)
{
responseString = ex.ToString();
return null;
}
}
利用腾讯企业邮箱开放API获取账户未读邮件数初探的更多相关文章
- 腾讯企业邮箱又一次隐藏了qq邮件列表的入口
今天登陆腾讯企业邮箱,发现腾讯企业邮箱又一次隐藏了qq邮件列表的入口,很不方便操作, 我们切换到工具箱选项,然后随便点击里面的一个工具,比如:企业网盘,然后看浏览器地址栏的地址如下:http://ex ...
- php通过imap获取腾讯企业邮箱信息后的解码处理
最近需要在项目开发的oa中集成一个收发腾讯企业邮箱邮件的功能,今天做到了获取收件箱内容部分,imap如何获取就不写了,百度一堆,主要是关于内容的解码 主要以邮件主题解码为主,腾讯企业邮返回的数据主要有 ...
- discuz邮箱注册激活||腾讯企业邮箱免费注册及登录方法
如何申请免费的企业邮箱,如果拥有了网站,还能有一个免费的域名邮箱,是不是很拉风呢?对于还没有注册企业的用户来说,优先使用企业邮箱,是非常好的事呢. 腾讯邮箱现在开放免费的企业邮箱注册,效果要比个人邮箱 ...
- 解析腾讯企业邮箱到自己域名,设置mail的cname
之前注册了腾讯企业邮的免费邮箱,后来想把企业邮箱和域名绑定起来,发现了一些问题. 先来看正常的部分,假设你已经注册过了腾讯企业邮箱免费版,并且已经绑定好了域名. 然后在域名提供商那里设置域名解析的MX ...
- Java + 腾讯企业邮箱 + javamail + SSL 发送邮件
说实话腾讯的企业邮箱真心不错! 腾讯企业邮箱官网:http://exmail.qq.com/login/ 新用户注册:http://exmail.qq.com/onlinesell/intro 点击开 ...
- ubuntu 14.04 下evolution邮箱客户端设置(腾讯企业邮箱)
安装 evolution 有PPA可用,支持 Ubuntu 14.04 及衍生系统.打开终端,输入以下命令: sudo add-apt-repository ppa:fta/gnome3 sudo a ...
- MVC4/5+jquery+bootstrap样式+dataTables+linq+WCF+EF6后台和前台的框架集合!好蛋疼哦!数据库支持MYSQL 和MSSQL,oracle。集成腾讯企业邮箱收邮件同步用户SSO登陆等功能。
花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才 ...
- 微信时代,"邮"你选择 腾讯企业邮箱推新玩法
近日,腾讯企业邮箱在广州.北京.南京三地举办<微信时代,“邮”你选择>企业邮箱新方向客户见面会,同时也正式宣布将打通微信.“拥抱”移动办公,领航国内办公工具移动之“变”. 据了解,腾讯企业 ...
- zabbix 3.4 ubuntu 16 用腾讯企业邮箱作为告警邮箱
最近一直在研究zabbix监控系统,今天调试了腾讯企业邮箱作为告警邮箱的设置,本次方式是用内置email组件. 第一步: 选择Administration-->Media Types--> ...
随机推荐
- [综合|基础|语法] 最新的皮肤帮助类 UI_Misc_Helper (转载)
using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace ...
- oracle 定位热块和热链的方法
定位热链的方法 declare v_num number;begin for i in 1..1000000 loop sele ...
- 【实习记】2014-08-24实习生无法映射磁盘替代方案rsync+非默认端口22设置
正职开发人员有两个电脑,一个办公网的,一个开发网的.通过samba服务在开发网机器上映射编译环境机的磁盘没有问题. 开发岗实习生使用虚拟机做跳板方式登录编译环境机.上面的方法不能用. 替代方法:rsy ...
- Git (1)
对于程序员来说,版本管理工具可称得上是必需品.越来越多的版本管理开始使用Git,特别是Github的流行更加使得大家对于Git越来越关注.因此对于Git的学习是非常必要和重要的. 先看几个好玩的数据: ...
- CSAPP Lab2: Binary Bomb
著名的CSAPP实验:二进制炸弹 就是通过gdb和反汇编猜测程序意图,共有6关和一个隐藏关卡 只有输入正确的字符串才能过关,否则会程序会bomb终止运行 隐藏关卡需要输入特定字符串方会开启 实验材料下 ...
- OpenCV例程实现人脸检测
前段时间看的OpenCV,其实有很多的例子程序,参考代码值得我们学习,对图像特征提取三大法宝:HOG特征,LBP特征,Haar特征有一定了解后. 对本文中的例子程序刚开始没有调通,今晚上调通了,试了试 ...
- 帝国cms在任意位置调用指定id的栏目名称和链接
注意,这个代码无须放在灵动标签中,直接写入模板相应的位置就行了.[1]调用栏目名称: <?=$class_r[栏目ID]['classname']?> 示例:<?=$class_ ...
- C对字符串的部分操作
字符串分割(C++) 经常碰到字符串分割的问题,这里总结下,也方便我以后使用. 一.用strtok函数进行字符串分割 原型: char *strtok(char *str, const char ...
- 关于64位Win7/Win 8 下怎么学习汇编语言
我看有许多同学用Win 7/Win 8 学习汇编,现在好多人的内存升级了都用64位系统了,但是64位W7没有自带的DEBUG和MASM. 1.首先下载DOSBOX,(下面附带地址)它的作用就是让你在6 ...
- PyCharm 5.0.3 快捷键
下面记录PyCharm 5.0.3常用快捷键 注释 注释行:Ctrl+/