Hi,
ich habe ein Problem mit einer Funktion die eigentlich eine bestimmte E-Mail vom Server löschen soll, aber irgendwie klappt das nicht so wie es soll.Dim Daten As String
Public Function Mailsloeschen(nummer As Integer) As Boolean
Const Timeout = 45
Dim Start As Long
Start = Timer
With Winsock2
On Local Error Resume Next
.Close
DoEvents
'************CONNECTEN************
lblStatus.Caption = "Connecten und auf Hello warten"
.Protocol = sckTCPProtocol
.LocalPort = 0
.Connect "HIER KOMMT DER POP3 SERVER HIN", 110
Daten = ""
Do
DoEvents
If Timer - Start > Timeout Then GoTo Fehler
If Left$(Daten, 16) <> "+OK Hello there." And _
Daten <> "" Then GoTo Fehler
Loop Until Left$(Daten, 16) = "+OK Hello there."
'************USER DATEN SENDEN***********
.SendData "USER hier der Name der Box" & vbNewLine
lblStatus.Caption = "User Daten gesandt, warte auf Okay"
Daten = ""
Do
DoEvents
If Timer - Start > Timeout Then GoTo Fehler
If Left$(Daten, 21) <> "+OK Password required" And _
Daten <> "" Then GoTo Fehler
Loop Until Left$(Daten, 21) = "+OK Password required"
'************PW SENDEN************
.SendData "PASS hier das PW der Box" & vbNewLine
lblStatus.Caption = "Passwort gesandt, warte auf Okay"
Daten = ""
Do
DoEvents
If Timer - Start > Timeout Then GoTo Fehler
If Left$(Daten, 29) <> "+OK Connected to proxy server" And _
Daten <> "" Then GoTo Fehler
Loop Until Left$(Daten, 29) = "+OK Connected to proxy server"
'************DELE SENDEN************
.SendData "DELE " & nummer & vbNewLine
lblStatus.Caption = "Löschbefehl gesandt, warte auf Okay"
Daten = ""
Do
DoEvents
If Timer - Start > Timeout Then GoTo Fehler
If Left$(Daten, 11) <> "+OK Deleted" And _
Daten <> "" Then GoTo Fehler
Loop Until Left$(Daten, 11) = "+OK Deleted"
'************Verabschieden ;)************
.SendData "quit"
End With
lblStatus.Caption = "Mail gelöscht"
MsgBox "Okay, E-Mail gelöscht", vbInformation, "OKAY!!!"
Exit Function
Fehler:
lblStatus.Caption = "Fehler: " & Daten
MsgBox "Fehler: " & Daten, vbCritical, "Fehler"
End Function
Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Winsock2.GetData Daten
End Sub
Private Sub Command2_Click()
Dim nummer As Integer
nummer = InputBox("Nummer?")
Mailsloeschen (nummer)
End Sub Kann mir jemand sagen was daran flasch ist? Oder wie man sich erklären kann das die Funktion ohne Fehler durchläuft, aber die Naricht noch auf dem Server ist?
Vllt könnte jemand die Funktion mal mit seinem Anbieter testen und mir sagen ob es klappt oder nicht...wäre nett!
[u]Mein System online
MfG ICE-MAN
![](http://www.danasoft.com/sig/ICE-MAN.jpg) |