Ik ben al een tijdje op zoek naar een super eenvoudig programmatje waarmee ik mail van me mailserver over kan pompen van me POP3 naar de SMTP van de Exchange server thuis. Nu zijn daar een hoop standaard programma's, maar niet gratis of doen veel meer dan dat ik nodig hebt.
Daarom heb ik code gezocht op internet en een beetje omgezet. Het resultaat:
Maar op de één of andere manier werkt het niet. Als ik met de debug mode ga kijken dan blijft hij in de WinsockSMTP.State loop hangen. Het lijkt er dus op dat hij niet kan connecten.
Ik weet voor de volle 100% zeker dat het niet aan mijn SMTP server ligt omdat deze gewoon alle mail van mijn domeinen kan ontvangen (heeft ook een backup MX record, en ontvangt perfect de mail).
Wat kan ik er nog aan doen om het één en ander aan te testen om te kijken waar de fout vandaan komt?
Daarom heb ik code gezocht op internet en een beetje omgezet. Het resultaat:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| Private Sub cmdSendSMTPMail_Click() sFrom$ = txtEMail.Text sTo$ = txtEMail.Text sSubject$ = "This is a test e-mail from Pop2Smtp" sMessage$ = "If you received this message, the SMTP settings are correct!" WinsockSMTP.RemoteHost = txtSmtpServer.Text WinsockSMTP.RemotePort = txtSmtpPort.Text WinsockSMTP.Connect Do Until WinsockSMTP.State = sckConnected: DoEvents: Loop sendSMTPMsg "HELO " & "maarten" sendSMTPMsg "MAIL FROM: <" & sFrom & ">" sendSMTPMsg "RCPT TO: <" & sTo & ">" sendSMTPMsg "DATA" mSMTP$ = mSMTP$ + "From: <" + sFrom + ">" + vbCrLf mSMTP$ = mSMTP$ + "To: <" + sTo + ">" + vbCrLf mSMTP$ = mSMTP$ + "Subject: " + sSubject$ + vbCrLf mSMTP$ = mSMTP$ + "Date: " + Format$(Now, "h:mm:ss") + vbCrLf mSMTP$ = mSMTP$ + "MIME-Version: 1.0" + vbCrLf mSMTP$ = mSMTP$ + "Content-Type: text/plain; charset=us-ascii" + vbCrLf + vbCrLf mSMTP$ = mSMTP$ + sMessage$ + vbCrLf + vbCrLf + "." + vbCrLf sendSMTPMsg mSMTP$ + "QUIT" WinsockSMTP.Close MsgBox "Testmassage send... Check your mail!" End Sub Private Sub WinsockSMTP_DataArrival(ByVal bytesTotal As Long) receivedSMTP = True End Sub Sub sendSMTPMsg(mSMTP$) WinsockSMTP.SendData mSMTP$ + vbCrLf receivedSMTP = False Do Until receivedSMTP DoEvents Loop End Sub |
Maar op de één of andere manier werkt het niet. Als ik met de debug mode ga kijken dan blijft hij in de WinsockSMTP.State loop hangen. Het lijkt er dus op dat hij niet kan connecten.
Ik weet voor de volle 100% zeker dat het niet aan mijn SMTP server ligt omdat deze gewoon alle mail van mijn domeinen kan ontvangen (heeft ook een backup MX record, en ontvangt perfect de mail).
Wat kan ik er nog aan doen om het één en ander aan te testen om te kijken waar de fout vandaan komt?
[ Voor 9% gewijzigd door Polderdijk op 17-02-2005 13:21 ]
Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!