我有一个将Email转换成.eml格式的方法。
但是,EmailMessage.Bind的语句突然停止工作,没有任何错误。
下面是我的代码片段:
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‘in Microsoft.Exchange.WebServices.dll(“必须设置ExchangeService对象的Url属性”)。
我已经验证了service、emailMessage.Id和props值不是null。
发布于 2019-08-28 02:48:41
基于`EmailMessage.Bind的文档(.),它声明此方法将导致对Exchange的调用。
您创建了一个ExchangeService实例,但是没有为它提供一个URL (文档)。这是一项要求。抛出的异常将直接指向丢失的数据。
https://stackoverflow.com/questions/57683817
复制相似问题