c # Programmgesteuertes Lesen von E-Mails vom Exchange-Server

8

Wenn Sie im Internet suchen, werden Sie sehr einfache Antworten finden für "Wie man E-Mails programmatisch liest" ... Die Webseiten erklären das meiste wie diese Seite. Ссылка

%Vor%

schlägt fehl, wenn die AutodiscoverURL-Zeile ausgeführt wird. Der Fehler lautet: "Der AutoErmittlungsdienst konnte nicht gefunden werden."

Also habe ich weiter gegoogelt und diese Seite von Microsoft gefunden Ссылка Hier können Sie testen Ihr Mailserver .... Wenn ich die Parameter übergebe, bekomme ich den Fehler unter ....

Aber ich verstehe immer noch nicht, was das Problem ist? Muss ich einen Datensatz zu DNS hinzufügen? Kann jemand helfen?

%Vor%     
ethem 09.03.2011, 17:15
quelle

4 Antworten

15

Sie müssen die automatische Erkennung nicht unbedingt verwenden, wenn Sie die Adresse Ihres Exchange-Servers bereits kennen. Versuchen Sie stattdessen Folgendes (weitere Informationen finden Sie hier :

%Vor%

Ersetzen Sie "hostname" durch den Hostnamen für Ihren Exchange-Server.

    
Can Gencer 09.03.2011, 20:31
quelle
2

Ich hoffe, Sie sollten jetzt die Lösung haben. Dies ist nur um jemandem zu helfen, der auf diesen Posten gestoßen ist.  Ich fand die Lösung auf einem der Technet Artikel < Ich werde versuchen, mir zu helfen, und funktioniert gut für mich.

Ersetzen Sie einfach die Zeile in Ihrem Code durch Folgendes:

%Vor%

Ich hatte einige andere Probleme, die aber nicht mit diesem Teil zusammenhingen.

Glückliche Kodierung,

Sanjay.

    
Sanjay Zalke 20.10.2011 17:11
quelle
1

Ich hatte das gleiche Problem mit AutoDiscover. Es ist nicht notwendig, Sie können Ihre URL wie

angeben %Vor%

Als Hostname können Sie die Server IP Adresse wie 192.168.100.10

setzen

Wenn Sie den Outlook-Hostnamen Ihres Exchange-Servers (in Wirklichkeit die gesamte URL) verwenden möchten, wenn Sie Outlook verwenden, können Sie alternativ zur Startleiste des Computers, auf der Datum und Uhrzeit angezeigt werden, das Outlook-Symbol finden Halten Sie die Strg-Taste gedrückt, klicken Sie mit der rechten Maustaste auf das Outlook-Symbol und klicken Sie auf "Automatische Konfiguration der E-Mail testen"

Aktivieren Sie das Kontrollkästchen "AutoDiscover verwenden". Geben Sie eine E-Mail-Adresse ein, die auf diesem Exchange-Server gehostet wird, zusammen mit seinem Passwort, und Sie erhalten eine Reihe von URLs. Verwenden Sie die 1, die "Availability Service URL"

sagt     
quelle
0

Beachten Sie, dass die übergebenen Anmeldeinformationen eine Berechtigung für das angegebene Exchange-Postfach / den Exchange-Server haben müssen. In meinem Fall funktioniert die Verwendung anderer Berechtigungsnachweise, die ordnungsgemäß aktiviert sind, aber nicht für ein Dienstkonto, das ich zur Arbeit bringen möchte. Sobald ich herausgefunden habe, für was genau der Account berechtigt sein muss, werde ich ihn hier aktualisieren.

Update: Mein Problem war, dass das Dienstkonto von einer Domäne stammt, die sich von der Domäne unterscheidet, auf der die Exchange 2007-Instanz ausgeführt wird, obwohl zwischen beiden eine Vertrauensstellung besteht. Ich habe festgestellt, dass dies ein bekanntes bekanntes Problem in Exchange 2007 ist, wie Konten in der Gesamtstruktur nachgeschlagen werden. Am Ende musste ein identisches Dienstkonto (name / pass) in der Domäne erstellt werden, auf der der Exchange-Server sitzt, und den Benutzernamen als {exchange_domain} {service_account_name} angeben. Der Windows-Dienst, der EWS aufruft, wird als {original_domain} {service_account_name} ausgeführt.

Als Referenz war die Ausnahme: Microsoft.Exchange.WebServices.Data.ServiceResponseException: Fehler beim Abrufen gültiger Active Directory-Informationen für das aufrufende Konto. Bestätigen Sie, dass es sich um ein gültiges Active Directory-Konto handelt.

    
Chris Amelinckx 01.12.2011 00:17
quelle