我正在试图解决一个问题,在这个问题中,我有一些联系人信息作为Outlook的*.msg文件。我想要解析这些文件使用脚本提取联系电子邮件和姓名。我尝试了几种解决方案:
对如何解决这个问题有什么建议吗?
谢谢
苏雷什
发布于 2019-11-20 04:11:34
使用Apose.Email API,我们可以提取联系人电子邮件信息。你可以在你的头上试试这个,我累了,能够提取出这些信息
MapiMessage message = MapiMessage.FromFile(msgPath);
MapiPropertyCollection properties = message.NamedProperties;
foreach (KeyValuePair<long, MapiProperty> prop in properties)
{
if (((prop.Value).Descriptor).CanonicalName != null)
{
if (((prop.Value).Descriptor).CanonicalName == "PidLidEmail1DisplayName")
{
string email1displayName = prop.Value.ToString();
}
if (((prop.Value).Descriptor).CanonicalName == "PidLidEmail1EmailAddress")
{
string email1Address = prop.Value.ToString();
}
if (((prop.Value).Descriptor).CanonicalName == "PidLidInstantMessagingAddress")
{
string ADD = prop.Value.ToString();
}
}发布于 2016-02-05 18:43:01
RDOSession session = RedemptionLoader.new_RDOSession();
session.Logon();
RDOFolder folder = session.GetDefaultFolder(rdoDefaultFolders.olFolderContacts);
Console.WriteLine("Extracting contacts...");
foreach (RDOFolder subFolder in folder.Folders)
{
if (subFolder.Name == "CAS_Notifications")
{
foreach (var rdoItem in subFolder.Items)
{
RDOContactItem contactItem = rdoItem as RDOContactItem;
RDODistListItem distList = rdoItem as RDODistListItem;
if (distList != null)
{
Console.WriteLine("Distribution List");
foreach (RDOAddressEntry rdoAddressEntry in distList.OneOffMembers)
{
Console.WriteLine("Name: {0}; Email: {1}", rdoAddressEntry.Name, rdoAddressEntry.SMTPAddress);
}
}
else if (contactItem != null)
{
Console.WriteLine("Name: {0}; Email: {1}", contactItem.FullName, contactItem.Email1Address);
}
}
}
}发布于 2016-02-10 07:55:29
我们很抱歉这么晚才来找你。
您在使用Aspose时面临的实际问题是什么?该API提供读取Outlook联系人.MSG文件和分发列表的功能,而不需要安装MS。请看下列文献文章:
如果在使用API的最新版本检索所需信息时仍然面临问题,可以将查询连同样例MSG文件一起发布到Aspose.Email论坛。我们将在最后对这些问题进行调查,并进一步协助您。
我和Aspose一起工作,做开发人员的传道人。
https://stackoverflow.com/questions/35205979
复制相似问题