【发布时间】: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 对象。")
我已验证 service、emailMessage.Id 和 props 的值不是 null。
【问题讨论】:
标签: c# email exchangewebservices eml