Microsoft.Exchange.WebServices.Data.ServiceResponseException:连接未成功。稍后再试

时间:2015-11-17 21:18:22

标签: c# .net exchange-server

我有一个相当简单的电子邮件,我需要使用Exchange服务器发送。这在本地工作,但在我发布到服务器时失败。这是我建立交换服务器链接的代码:

var service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); service.UseDefaultCredentials = true; service.AutodiscoverUrl(Config.GetGroupMailbox(),RedirectionUrlValidationCallback);

设置字段后,我只是调用.Send()但没有成功。

这是堆栈跟踪:

Microsoft.Exchange.WebServices.Data.ServiceResponseException:没有邮箱的用户无法使用SendOnly。使用SendAndSaveCopy并在邮箱中指定文件夹ID,以便从没有邮箱的帐户发送项目。    在Microsoft.Exchange.WebServices.Data.ServiceResponse.InternalThrowIfNecessary()    在Microsoft.Exchange.WebServices.Data.ExchangeService.InternalCreateItems(IEnumerable 1 items, FolderId parentFolderId, Nullable 1 messageDisposition,Nullable 1 sendInvitationsMode, ServiceErrorHandling errorHandling) at Microsoft.Exchange.WebServices.Data.Item.InternalCreate(FolderId parentFolderId, Nullable 1 messageDisposition,Nullable`1 sendInvitationsMode)    在Microsoft.Exchange.WebServices.Data.EmailMessage.InternalSend(FolderId parentFolderId,MessageDisposition messageDisposition)    在CCSSWorkflow.Models.EmailService.Send(EmailObject EmailObject,EmailSent EmailSentObject)

感谢您的帮助/指导,

萨姆

1 个答案:

答案 0 :(得分:2)

我找到了问题并解决了。问题出在连接或尝试连接的用户身上。

我已将服务设置为使用默认设置: service.UseDefaultCredentials = true; 这意味着它将尝试以运行该进程的用户身份进行连接。

当我用实际用户ID和密码替换它时,一切正常:

service.UseDefaultCredentials = false;
service.Credentials = new WebCredentials(Config.GetEmailConnectionUserID(),
                                         Config.GetEmailConnectionPassword());