如何读outlook *.msg文件,最好转化成html,xml

织网者Eric
.Net领域优质创作者
博客专家认证
2008-09-20 09:55:52
如何读outlook *.msg文件?
最近有个项目,要从公司收到的51job和chinahr邮件简历中提取信息,存入数据库。
现在的问题是,怎么把*.msg文件读出来。
我之前的策略是,把邮件另存为html,然后去读(已经完成)。
但是HR不原意去另存。
所以,现在要想办法把msg另存为html。

网上我找遍了,都是成熟的email格式转换软件,但是没有中间件。
如果有中间件,可以卖给我。

当然,代码更好。

100人民币收C#代码

网上最便宜的把msg转换为html的软件是14美元。相当于100人民币。

我的邮件:
zhouweiguang@hotmail.com
...全文
2209 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
织网者Eric 2008-10-18
  • 打赏
  • 举报
回复
My god, mailitem 直接就有save as方法,怎么就没有人知道。
织网者Eric 2008-10-18
  • 打赏
  • 举报
回复
My god, mailitem 直接就有save as方法,怎么就没有人知道。
现在的问题是,每次使用outlook,都有跳出一个提示框。(网上说,outlook2003就是这样的)。

结果,这个不符合上面的要求。

所以,只能直接读里面的文本。
ZengHD 2008-09-20
  • 打赏
  • 举报
回复
我要100元呢还是100分呢?
outlook应该有这方面的接口
fairy4 2008-09-20
  • 打赏
  • 举报
回复
我是有读取*.msg文件的代码,可惜,我不想卖!
你查查msdn应该可以得到一些帮助的。
这是其中的读取内容的一个函数,当然,怎么找到OUTLOOK里面的文件,那是你的事情了

public Outlook.MailItem olApp_Mail;
private void ReViewMailContent()
{
object refMissing = System.Reflection.Missing.Value;
string strFN;
int intdgIndex = 0;

MainForm.StatusBar1.Panels(0).Text = "Now, Opening the mail file! Please Wait...";
rtbMailContent.Text = "";
if (dgMailList.CurrentRowIndex == -1) {
MainForm.StatusBar1.Panels(0).Text = "Ready";
return; // TODO: might not be correct. Was : Exit Sub
}
else {
intdgIndex = (int)dgMailList.Item(dgMailList.CurrentRowIndex, 6);
olApp_Mail = MailCol.Item(intdgIndex);
if (bolActivateOutlook == false) {
if ((olApp.ActiveExplorer == null) == false) {
try {
Interaction.AppActivate(olApp.ActiveExplorer.Caption);
}
catch (Exception ex) {

}
}
bolActivateOutlook = true;
Timer1.Start();
}
try {
rtbMailContent.Text = "寄件人: " + olApp_Mail.SenderEmailAddress + " " + olApp_Mail.SentOn + Constants.vbCrLf;
rtbMailContent.Text += "收件時間: " & olApp_Mail.ReceivedTime + Constants.vbCrLf;
rtbMailContent.Text += "收件人: " & olApp_Mail.To + Constants.vbCrLf;
rtbMailContent.Text += "副本: " & olApp_Mail.CC + Constants.vbCrLf;
rtbMailContent.Text += "附件和附圖數量: " + olApp_Mail.Attachments.Count + Constants.vbCrLf;
rtbMailContent.Text += "主題: " + olApp_Mail.Subject + Constants.vbCrLf;
rtbMailContent.Text += Constants.vbCrLf;
rtbMailContent.Text += olApp_Mail.Body }
catch (Exception ex) {
MainForm.StatusBar1.Panels(0).Text = "System Error!";
return; }
}
MainForm.StatusBar1.Panels(0).Text = "Ready";

}

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧