I'm using the following code to download EMails with VB6, but I can't figure out how to save an attachment. Any help appreciated.
Thanks
DS
' In general Declarations
Dim received As Boolean
Dim Message$
Dim sckError
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData Message$
Select Case Winsock1.Tag
Case "RETR"
Put #1, , Message$
If InStr(Message$, vbLf + "." + vbCrLf) Then
Close 1
received = True
End If
Case Else
sckError = (Left$(Message$, 3) = "-ER")
received = True
End Select
End Sub
Private Sub Winsock1_Close()
Winsock1.Close
End Sub
Private Sub cmdCheckMail_Click()
' LogIn to the server ~ get settings from outlook express
Winsock1.Connect "pop.freeserve.net", 110
Do Until received: DoEvents: Loop
if sckError then msgbox "An error occured trying to connect to server" : Exit sub
sendMsg "USER username" ' Send UserName
if sckError then Msgbox "Error with username" : Exit sub
sendMsg "PASS password" ' Send Password
if sckError then Msgbox "Error with password" : Exit sub
' Get Number of Messages and total size in bytes
sendMsg "STAT"
x = InStr(Message$, " "): b = InStrRev(Message$, " ")
Messages = Val(Mid$(Message$, x + 1, b - x))
Size = Val(Mid$(Message$, b + 1))
MsgBox "Number of messages to download " & Messages
' Download all messages
For a = 1 To Messages
' Winsock1_DataArrival will save message as "Email-1.eml", "Email-2.eml" etc
Winsock1.Tag = "RETR"
Open "C:\Windows\Temp\eMail-" & a & ".eml" For Binary Access Write As #1
sendMsg "RETR " & a
List1.AddItem "eMail " & a & ": Downloaded"
Next
Winsock1.Tag = ""
End Sub
Sub sendMsg(m$)
Winsock1.SendData m$ + vbCrLf
received = False
Do Until received
DoEvents
Loop
End Sub
Thanks
DS
' In general Declarations
Dim received As Boolean
Dim Message$
Dim sckError
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData Message$
Select Case Winsock1.Tag
Case "RETR"
Put #1, , Message$
If InStr(Message$, vbLf + "." + vbCrLf) Then
Close 1
received = True
End If
Case Else
sckError = (Left$(Message$, 3) = "-ER")
received = True
End Select
End Sub
Private Sub Winsock1_Close()
Winsock1.Close
End Sub
Private Sub cmdCheckMail_Click()
' LogIn to the server ~ get settings from outlook express
Winsock1.Connect "pop.freeserve.net", 110
Do Until received: DoEvents: Loop
if sckError then msgbox "An error occured trying to connect to server" : Exit sub
sendMsg "USER username" ' Send UserName
if sckError then Msgbox "Error with username" : Exit sub
sendMsg "PASS password" ' Send Password
if sckError then Msgbox "Error with password" : Exit sub
' Get Number of Messages and total size in bytes
sendMsg "STAT"
x = InStr(Message$, " "): b = InStrRev(Message$, " ")
Messages = Val(Mid$(Message$, x + 1, b - x))
Size = Val(Mid$(Message$, b + 1))
MsgBox "Number of messages to download " & Messages
' Download all messages
For a = 1 To Messages
' Winsock1_DataArrival will save message as "Email-1.eml", "Email-2.eml" etc
Winsock1.Tag = "RETR"
Open "C:\Windows\Temp\eMail-" & a & ".eml" For Binary Access Write As #1
sendMsg "RETR " & a
List1.AddItem "eMail " & a & ": Downloaded"
Next
Winsock1.Tag = ""
End Sub
Sub sendMsg(m$)
Winsock1.SendData m$ + vbCrLf
received = False
Do Until received
DoEvents
Loop
End Sub