Atom-Feed von Google Mail-Konto aus C # lesen

8

Ich habe ein Projekt, das eine E-Mail mit bestimmten Daten an ein Google Mail-Konto sendet. Ich denke, dass es wahrscheinlich einfacher ist, den Atom-Feed zu lesen, als über POP zu verbinden.

Die URL, die ich laut Google verwenden soll, lautet:

%Vor%

Die Frage / das Problem ist: Wie authentifiziere ich das E-Mail-Konto, das ich sehen möchte? Wenn ich es in Firefox mache, verwendet es die Cookies.

Ich bin auch unsicher, wie genau ich die XML-Datei "downloaden" soll, die diese Anfrage zurückgeben sollte (ich glaube, der richtige Begriff ist Stream).

Bearbeiten 1:

Ich verwende .Net 3.5.

    
Crash893 13.06.2009, 04:34
quelle

6 Antworten

6

Das habe ich in Vb.net benutzt:

%Vor%

objClient ist vom Typ System.Net.WebClient.

Sie können dann die E-Mails aus dem Feed mit etwas wie diesem erhalten:

%Vor%

Dies sollte in C # nicht sehr unterschiedlich sein.

    
alex 13.06.2009, 22:09
quelle
6

.NET Framework 3.5 bietet native Klassen zum Lesen von Feeds. Diese Artikel beschreibt, wie es geht.

Ich habe es noch nicht benutzt, aber es muss eine Bestimmung für die Authentifizierung einer URL geben. Sie können das überprüfen. Ich werde es auch tun und die Antwort zurücksenden.

Wenn Sie Framework 3.5 nicht verwenden, können Sie Atom.NET ausprobieren. Ich habe es einmal benutzt, aber es ist alt. Sie können es versuchen, wenn es Ihren Bedürfnissen entspricht.

EDIT: Dies ist der Code zum Zuweisen von Benutzeranmeldeinformationen:

%Vor%     
Kirtan 13.06.2009 04:44
quelle
2

Sie verwenden Basic Auth. Im Grunde genommen machst du eine erste Anfrage, der Server antwortet mit 401 und dann schickst du das Passwort in base64 zurück (in diesem Fall über HTTPS).

Beachten Sie jedoch Folgendes:

  1. Mit dem Feed können Sie nur triviale Informationen über das Konto erhalten (z. B. neue E-Mails). Sie können keine Nachrichten senden.
  2. POP kann auch nicht zum Senden von Nachrichten verwendet werden.
  3. Normalerweise wird SMTP verwendet, und es ist wirklich nicht so schwer.

EDIT: Hier ist ein Beispiel für die Authentifizierung und das Laden des Atom-Feeds in ein XmlDocument. Beachten Sie jedoch, dass nur Lesezugriff gewährt wird. Suchen oder stellen Sie eine andere Frage, um Informationen zu C # und SMTP zu erhalten. Der ICertificatePolicy-Junk war für mich notwendig, da Mono das Zertifikat von Google nicht mochte. Es ist eine schnelle Abhilfe, nicht für die Produktion geeignet.

Okay, da Sie geklärt haben, dass Sie tatsächlich E-Mails lesen (und eine andere Komponente sendet sie), empfehle ich Ihnen, POP zu verwenden. :

%Vor%     
Matthew Flaschen 13.06.2009 04:44
quelle
1

Für was es wert ist, konnte ich nie authentifizieren via:

%Vor%

Ich kann mich jedoch immer authentifizieren:

%Vor%

HTH !!

    
Gordon McAllister 16.06.2009 01:23
quelle
1

Die folgende Methode scheint zu funktionieren, um die Anzahl der ungelesenen Nachrichten zu überprüfen. Ich weiß überhaupt nicht viel über xml, so konnte ich die Ergebnisse nicht analysieren, außer die ungelesene Anzahl abzurufen. (Gibt -1 bei Fehler zurück)

%Vor%     
Brandon 15.01.2012 16:31
quelle
0

Hier ist meine schlanke und gemeine Lösung:

%Vor%     
Vladimir Georgiev 07.04.2010 11:56
quelle

Tags und Links