3

ews を介して簡単なメールを送信すると、意図したとおりに機能します - 私のアカウントから私のアカウントへ:

ExchangeService ews = new ExchangeService(ExchangeVersion.Exchange2010);
ews.AutodiscoverUrl("myname@mydomain.com");
EmailMessage email = new EmailMessage(ews);
email.ToRecipients.Add("myname@mydomain.com");
email.Subject = "HelloWorld";
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API");
email.Send();

偽装を試みるだけで、意図したとおりに機能しています-最後の行で、偽装が許可されていないというエラーが返されます。

ExchangeService ews = new ExchangeService(ExchangeVersion.Exchange2010);
ews.AutodiscoverUrl("myname@mydomain.com");
ews.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "testuser@mydomain.com");
EmailMessage email = new EmailMessage(ews);
email.ToRecipients.Add("myname@mydomain.com");
email.Subject = "HelloWorld";
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API");
email.Send();

代わりに、アプリケーション サービス アカウントでログインを試みます。

ExchangeService ews = new ExchangeService(ExchangeVersion.Exchange2010);
ews.Credentials = new NetworkCredential("service", "1234", "mydomain.com");
//ews.Credentials = new WebCredentials("service", "1234");
ews.AutodiscoverUrl("myname@mydomain.com");
//ews.AutodiscoverUrl("service@mydomain.com");
ews.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "testuser@mydomain.com");
EmailMessage email = new EmailMessage(ews);
email.ToRecipients.Add("myname@mydomain.com");
email.Subject = "HelloWorld";
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API");
email.Send();

しかし、ここでは自動検出行にエラーがスローされます:「AutodiscoverLocalException: 自動検出サービスが見つかりませんでした。」

AD と Exchange でサービス アカウントが設定され、正しいパスワードと SMTP アドレスが使用されます。

なぜ機能しないのですか?そのエラーの原因を確認するにはどうすればよいですか?

4

3 に答える 3

0

これがローカル ドメインの場合はmydomainmydomain.com

私はそれを見つけた.com.local、私にとってはうまくいきませんでした。

Office365 サーバーの場合は、ドメインにnullまたはstring.Emptyを使用します。

于 2013-11-13T03:45:23.693 に答える