c# - ews 找不到领域的 KDC
问题描述
我正在尝试使用 .net 核心在树莓派上运行以下 c# 代码,该代码在 Windows 上运行良好,并且完全符合我的要求。但是在 pi 上,它给了我一个涉及 kerberos 的奇怪异常。我过去曾使用此 pi 运行其他 .net 核心程序。
我的代码是:
using System;
using Microsoft.Exchange.WebServices.Data;
namespace Test
{
class Program
{
static void Main(string[] args)
{
// Create the binding to ews
ExchangeService service = new ExchangeService();
// Set the credentials for the user
service.Credentials = new WebCredentials("user@email.com", "password");
// Set the URL
service.Url = new Uri("https://email.com/ews/Exchange.asmx");
// Create a bew email
EmailMessage email = new EmailMessage(service);
// Set the recipiant to an email
email.ToRecipients.Add("user@email.com");
// Set the subject
email.Subject = "HelloWorld";
// Set the body
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API.");
email.Send();
}
}
}
但是,当我使用 dotnet core 将其发布到 linux-arm 然后在 pi 上运行时,我得到以下异常
Unhandled Exception: System.ComponentModel.Win32Exception: GSSAPI operation failed with error - An invalid status code was supplied (Cannot find KDC for realm "email.com").
at System.Net.HttpWebRequest.GetResponse()
at
Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse()
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest(IEwsHttpWebRequest& request)
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
at 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)
at Microsoft.Exchange.WebServices.Data.EmailMessage.InternalSend(FolderId parentFolderId, MessageDisposition messageDisposition)
at Microsoft.Exchange.WebServices.Data.EmailMessage.Send()
at Test.Program.Main(String[] args) in V:\visual studio stuff\Test\Test\Test\Program.cs:line 23
任何帮助都会很棒
解决方案
如果你需要 GSSApi,你应该安装gss-ntlmssp
Kerberos 插件的包。如果这不能解决,请查看这个似乎是您的GitHb 问题。
推荐阅读
- java - SQL如何在分组中查找具有最大created_date的行的ID
- reactjs - 使用 react.js 的 spring 身份验证发送乱码响应
- c# - 在运行时检测 MSIX 打包的应用程序
- angularjs - 如何在Angular js中中止挂起的api调用
- html - 我如何使用引导程序正确显示我的模态视频
- excel - 访问事件中的名称时发生 VBA 错误 1004
- flutter - 使用 Json 错误是 * type 'List
' 不是 'String' 类型的子类型* - android - 数据绑定生成的类内存不是很重吗?
- python - 使用 nodejs 的 Python 签名许可证验证
- c# - 导出到“C:/temp/”后,bitbucket 管道在哪里存储文件