【问题标题】:C# Unable to Bind EmailMessageC# 无法绑定 EmailMessage
【发布时间】:2020-01-01 04:11:15
【问题描述】:

我有一个方法可以将Email 转换为.eml 格式。

但是,EmailMessage.Bind 的语句突然停止工作,没有任何错误。

下面是我的代码sn-p:

public static string convertEmailToEml(EmailMessage emailMessage, string caseNumber, string EMLSaveFilePath)
{
    Console.WriteLine(emailMessage.Subject); //correct value
    Console.WriteLine(caseNumber); //correct value
    Console.WriteLine(EMLSaveFilePath); //correct value
    Console.WriteLine(emailMessage.Id); //correct value


    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    PropertySet props = new PropertySet(EmailMessageSchema.MimeContent);

    var email = EmailMessage.Bind(service, emailMessage.Id, props); //not executed
    string emlFullPath = EMLSaveFilePath + caseNumber + ".eml"; //not executed

    Console.WriteLine(emlFullPath); //code not reached
    Console.ReadKey();

    using (FileStream fs = new FileStream(emlFullPath, FileMode.Create, FileAccess.Write))
    {
        fs.Write(email.MimeContent.Content, 0, email.MimeContent.Content.Length);
    }
    return emlFullPath;
}

请问有什么地方可以看吗?

解决方案构建时有warning消息如下,不确定它们是否链接:

发现同一个依赖的不同版本之间有冲突 无法解决的程序集。这些引用冲突是 当日志详细程度设置为详细时,在构建日志中列出。

在调试模式下抛出异常:

'Microsoft.Exchange.WebServices.Data.ServiceLocalException' 在 Microsoft.Exchange.WebServices.dll("Url 属性 必须设置 ExchangeService 对象。")

我已验证 serviceemailMessage.Idprops 的值不是 null

【问题讨论】:

    标签: c# email exchangewebservices eml


    【解决方案1】:

    基于the documentation for `EmailMessage.Bind(...),它声明此方法会导致对 Exchange Web 服务 (EWS) 的调用。

    您创建了ExchangeService 的实例,但没有提供指向它的 URL (documentation)。这是一个要求。抛出的异常直接将您指向丢失的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      相关资源
      最近更新 更多