Moin, Moin...
Ich habe eine kleine Funktion mit der ich eine Mail versenden möchte. Leider klappt das nicht so, wie ich möchte.
Die Win-API-Funktionen und Datenstrukturen sind ordnungsgemäß deklariert.
<pre>
Sub SendeEMail()
Dim wsaData As WSDATA
Dim empfangen, sock, result As Long
Dim server As SOCKADDR
Dim szMail(8) As String
Dim szBuffer As String * 512
Dim i As Integer
szMail(1) = "HELO servername.de" & vbCrLf
szMail(2) = "MAIL FROM:<nger2@mail.de>" & vbCrLf & "SUBJECT: Eine Test-Mail" & vbCrLf
szMail(7) = "Diese Mail wurde mit den Windows-Socket-Funktionen versendet!!!" & vbCrLf & "." & vbCrLf
szMail(8) = "QUIT" & vbCrLf
WSAStartup &H101, wsaData
sock = socket(2, 1, 0)
server.sin_family = 2
server.sin_port = htons(25)
server.sin_addr = inet_addr("xxx.xxx.xxx.xxx")
result = connect(sock, server, Len(server))
Debug.Print "Resultat: connect(): " + Str$(result)
For i = 1 To 8
result = send(sock, szMail(i), Len(szMail(i)), 0&)
Debug.Print "send(): " + szMail(i)
empfangen = recv(sock, ByVal szBuffer, 512, 0&)
Debug.Print "recv(): " + szBuffer
Next i
closesocket sock
WSACleanup
End Sub
</pre>
Der Fehler liegt in der Zeile empfangen = recv(sock, ByVal szBuffer, 512, 0&). Beim zweiten Schleifendurchlauf gibt es Stillstand und einen Absturz. Woran liegt das?
Danke im voraus...
Ich habe eine kleine Funktion mit der ich eine Mail versenden möchte. Leider klappt das nicht so, wie ich möchte.
Die Win-API-Funktionen und Datenstrukturen sind ordnungsgemäß deklariert.
<pre>
Sub SendeEMail()
Dim wsaData As WSDATA
Dim empfangen, sock, result As Long
Dim server As SOCKADDR
Dim szMail(8) As String
Dim szBuffer As String * 512
Dim i As Integer
szMail(1) = "HELO servername.de" & vbCrLf
szMail(2) = "MAIL FROM:<nger2@mail.de>" & vbCrLf & "SUBJECT: Eine Test-Mail" & vbCrLf
szMail(7) = "Diese Mail wurde mit den Windows-Socket-Funktionen versendet!!!" & vbCrLf & "." & vbCrLf
szMail(8) = "QUIT" & vbCrLf
WSAStartup &H101, wsaData
sock = socket(2, 1, 0)
server.sin_family = 2
server.sin_port = htons(25)
server.sin_addr = inet_addr("xxx.xxx.xxx.xxx")
result = connect(sock, server, Len(server))
Debug.Print "Resultat: connect(): " + Str$(result)
For i = 1 To 8
result = send(sock, szMail(i), Len(szMail(i)), 0&)
Debug.Print "send(): " + szMail(i)
empfangen = recv(sock, ByVal szBuffer, 512, 0&)
Debug.Print "recv(): " + szBuffer
Next i
closesocket sock
WSACleanup
End Sub
</pre>
Der Fehler liegt in der Zeile empfangen = recv(sock, ByVal szBuffer, 512, 0&). Beim zweiten Schleifendurchlauf gibt es Stillstand und einen Absturz. Woran liegt das?
Danke im voraus...