Как использовать Microsoft.Exchange.WebServices? - PullRequest
2 голосов
/ 08 октября 2010

Я пытаюсь использовать: Microsoft.Exchange.WebServices.dll для использования Outlook. но ошибка возврата соединения

Ошибка возврата строки: service.AutodiscoverUrl ("myusernamek@xxxx.com");

Не удалось найти службу автообнаружения. мои коды:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;
using Microsoft.Exchange.WebServices.Data;
using Microsoft.Exchange.WebServices.Autodiscover;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Connect to Exchange Web Services as user1 at contoso.com.
                ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
                service.Credentials = new WebCredentials("myusernamek@xxxx.com", "mypassword", "xxxx.com");
                service.TraceEnabled = true;
                service.AutodiscoverUrl("myusernamek@xxxx.com");

                // Create the e-mail message, set its properties, and send it to user2@contoso.com, saving a copy to the Sent Items folder. 
                EmailMessage message = new EmailMessage(service);
                message.Subject = "Interesting";
                message.Body = "The proposition has been considered.";
                message.ToRecipients.Add("recipientname@xxxx.aero");
                message.SendAndSaveCopy();

                // Write confirmation message to console window.
                Console.WriteLine("Message sent!");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
                Console.ReadLine();
            }

        }
    }
}

alt text

Ответы [ 4 ]

2 голосов
/ 25 июня 2012

Я знаю, что это старый вопрос, но недавно столкнулся с этой и похожей ошибкой (включая ISA-сервер).Исправлено с помощью:

service.EnableScpLookup = false;

Это не требовалось при работе с явным URL, но было при использовании AutoDiscover

0 голосов
/ 20 июня 2013

Это распространенная проблема, ошибка службы автообнаружения возникает, когда эта служба автообнаружения при обмене не работает

Решение заключается в предоставлении фактического URL-адреса для местоположения обмена, а не в автоматическом обнаружении.

Эторешил ту же проблему.

0 голосов
/ 01 февраля 2013

попробуйте эти концепции:

private static ExchangeService getService(String userEmail, String login, String password, String hostName)
{
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010); 
    AutodiscoverService auservice = new AutodiscoverService(hostName);
    if (auservice.ServerInfo != null) 
    {
        try
        {
            service.AutodiscoverUrl(userEmail, RedirectionUrlValidationCallback);
        }
        catch (AutodiscoverRemoteException ex)
        {
            Console.WriteLine("Exception thrown: " + ex.Error.Message);
        }

    }
    else
    {
        service.Url = new Uri("https://" + hostName + "/EWS/Exchange.asmx");
    }

    service.UseDefaultCredentials = true;


    if (service.ServerInfo == null)
    {
        service.Credentials = new WebCredentials(login, password);
    }
    return service;
}
0 голосов
/ 08 октября 2010

Код предполагает наличие сервера Exchange 2007 ... Правильно ли он настроен для использования функций автообнаружения? Убедитесь, что вы можете пропинговать autodiscover.XXXX.com и просмотреть https://autodiscover.XXXX.com в веб-браузере.

Кроме того, вам может понадобиться использовать ваше внутреннее доменное имя для автоматического обнаружения и входа в систему. Например, в моем офисе внешние адреса электронной почты находятся в домене, подобном CompanyX.com, но внутренний домен Active Directory похож на CompanyX.local, и у нас нет автообнаружения в открытом Интернете, поэтому мой EWS должен найти Autodiscover.CompanyX.local.

...