VB.NET – Email per SMTP Server versenden

 in Anleitungen, Entwicklung



Heute möchte ich einen kurzen und knackigen Quellcode vorstellen mit dessen Hilfe du mit VB.NET eine Email versenden kannst.

Gemeinsam mit meiner letzten Anleitung „VB.NET Einstellungen in .INI Datei speichern und auslesen“ in der ich erklärt habe wie man div. Einstellungen in eine .INI Datei abspeichert, könnte man so die hart codierten Email-Einstellungen wie z.B. Emailadresse, SMTP Server, Port, Passwort, Empfänger und Co flexibel gestalten.

Bezüglich mehreren Empfängern wäre es möglich eine Multiple Message Box zu erstellen und die Emailadresse mit einem Komma getrennt einzutragen.
Beispiel: email1@mail.de, email2@maill,de, email3@mail.de

Mit einem Klick auf unseren Button versenden wir mit dem harten Code so die Email.
Mit der Fehleranalyse am Ende siehst du im Ernstfall auch direkt was du falsch gemacht bw. eingegeben hast.

Nach dem Quellcode biete ich noch ein Demoprojekt zum Download an. In dem Demoprojekt ist der unten stehende VB.NET Quellcode bereits mit dem letzten VB.NET Tutorial verknüpft enthalten.

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
Imports System.Net.Mail
 
Public Class Form1
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
Dim Msg As New MailMessage
Dim myCreds As New System.Net.NetworkCredential
myCreds.UserName = "deine@emailadresse.de" 'Füge hier deine Emailadresse hinzu
myCreds.Password = "*****" 'Dein Passwort
Msg.IsBodyHtml = False 'HTML deaktiviert oder mit True aktivieren
Dim mySmtpsrv As New SmtpClient()
mySmtpsrv.EnableSsl = True 'SSL aktivieren oder mit False deaktivieren
mySmtpsrv.Host = "smtp.server.com" 'Dein SMTP Server
mySmtpsrv.Port = 25 'Port deines SMTP Servers
mySmtpsrv.UseDefaultCredentials = False
mySmtpsrv.Credentials = myCreds
 
Try
 
Msg.From = New MailAddress("DeinAbsender@email.de") 'Absender festlegen. Generell deine Emailadresse
Msg.To.Add("Empfänger@email.de") 'Empfänger
Msg.Subject = "Betreff Text" 'Betreff der Email
Msg.Body = "Email Inhalt Text" 'Text der Email
mySmtpsvr.Send(Msg)
MsgBox("E-Mail erfolgreich gesendet.", MsgBoxStyle.Information, Title:="Information")
Catch ex As Exception
MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Wenn ein Fehler auftritt wird dieser angezeigt
 
End Try
End Sub
 
End Class

Download: Beispiel Projekt