vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: HTML/Internet/Netzwerk · HTML/Email   |   VB-Versionen: VB.NET16.01.06
E-Mail versenden - mit Authentifizierung (VB.NET)

Dieser Tipp zeigt, wie man unter VB.NET E-Mails mit Anlagen versenden kann und zusätzlich SMTP-AUTH aktiviert.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  28.222 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Bereits vor längerer Zeit haben wir einen Code veröffentlicht, mit dem sich unter VB.NET E-Mails versenden lassen. Heute möchten wir den bestehenden Code etwas erweitern. Die meisten Mailserver verlangen mittlerweile eine Authentifizierung beim Anmelden, auch SMTP-AUTH genannt. Wie man das Ganze unter Verwendung der Web.Mail-Klasse erledigt, zeigt nachfolgender Code.

Um die Web.Mail-Klasse nutzen zu können, müssen Sie diese zunächst als Verweis hinzufügen (Eintrag System.Web.Mail).

Und hier jetzt der Code zum Versenden der Nachricht unter Verwendung von SMTP-AUTH:

Imports System.Web.Mail
...
Private Sub Button1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Button1.Click
 
  ' Neues MailMessage-Objekt
  Dim oMail As New MailMessage()
 
  ' SMTP-Server
  SmtpMail.SmtpServer = "Ihr_Mailserver"
 
  With oMail
    ' Absender
    .From = "Ihre_Mailadresse"
 
    ' Empfänger
    .To = "Empfänger_Mailadresse"
 
    ' Betreff
    .Subject = "Test-Nachricht"
 
    ' Nachricht
    .Body = "Dies ist eine Test-Nachricht"
 
    ' Anlagen hinzufügen
    .Attachments.Add(New MailAttachment("pfad_und_dateiname"))
 
    ' Erweiterte Mail-Einstellungen
    With .Fields
      ' SMTP-AUTH aktivieren
      .Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1)
 
      ' Benutzername und Kennwort festlegen
      .Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username")
      .Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password")
 
      ' ggf. noch Server-Port festlegen
      .Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 25)
    End With
  End With
 
  Try
    ' Nachricht senden
    SmtpMail.Send(oMail)
    MsgBox("Nachricht wurde versandt.")
 
  Catch oEx As Exception
    MsgBox("Fehler: " & oEx.Message.ToString)
 
  End Try
End Sub