vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
sevMail 
Autor: vb__
Datum: 03.02.06 10:29

Hallo Dieter,

heute habe ich einen wichtigen Verbesserungsvorschlag für sevMail:

E-Mails sollten über die UIDL der Nachricht

- löschbar (DeleteMail) (extrem wichtig)
- abrufbar (FetchMail)
- vorhersehbar (PreviewMail)

sein.

Um dir das Leben einfacher zu machen (und damit das Feature auch schnell implementiert wird :
Da VB ja kein Überladen von Funktionen erlaubt, schreibst du eine DeleteMailByUIDL(UIDL As String)-Methode: Du schickst zunächst das UIDL Kommando an den Server, der dir mit einer Liste von Tupeln (Position, UIDL) antwortet. Jetzt suchst du in der Liste die UIDL, liest die entsprechende Position aus und löscht über die Position die E-Mail mit der normalen DeleteMail-Methode.

Was für einen Sinn macht es, diese Operationen mit UIDL-Unterstützung zur Verfügung zu stellen?
Normalerweise ist es so, dass wenn man sich einmal im TRANSACTION-Zustand befindet, kein anderer Client mehr Zugriff auf das Postfach haben kann. Daher tritt hier erstmal kein Problem auf, wenn man nur über die Position E-Mails löscht. Das Problem entsteht, wenn man einmal zum Client connectet, sich die Liste der Mails holt, und dann wieder disconnectet. Der User wählt eine E-Mail die er löschen möchte und es wird connected, eine E-Mail über die Position gelöscht und wieder disconnectet. Jetzt hat sich aber in der Zwischenzeit etwas im Postfach getan (neue E-Mails, E-Mails gelöscht etc.) und von daher wird die falsche E-Mail gelöscht, da sich die ursprüngliche Mail an einer anderen Position befindet. Die Folgen könnten fatal sein.

Ich weiß, dass das UIDL-Kommando in den RFC als optional gekennzeichnet ist. Dennoch ist mir kein Server bekannt, der UIDL nicht unterstützt. Um ganz sicher zu gehen, kann man auch mit CAPA die Fähigkeiten des Servers auflisten lassen; wenn UIDL unterstützt wird, steht es auch in der Liste der Fähigkeiten. Falls es wirklich mal nicht unterstützt werden sollte, gibt die DeleteMailByUIDL()-Methode einfach False zurück (und evtl. Aufruf des Error-/Status-Ereignis).

Was auch nicht schlecht wäre, wäre eine Möglichkeit, die Verbindung zum Server zu halten, also die Implementierung des NOOP-Kommandos.

Mit besten Grüßen

vb__
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
sevMail1.217vb__03.02.06 10:29
Re: sevMail756Robert6704.02.06 12:10
*AKTUELLER STAND*658vb__25.02.06 18:22
Re: *AKTUELLER STAND*768ModeratorDieter27.02.06 11:36
Re: sevMail774ModeratorDieter08.03.06 08:17
sevMail Fehlerbericht773vb__24.03.06 18:57
Re: sevMail Fehlerbericht803ModeratorDieter24.03.06 19:40
Re: sevMail Fehlerbericht725vb__25.03.06 00:55

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel