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
我发现问题并解决了。问题出在正在连接或试图连接的用户身上。
我已将服务设置为使用默认设置:服务UseDefaultCredentials=true;这意味着它将尝试作为运行进程的用户进行连接。
当我用实际的用户id和密码替换它时,一切都正常了:
service.UseDefaultCredentials = false;
service.Credentials = new WebCredentials(Config.GetEmailConnectionUserID(),
Config.GetEmailConnectionPassword());