Microsoft.Exchange.WebServices.Data.ServiceResponseException

本文关键字:ServiceResponseException Data WebServices Exchange Microsoft | 更新日期: 2023-09-27 18:22:14

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

var service=新的ExchangeService(ExchangeVersion.Exchange2010_SP2);服务UseDefaultCredentials=true;服务AutodiscoverUrl(Config.GetGroupMailbox(),RedirectionUrlValidationCallback);

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

这是堆栈跟踪:

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

感谢您的帮助/指导,

Sam

Microsoft.Exchange.WebServices.Data.ServiceResponseException

我发现问题并解决了。问题出在正在连接或试图连接的用户身上。

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

当我用实际的用户id和密码替换它时,一切都正常了:

service.UseDefaultCredentials = false;
service.Credentials = new WebCredentials(Config.GetEmailConnectionUserID(),
                                         Config.GetEmailConnectionPassword());
相关文章:
  • 没有找到相关文章