EMail abrufen mit C#

Diskutiere EMail abrufen mit C# im Developer Network Forum im Bereich Hardware & Software Forum; Hallo ihr Guten. Bin gerade am probieren, wie ich meine EMails mittels C# abrufen kann. Es funktioniert bereits alles. Abrufen, Listen...
  • EMail abrufen mit C# Beitrag #1
N

Nastarowje

Bekanntes Mitglied
Dabei seit
19.04.1999
Beiträge
378
Reaktionspunkte
0
Ort
Erfurt / Thüringen
Hallo ihr Guten.

Bin gerade am probieren, wie ich meine EMails mittels C# abrufen kann.

Es funktioniert bereits alles. Abrufen, Listen, Statistiken also die ganze Latte an POP3 Befehlen. Alles TOP.

Meine Frage ist jetzt,

ich rufe mit RETR Nr. <- Nummer der EMail eine EMail von meinem PopServer ab. Diese kommt an und wird korrekt dargestellt. Allerdings hat jetzt eine EMail einen Dateianhang. Diesen muss ich aber wieder in Form bringen. Nur weiß ich noch nicht wie. So richtig viel ist auch nicht zu finden diesbezüglich. Wenn ich einen Dateianhang habe, dann sieht der Inhalt in etwa so aus : Auszug

Code:
AHQALQBzAHQAeQBsAGUAOgBuAG8AcgBtAGEAbAB9AA0ACgBBAC4AVwBBAFIATgA6AGwAaQBuAGsA
LABBAC4AVwBBAFIATgA6AGEAYwB0AGkAdgBlACwAQQAuAFcAQQBSAE4AOgB2AGkAcwBpAHQAZQBk
ACwAQQAuAFcAIAB7AGMAbwBsAG8AcgA6ACMARgBGADYANgAzADMAOwB0AGUAeAB0AC0AcwB0AHkA
bABlADoAbgBvAHIAbQBhAGwAOwB0AGUAeAB0AC0AZABlAGMAbwByAGEAdABpAG8AbgA6AG4AbwBu
AGUAfQANAAoAQQAuAFcAQQBSAE4AXwBMAE4ASwA6AGwAaQBuAGsALABBAC4AVwBBAFIATgBfAEwA
TgBLADoAYQBjAHQAaQB2AGUALABBAC4AVwBBAFIATgBfAEwATgBLADoAdgBpAHMAaQB0AGUAZAAg
AHsAYwBvAGwAbwByADoAIwBGAEYANgA2ADMAMwA7AHQAZQB4AHQALQBzAHQAeQBsAGUAOgBuAG8A
cgBtAGEAbAB9AA0ACgBUAEEAQgBMAEUALgBSAEUARwAgAHsAYgBvAHIAZABlAHIALQBzAHQAeQBs
AGUAOgBzAG8AbABpAGQAOwBiAG8AcgBkAGUAcgAtAHcAaQBkAHQAaAA6ADAAcAB4ADsAcABhAGQA
ZABpAG4AZwA6ADAAcAB4ADsAZgBvAG4AdAAtAHMAaQB6AGUAOgA5AHAAdAA7AHcAaQBkAHQAaAA6
ADEAMAAwACUAfQANAAoAVABBAEIATABFAC4AUwBUAEEAVAAgAHsAYgBvAHIAZABlAHIALQBzAHQA

Ich weiß anhand des EMail Inhaltes, das es sich hierbei um eine HTML Datei handelt. Diese sieht jetzt aber so wie eben gezeigt aus und ist somit für mich nicht wieder zusammensetzbar. Wie gehe ich damit um, Wie kann ich meinen Anhang einlesen und abspeichern? Bin für alle Tipps und Codebeispiele sehr dankbar.


Schöne Grüße

Nastarowje
 
  • EMail abrufen mit C# Beitrag #2
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
in dem mime-header des anhangs steht bei content-transfer-encoding drin, wie es codiert wurde. dürfte base64 sein.
 
  • EMail abrufen mit C# Beitrag #3
N

Nastarowje

Bekanntes Mitglied
Dabei seit
19.04.1999
Beiträge
378
Reaktionspunkte
0
Ort
Erfurt / Thüringen
Hallo,

vielen Dank für die schnelle Info. Hast du Ahnung davon, wie ich den Anhang wieder herstellen kann? Wie gesagt, ich benutze c# und würde gerne auf externe Programme verzichten.



Schöne Grüße

Nastarowje
 
  • EMail abrufen mit C# Beitrag #4
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
hmm... es gibt sicherlich fertige bibliotheksfunktionen dafür. google weiß sicher mehr
 
  • EMail abrufen mit C# Beitrag #5
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Mit der Klasse System.Convert sollte es klappen. Da drin findest Du Methoden für die Umwandlung von und zu Base64.

System.Net.Mail und System.Net.Mime könnten Dich vielleicht auch intressieren.
 
  • EMail abrufen mit C# Beitrag #6
C

_chris

Neues Mitglied
Dabei seit
07.06.2010
Beiträge
3
Reaktionspunkte
0
Hey,

ich habe auch ein Problem beim abrufen der Mails mit C#.
Derzeit speichere ich den stream den ich über das POP3 Protokoll abrufe als

System.Text.Encoding.GetEncoding("iso-8859-1");

Bislang funktionierte das eigntlich auch für 95% der Mails die ich bekomme, allerdings gibt es da einen internen Mailserver, der irgendwelche merkwürdigen Mails verschickt ohne Content-Type,charset und Content-Transfer-Encoding im Header.

Zunächst dachte ich mir, das es dann womöglich am Mailserver liegt das ich die Mails nicht korrekt formatiert speichern kann, aber Mailclients wie Outlook oder Outlook Mail kommen damit irgendwie klar.

Ausschnitt aus dem Body der Mail mit Fehlcodierung

"Beim Öffnen einer .pdf-Datei erscheint die oben aufgeführte Fehlermeldung"

mit Windows Mail erstellte EML (Header und Body sind identisch, bis auf die Fehlcodierung)

"Beim Öffnen einer .pdf-Datei erscheint die oben aufgeführte Fehlermeldung"


die Mails enthalten keine boundary, nur einen klartext.



Meine Vermutung ist nun, das ich den Stream in einer falschen codierung speichere, allerdings weiß ich auch nicht welches die Standart Codierung für Mailfiles ist die ich über POP3 abrufe.
Evntl kann mir ja jmd hier helfen :)

Gruß Chris
 
  • EMail abrufen mit C# Beitrag #7
C

_chris

Neues Mitglied
Dabei seit
07.06.2010
Beiträge
3
Reaktionspunkte
0
Womöglich hab ich das Problem gefunden.

Es liegt wohl daran in welchem Format ich die Mails speichere, denn lustigerweise werden die Mails wenn ich sie mir im PSPad anguck korrekt dargestellt (utf-8) allerdings nicht in windows mail oder outlook express. Dort wird nur das für XP übliche ANSI korrekt angezeigt.
 
  • EMail abrufen mit C# Beitrag #8
C

_chris

Neues Mitglied
Dabei seit
07.06.2010
Beiträge
3
Reaktionspunkte
0
So,

hab das Problem gelöst indem ich manuell den charset als "utf-8" reingeschrieben habe wenn er nicht drinstand.

Sicherlich ein sehr spezifischer Fall aber ich hoffe mal das mir nich nochmehr solche mailserver unterkommen.
 
Thema:

EMail abrufen mit C#

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben