您的位置:首页 > 其它

针对SNS获取MSN好友、各大邮箱联系人,邮件群发解决方案

2008-09-18 22:09 429 查看
好久没来博客园了,一直在忙着工作,学习。今天分享我封装的获取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要放在一个目录里

获取邮箱通讯录联系人案例:

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.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: