Posted on 2008-09-18 22:09
Dirain 阅读(6124)
评论(89) 编辑 收藏 网摘
好久没来博客园了,一直在忙着工作,学习。今天分享我封装的获取MSN好友信息,获取gmai.com、yahoo.cn、yahoo.com.cn、live.cn、live.com、hotmail.com邮箱联系人的类库。
其实没什么技术含量,只是在工作时找了很久找到几个类库,为了用起来方便,就做成类库了。提供邮件群发功能。下面介绍下用法,很简单。
Batch.Helper命名空间下有GmailHelper、LiveHelper、MsnHelper、YahooHelper几个类,每个类都有一个方法来获取邮箱联系人。
public List<string> getLinkmans(string username, string password) 类中都包含这个方法,获取通讯录联系人。帐号格式要写全,如:dirain@yahoo.cn
MsnHelper有点特殊,他负责获取MSN中好友。其中public List<string> getFriendMail()获取msn好友邮箱,public List<Entity.MsnFriend> getFriends()获取好友详细信息,包括电话、名称等。
Batch.Entity放了两个实体类,MailInfo为发送邮件时需要的相关信息。MsnFriend是msn好友的详细信息。
Batch.Common下提供了一个邮件发送类SendMail,支持单人发送、群发。
使用时只需要引用Batch.dll、XihSolutions.DotMSN.dll、OpenContactsNet.dll就可以了,但那些dll要放在一个目录里
获取邮箱通讯录联系人案例:

邮箱联系人获取
Batch.Helper.GmailHelper gmail = new Batch.Helper.GmailHelper();
List<string> list=gmail.getLinkmans("dirainme@gmail.com", "123123");
获取MSN好友列表并给好友每人发送一封邮件:

获取MSN好友并给好友发送邮件
MsnHelper msn = new MsnHelper();
msn.Start("MSN帐号", "MSN密码");
List<MsnFriend> list = msn.getFriends(); //获取好友
MailInfo m = new MailInfo();
m.UserName = "dirainme@gmail.com"; //发件人帐号
m.Password = "123123"; //邮箱密码
m.Smtp = "smtp.gmail.com"; //smtp服务器
m.Port = 587; //smtp服务器服务端口
m.Ssl = true; //是否ssl加密
m.Title = "邮件标题";
m.Body = "<h1>邮件内容<h1>";
//获取好友emial
foreach (MsnFriend msnf in list)

{
m.AddTo(msnf.Email);
}
m.IsBodyHtml = true; //内容解析html
SendMail send = new SendMail(m);
send.Send();
MailInfo的AddTo方法是添加收件人,如果有一个人,那添加一次就好了。
没啥技术含量,就是把别人类库收集起来封装了一下。至于到底是怎么获取到联系人的,这个有思路,但没有去详细实现。MSN是通过组件dotmsn获取好友。邮件通讯录联系人是通过模拟登陆邮箱从网页源码中用正则表达式提取真实数据,这是思路,有兴趣可以研究,有更好的思路可以分享。至于说各大邮箱提供的api接口,我搜了很久也没找到,只有gmail提供了。有问题留言吧。
http://files.cnblogs.com/dirain/Batch.rar
源码请到:http://www.dirain.cn/
QQ交流群:8581189
Feedback
@guojing
这对服务器的带宽要求很高,程序处理方面没有试过,联系人和好友也就几十、几百个。随着多会慢,因为访问一个网页上有1W条数据也会卡一阵。
真不错。很感谢楼主。我先前也在研究这些。还下了DOTMSN的源码来研究。楼主对于QQ的有研究不。
楼主可否发一份源码给我。可以吗?
king_wgj@hotmail.com
谢谢
@王国金
通过程序模拟请求登陆qq邮箱,然后获取他联系人页面的源码并提取信息。
获取QQ好友的sns目前只有海内网,不过他现在有问题了,所以证实我的猜想是对的。你可以看看海内,在看看qq邮箱的信息,几乎一样。
谢谢,请问可否在邮箱中不用打开阅读收件箱的每封邮件,而向各个邮箱群发邮件呢?
好东东!之前只解决了MSN的邀请,剩下的几个参考一下~
QQ是最难搞的,关键是QQMail有客户端加密,你得把一大堆javascript看明白才行..........
MSN的联系人获取,微软是公开了接口的,用dotmsn并非很好的做法,还多引用一堆dll.
楼主能否共享一下源代码.多谢.
zhiying.zhang@126.com
发现这个网站也可以获取QQ好友信息
www.zhenxi.com
qq好像还有验证码吧。前一段也在做这个,推荐一个小工具httpwatch,模拟请求的时候就靠它了,灰常强大,感觉比fiddler好使
www.mayi.com
这个网站QQ,MSN,各种邮件都能获取,可以参考一下.
楼主可否发一份源码给我。可以吗?
kevin@mygift.com
谢谢
楼主可否发一份源码给我。可以吗?
276363113@qq.com谢谢
微软官方有Contacts接口
Windows Live
Windows Live Contacts API - Beta 1.0
The Windows Live™ Contacts API is an HTTP-based service that enables developers to programmatically submit queries to, and retrieve results from, the Windows Live Contacts Address Book database service.
http://msdn.microsoft.com/en-us/library/bb463989.aspx" target="_new">http://msdn.microsoft.com/en-us/library/bb463989.aspx
不错,起到好久,收藏了!
-------------------------
时尚生活,银饰装扮;买高档银饰品,到荣华购物网 www.lets95.com;专柜质量,心动价格。专业的网络直销省去中间环节。支持支付宝,贝宝,安全支付,放心购物。
兄弟我也想要一份,源码 谢谢啦。bm208@foxmail.com
好东西 啊,
楼主如果发份源码就更爽啦,呵呵
yuanjinhui123@qq.com
发一份源码给我吧 邮箱 zhihuazou@163.com
可否给我份源码,实现一下啊``谢谢```lilei9963@163.com
楼主能否共享一下源代码.多谢.
wait_huang@163.com
发一个给我谢谢!!!
jimmy_wzt@hotmail.com
楼主能否共享一下源代码.感谢.
yaosinana@126.com
楼主能否共享一下源代码.感谢.
13486180223@zj139.com
@xiaoxiao123445666
请说明操作方法
楼主能否共享一下源代码.多谢.
fymtzq@163.com
楼主能否共享一下源代码.多谢.
alexsoft024@gmail.com
sohu也有客户端加密你们没发现吗?我只有QQ没有做,有验证码
MsnHelper msn = new MsnHelper();
msn.Start("msn用户名", "密码");
List<string> list = msn.getFriendMail();
为什么list取不到值?
最近涉及到这部分导入,非常感谢楼主提供的思路, 可以给我发份源代码好吗.谢谢拉
楼住可以发份源代码吗?谢谢了
email:wangchen1988223@163.com
楼主 请加我qq 269740583 msn:sitjun@hotmail.com
楼主这个dll有个大问题,就是如果是错误的msn那这个程序就如石沉大海,没任何反应...是不是一bug啊,也就是密码错误应该有提示的~~所以有再用的这个的人,的注意这个问题~~
楼主可否发一份源码给我吗?
wen_long.wang@163.com
谢谢
楼主可否发一份源码给我吗?
wait_huang@163.com
谢谢
楼主可否发一份源码给我?
phoenixpj@live.cn
谢谢
本人根据楼主的提示,做了个邮箱获取联系人的功能,大家可以去做下测试
http://www.kxons.com/GetContacts.aspx
如果有什么问题可以直接联系我
email:rongfu.weng@163.com
QQ :99003271
我也是做IT行业的,需要海外服务器租用、托管的,可以找我交流啊
可以发我一份源码吗?感谢
lihaiwei_jiangsu@126.com
可以发我一份源码吗?感谢
55156778@qq.com
我的电话 13474103637
QQ:258658320
邮箱: cuixiao_0208@126.com
楼主请联系一下我。。十万火急。。谢谢
LZ 发我一份源码吧,谢谢
zhangyinpei@corp.wangyou.com
敬礼 致敬
楼主发份给我谢谢啦 574409789@qq.com
www.wzsns.com 全体员工象你致敬
群主也发一个源码给我吧。。谢谢
nbvghost@gmail.com
能不能发一下源码给我啊,谢谢
我的邮箱:zhuxiangling@foxmail.com
楼主,麻烦能不能发一份源码给我啊?谢了
邮箱:mathor_love@126.com
楼主,麻烦能不能发一份源码给我啊?谢了
邮箱:clq_271520093@hotmail.com
谢谢哦
楼主,麻烦能不能发一份源码给我啊?谢了
wojiushicai@gmail.com
需要.net版本代码请发信到
zzhw19810910@163.com
需要.net版本代码请发信到
zzhw19810910@163.com@guojing
本人根据楼主的提示,做了个邮箱获取联系人的功能,大家可以去做下测试
http://www.kxons.com/GetContacts.aspx
如果有什么问题可以直接联系我
email:rongfu.weng@163.com
QQ :99003271
楼主诶,你的东西不错的,如果方便的话,给我发一份源代码啊,谢谢了啊
楼主可不可以给我源码看一下!邮箱hjxjolin886@163.com
QQ 174768236
鄙视71 楼,一点都不厚道,竟然用别人提示的东西,叫价卖钱
楼主,赶紧出来给大家提示一下啊,都等着呢,不贡献源码,能把那几个类库贡献一下不,网上找不到阿
可以加我msn:namezjy@msn.com
呵呵,别人的东西,你怎么知道东西就不是本人自己写的
楼主可否发一份Utilities源码给我。部分程序兼容不了,,可以吗?
ccsonline@163.com
谢谢
楼主,麻烦能不能发一份源码给我啊?谢了
邮箱:andyli783@yahoo.cn
zbwangchao@163.com
能发份代码吗 谢谢了
博主能不能给发一个源码?急需
feiliny2t66@126.com
能否提供一份源码,十分感谢!`````
xll_19880816@126.com
我用yahoo.com.cn请求得到数据为空。能不能说说??
楼主,麻烦能不能发一份源码给我啊?谢了
邮箱:xiao_zhongwei@yeah.net
麻烦楼主发一份源码给我,急用啊!拜谢了!
邮箱:wujinlian@126.com
yuanyongting@vip.qq.com
我的。