st0ne2thedge
Gebruiker
- Lid geworden
- 26 nov 2008
- Berichten
- 43
Om automatisch een smtp host te vinden om vervolgens die host te gebruiken om een email te verzenden had ik gedacht dat mn volgende code wel zou gelukt hebben...
... maar mijn computer flipt gwn ofzo, het kan ook zijn dat het gewoon lang duurt maar internet laadt dan ook niet meer
ps: het verzenden lukt als ik gewoon de juiste host opgeef dus de informatie die ik heb ingevoerd klopt.
Code:
Option Strict On
Option Explicit On
Imports System.Net.Mail
Imports System.Net.Mail.SmtpClient
Public Class FrmMain
Private mailMsg As MailMessage
Private WithEvents smtpCl As New SmtpClient
Private smtpLijst As New List(Of String)
Private userToken As Object
Private smtpNr As Integer
Private host As String
Public Sub New()
InitializeComponent()
smtpNr = 0
smtpLijst.Add("smtp.colt.net")
smtpLijst.Add("smtp.euronet.be")
smtpLijst.Add("smtp.antw.online.be")
smtpLijst.Add("smtp.brus.online.be")
smtpLijst.Add("uit.pandora.be")
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 100
End Sub
Private Sub SendMsg()
host = smtpLijst.Item(smtpNr)
mailMsg = New MailMessage("<eenemailadres>", "<eenemailadres>", "sqdfqsdf", "Deze mail verzendt autmomatisch via een automatisch gezochte smtp host")
smtpCl = New SmtpClient(host, 25)
Try
smtpCl.SendAsync(mailMsg, userToken)
Catch ex As Exception
If Not ex.GetBaseException.ToString.Contains(host) Then
MessageBox.Show(ex.Message)
Else
If Not smtpNr >= smtpLijst.Count - 1 Then
smtpNr += 1
smtpCl = Nothing
mailMsg = Nothing
SendMsg()
End If
End If
End Try
End Sub
Private Sub smtpCl_SendCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles smtpCl.SendCompleted
If e.Error IsNot Nothing Then
If Not smtpNr >= smtpLijst.Count - 1 Then
smtpNr += 1
smtpCl = Nothing
mailMsg = Nothing
SendMsg()
End If
Else
MsgBox("Verzonden")
End If
If e.Cancelled Then
MsgBox("Geannuleerd")
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVerzend.Click
SendMsg()
End Sub
Private Sub LblStatus_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles LblStatus.TextChanged
If LblStatus.Text.Contains("...") Then
LblStatus.Image = My.Resources.ajax_loader
Else
LblStatus.Image = Nothing
End If
End Sub
... maar mijn computer flipt gwn ofzo, het kan ook zijn dat het gewoon lang duurt maar internet laadt dan ook niet meer

ps: het verzenden lukt als ik gewoon de juiste host opgeef dus de informatie die ik heb ingevoerd klopt.