EWS托管API通过附件发送邮件获得响应

时间:2014-04-21 21:07:35

标签: exchangewebservices

当我发送消息时,我无法获得服务响应'对象,因为我使用发送邮件的功能并不支持它。

                    ServiceResponseCollection<ServiceResponse> response = service.CreateItems(new Collection<EmailMessage>() { EmailMsg }, WellKnownFolderName.SentItems, MessageDisposition.SendAndSaveCopy, null);

使用此代码时,如果我的某条消息有附件,则会向我发出此错误(此操作不支持包含附件的项目。)在发送没有附件的电子邮件时,它可以正常工作。

我可以选择使用它发送电子邮件,它可以正常使用附件,但它返回无效,因此我无法检查ServiceResponse。

EmailMsg.SendAndSaveCopy(WellKnownFolderName.SentItems); 

我需要返回一个ServiceReponse对象,或者只是一个带有附件的电子邮件的简单httpresponse。当我谷歌时,我甚至无法找到错误(此操作不支持包含附件的项目。)我正在使用EWS托管api 2.0并且它正在使用ExchangeServer 2007 sp1

1 个答案:

答案 0 :(得分:0)

在幕后,发送带附件的电子邮件的工作流程是:CreateItem,CreateAttachment,然后是SendItem。 ExchangeService.CreateItems是一批CreateItem调用,它不包含用于分解带附件的项目的工作流程。

我建议您构建两个集合:一个包含带附件的电子邮件,另一个包含没有附件的电子邮件。发送没有附件的电子邮件。您必须单独发送带附件的电子邮件,因为CreateAttachment没有批量选项。

由于EmailMessage.SendAndSaveCopy不返回具有状态的对象,我认为您需要依赖异常处理来确定是否已成功发送带有附件的电子邮件。