微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#捕获Outlook电子邮件正文

编辑#2 —-
它编译得很好,但我得到一个调试错误
必须在此行上设置ExchangeService上的URL属性
在这代码
‘FindItemsResults findResults = service.FindItems(WellKNownFolderName.InBox,new ItemView(128));’
结束编辑#2 —-

编辑—
呃 – 我没有意识到我需要10个重复点来发布图像…让我给出一些错误.

1)找不到类型或命名空间’FindItemsResults’
2)找不到类型或命名空间名称“Item”
3)当前上下文中不存在名称“service”
4)找不到类型或命名空间“ItemView”

编辑—-

在这里看到了这篇文章How to get email body,receipt,sender and CC info using EWS?,正在看这个代码抽样

public class MailItem
{
    public string From;
    public string[] Recipients;
    public string Subject;
    public string Body;
}

public MailItem[] GetUnreadMailFromInBox()
{
    FindItemsResults<Item> findResults = service.FindItems(WellKNownFolderName.InBox,new ItemView(128));
    ServiceResponseCollection<GetItemResponse> items =
        service.BindToItems(findResults.Select(item => item.Id),new PropertySet(BasePropertySet.FirstClassproperties,EmailMessageSchema.From,EmailMessageSchema.ToRecipients));
    return items.Select(item =>
    {
        return new MailItem()
        {
            From = ((Microsoft.Exchange.WebServices.Data.EmailAddress)item.Item[EmailMessageSchema.From]).Address,Recipients = ((Microsoft.Exchange.WebServices.Data.EmailAddressCollection)item.Item[EmailMessageSchema.ToRecipients]).Select(recipient => recipient.Address).ToArray(),Subject = item.Item.Subject,Body = item.Item.Body.ToString(),};
    }).ToArray();
}

但是我得到了多个编译错误.如何使用C#读取电子邮件正文的非常明确的说明方式?

解决方法

认为您缺少对MS Exchange程序集Microsoft.Exchange.WebServices.dll的引用

或使用Microsoft.Exchange.WebServices.Data的using语句;

对于(3),您需要声明并初始化服务对象,如链接问题中所示.

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);

注意:您可以从Microsoft Exchange Web Services Managed API 2.0获取程序集

MSDN文档开始Code samples

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐