如何用c#语言读取邮件内容 200
网上搜了好多,没一个会用,发邮件的倒是简单,一下子就搜到了。现在我就是想知道怎样用C#获取我的QQ邮箱的收件箱的第1封邮件的正文的具体内容,就是写一个类,或者一个方法,直...
网上搜了好多,没一个会用,发邮件的倒是简单,一下子就搜到了。
现在我就是想知道怎样用C#获取我的QQ邮箱的收件箱的第1封邮件的正文的具体内容,就是写一个类,或者一个方法,直接得到内容,比如我邮箱里的内容是"祝你身体健康!",然后通过完整c#代码把这段内容赋值给我定义的一个string对象。不要跟我说去看某某帖子,或者某某文档,请直接上代码,当然如果某帖子跟我的要求完全符合那倒是可以。
注意最重要的是代码直接可用,不要说什么研究研究就懂了,我研究两天了一点没懂。 展开
现在我就是想知道怎样用C#获取我的QQ邮箱的收件箱的第1封邮件的正文的具体内容,就是写一个类,或者一个方法,直接得到内容,比如我邮箱里的内容是"祝你身体健康!",然后通过完整c#代码把这段内容赋值给我定义的一个string对象。不要跟我说去看某某帖子,或者某某文档,请直接上代码,当然如果某帖子跟我的要求完全符合那倒是可以。
注意最重要的是代码直接可用,不要说什么研究研究就懂了,我研究两天了一点没懂。 展开
3个回答
展开全部
c#实现outlook2003邮件内容读取
Outlook.ApplicationClass olApp = new Outlook.ApplicationClass();
Outlook.NameSpace ns = olApp.GetNamespace("MAPI");
Outlook.MAPIFolder selectFolder = null;
Outlook.MailItem mi = null;
// 获得收件箱信息
selectFolder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
this.label1.Text = "收件箱:共有" + selectFolder.Items.Count.ToString() + "封邮件";
this.label1.Refresh();
dt.Columns.Add("1", typeof(string));
dt.Columns.Add("2", typeof(string));
dt.Columns.Add("3", typeof(string));
dt.Columns.Add("4", typeof(string));
dt.Columns.Add("5", typeof(string));
DataRow dr = null;
string isread = "未读";
int i = 1;
foreach (object item in selectFolder.Items)
{
mi = item as Outlook.MailItem;
if (mi.UnRead == false) { isread = "已读"; }
dr = dt.NewRow();
dr["1"] = i.ToString();
dr["2"] = mi.Subject;
dr["3"] = mi.CreationTime.ToString();
dr["4"] = isread;
dr["5"] = mi.Body;
dt.Rows.Add(dr);
i++;
this.label3.Text ="正在读取:"+ i.ToString();
this.label3.Refresh();
}
this.dataGridView1.DataSource = dt;
Outlook.ApplicationClass olApp = new Outlook.ApplicationClass();
Outlook.NameSpace ns = olApp.GetNamespace("MAPI");
Outlook.MAPIFolder selectFolder = null;
Outlook.MailItem mi = null;
// 获得收件箱信息
selectFolder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
this.label1.Text = "收件箱:共有" + selectFolder.Items.Count.ToString() + "封邮件";
this.label1.Refresh();
dt.Columns.Add("1", typeof(string));
dt.Columns.Add("2", typeof(string));
dt.Columns.Add("3", typeof(string));
dt.Columns.Add("4", typeof(string));
dt.Columns.Add("5", typeof(string));
DataRow dr = null;
string isread = "未读";
int i = 1;
foreach (object item in selectFolder.Items)
{
mi = item as Outlook.MailItem;
if (mi.UnRead == false) { isread = "已读"; }
dr = dt.NewRow();
dr["1"] = i.ToString();
dr["2"] = mi.Subject;
dr["3"] = mi.CreationTime.ToString();
dr["4"] = isread;
dr["5"] = mi.Body;
dt.Rows.Add(dr);
i++;
this.label3.Text ="正在读取:"+ i.ToString();
this.label3.Refresh();
}
this.dataGridView1.DataSource = dt;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我估计你至少要有个独立外网ip或者是域名.再架设一个类似iis的服务端实时请求腾讯提空的qq邮箱接口获取数据.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询