Forum: PC-Programmierung openpop email-uid


von grundschüler (Gast)


Lesenswert?

hallo,

ich versuche mich gerade an einem email-Verwaltungsprogramm in c#.
1
FileInfo filekk = new FileInfo(@"C:\ra_mail\inbox\" + pop3Client.GetMessageUid(i) + "");
2
          
3
message.Save( filekk );

führt zu:
1M1I6q-1nvmAM2Bze-0031TN.eml

ich hätte gerne so was:
00CA139D-0000238E.eml
- so wie livemail das speichert.

Wie kommt man auf diesen 64bit-Wert?


Danke für Unterstützung

von DerEgon (Gast)


Lesenswert?

Willst Du die eigentliche (vom Versender festgelegte) oder eine 
willkürliche (d.h. von Dir festgelegte) ID haben?

Letztere musst Du Dir selbst erzeugen, in der Win32-API gibt es 
Funktionen zum Erzeugen einer GUID -- die ist allerdings ein 
128-Bit-Wert, kein 64-Bit-Wert.

von grundschüler (Gast)


Lesenswert?

DerEgon schrieb:
> vom Versender festgelegt

Der Versender(oder livemail?) speichert emails mit 64bit-Kennung. Genau 
so will ich es haben. D.h. es soll  keinen Unterschied geben, ob per 
livemail oder openpop gespeichert.

Ich bräuchte den Algorithmus, der aus uid einen 64bit Wert macht.

Ich könnte mir was ausdenken. Z.B. alles weglassen was nicht Hexwert ist 
und gegebenenfalls mit Nullen auf 64bit auffüllen:
1M1I6q-1nvmAM2Bze-0031TN.eml
1161A2BE-00310000.eml

Lieber wären mir aber eindeutige Vorgaben.

von DerEgon (Gast)


Lesenswert?

Wer auch immer livemail oder openpop sein mögen.

Sieh Dir einfach mal eine Mail im Klartext an, dann wirst Du verstehen, 
was pop3Client.GetMessageUid() macht.

von c-hater (Gast)


Lesenswert?

grundschüler schrieb:

> Ich bräuchte den Algorithmus, der aus uid einen 64bit Wert macht.

Kleiner Tipp: Es handelt sich um ein im Mail-Bereich sehr gängiges 
Encoding, wenn auch mit einer kleinen, aber auch wieder recht üblichen 
Modifikation.
Und noch ein Tipp: die "-" sind in beiden Varianten der Message-ID nur 
zum Zweck besserer Menschenlesbarkeit eingefügt, also jeweils kein 
Bestandteil der eigentlichen ID.

von foobar (Gast)


Lesenswert?

Ich vermute mal (hab null Ahnung von Livemail), dass es sich um den 
Unterschied zwischen POP- und IMAP-UIDs handelt.

Siehe die Antwort hier:
  https://stackoverflow.com/questions/2543534/how-to-determine-the-uid-of-a-message-in-imap

Wie die generiert werden, ist den Programmen selbst überlassen - afaik 
gibt's da keinen Standard.

von Marc (gierig) Benutzerseite


Lesenswert?

grundschüler schrieb:

> ich hätte gerne so was:
> 00CA139D-0000238E.eml
> - so wie livemail das speichert.
>
> Wie kommt man auf diesen 64bit-Wert?

https://www.rfc-editor.org/rfc/rfc1939
Pop3 specs anschauen, uid werden von server generiert.
Mann nimmt was man bekommt…

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.