利用腾讯企业邮箱开放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--> ...
随机推荐
- javascript 【js‘s word】
http://mp.weixin.qq.com/s?__biz=MjM5MzY2NDY0Ng==&mid=214013689&idx=1&sn=21e03f6c7bf73893 ...
- c语言学习之基础知识点介绍(一):输出语句和变量简单介绍
本系列是为了学习ios做准备的,也能作为c语言入门的教程看看. c语言的程序结构: 1.顺序结构:自上而下依次执行. 2.分支结构:程序有选择的执行某段代码或者不执行某段代码. 3.循环结构:程序循环 ...
- 将decimal类型的数值后面的0和.号去掉
今天在群里面看到有朋友在问如下的需求,想到以前在写项目时也遇到这种处理数值的需求,所以写一个例子贴在博客里. 需求:在许多显示货币值时,可能需要截取掉后面的0,显示小数值或者整型值. 举例:(1)数据 ...
- 三种C#.net生成静态页面的方法
ASP.NET生成静态页面方法主要有三种 第一种方法:向服务器的动态页面发送请求,获取页面的html代码.这种方法缺点显而易见:速度慢.另外如果请求的动态页面有验证控件的话,返回的html页面却无 ...
- 输出不大于N的素数的个数
输出不大于N的素数的个数 Sieve of Eratosthenes 方法 素数的性质: 非素数可以分解为素数乘积. 证明 (1)n = 2 成立,n = 3 成立: (2)若 n = k 时成立, ...
- SGU 296.Sasha vs. Kate(贪心)
题意: 给出长度为n(<=1000)的一个数.输出删掉k个数字后的最大值. Solution: 简单贪心. s[i]代表数字s的第i位. 从前往后第一个满足s[i]>s[i-1]的位置,最 ...
- chrome输入框记住密码导致背景黄色的解决方案
在form头部增加以下内容 <input type="text" style="display:hidden;"> <input type=& ...
- QTableView使用自定义委托(QItemDelegate)
需要在表格中绘制流程图,主要有箭头,方向,颜色,字符串,由于QTableView没有可用的绘制函数,所以需要自己去定义. 委托(delegate)继承QItemDelegate,模型(model)继承 ...
- ubuntu 14.04 修改PS1提示符
默认情况下,Ubuntu终端会输出完整路径,在路径名很长的时候,提示方式很不友好,通过以下步骤修改PS1变量的设置,可以让终端输出相对路径.类似于红帽系统的风格.修改思路:将w修改为W显示绝对路径,并 ...
- poj 1170 Shopping Offers
Shopping Offers Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4696 Accepted: 1967 D ...