vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2018
 
zurück
Rubrik: HTML/Internet/Netzwerk · HTML/Email   |   VB-Versionen: VB200805.10.10
MailTo String-Extension

Dieses Modul stellt eine MailTo Erweiterung für Strings zur Verfügung

Autor:   Roland WutzkeBewertung:     [ Jetzt bewerten ]Views:  11.858 
www.vb-power.netSystem:  Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Das nachfolgende Modul stellt eine MailTo Erweiterung für Strings zur Verfügung. Dabei wird zusätzlich per RegEx geprüft, ob es sich um eine gültige Mailadresse handelt, bevor der Standard Mailclient aufgerufen wird. Die Erweiterung ist Überladen, so dass zusätzlich noch der "Betreff" übergeben werden kann.

Der Vorteil der Extension liegt klar auf der Hand.

  1. Es wird sichergestellt, dass es sich um eine gültige Mailadresse handelt.
  2. Es wird automatisch immer der Standard Mailclient aufgerufen.

Nachfolgend das StringExtension Modul.
Fügen Sie Ihrem Projekt ein neues Modul hinzu und kopieren den Code in das Code-Fenster:

Imports System.Text
Imports System.Text.RegularExpressions
Imports System.Runtime.CompilerServices
 
''' <summary>
''' MailTo String-Extension
''' Das Modul stellt String-Erweiterungen für den Aufruf des
''' Standard-Mailclients zur Verfügung. Es wird geprüft, ob
''' der String eine gültige Mailadresse enthält, bevor der
''' Client gestartet wird.
''' 
''' Oktober 2010 - Vb-Power.net
''' http://www.vb-power.net
''' </summary>
''' <remarks>
''' Beispiele:
''' Dim s as String = "Theo@Tester.de".MailTo()
''' Dim s as String = "Theo@Tester.de".MailTo("Das ist ein Betreff")
''' </remarks>
Module StringExtension
  Private Const pattern As String = "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@" & _
    "[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"
  ''' <summary>
  ''' Überprüft einen String auf eine gültige eMail Adresse.
  ''' </summary>
  ''' <param name="value">Der zu überprüfende String.</param>
  ''' <returns>Liefert True für gültige Adresse, anderenfalls False.</returns>
  <Extension()> _
  Public Function IsValiedEMail(ByVal value As String) As Boolean
    Return Regex.Match(value, pattern).Success
  End Function
  ''' <summary>
  ''' Übergibt die Mailadresse an das Standard Mailprogramm des Systems.
  ''' </summary>
  ''' <param name="value">Eine gültige eMail Adresse.</param>
  ''' <returns>Liefert True zurück, wenn die Aktion ausgeführt werden konnte, 
  ''' anderenfalls False.</returns>
  ''' <remarks>Es wird ein Leer-String an die überladene Function übergeben.</remarks>
  <Extension()> _
  Public Function MailTo(ByVal value As String) As Boolean
    Return MailTo(value, String.Empty)
  End Function
  ''' <summary>
  ''' Übergibt die Mailadresse an das Standard Mailprogramm des Systems.
  ''' </summary>
  ''' <param name="value">Eine gültige eMail Adresse.</param>
  ''' <param name="Subject">Ein gültiger Betreff.</param>
  ''' <returns>Liefert True zurück, wenn die Aktion ausgeführt werden konnte, 
  ''' anderenfalls False.</returns>
  ''' <exception cref="Exception">Die Exception wird geworfen, wenn es sich um 
  ''' eine ungültige Mailadresse handelt, bzw die Process.Start Methode fehlschlägt. 
  ''' Siehe auch <seealso cref="Process.Start"></seealso></exception>
  <Extension()> _
  Public Function MailTo(ByVal value As String, ByVal Subject As String) As Boolean
    If value.IsValiedEMail Then
      Dim sb As New StringBuilder(value)
      sb.Insert(0, "mailto:")
      sb.AppendFormat("?subject={0}", Subject)
 
      Try
        Dim si As New ProcessStartInfo(sb.ToString)
        si.ErrorDialog = True
        Process.Start(si)
        Return True
      Catch ex As Exception
        Throw ex
      End Try
    Else
      Throw New Exception("Ungültige eMail Adresse")
    End If
  End Function
End Module

Aufrufbeispiel:

Dim s As String = "Theo@Tester.de".MailTo()
Dim s As String = "Theo@Tester.de".MailTo("Das ist ein Betreff")
Dim s As String = "..."
 
If Not s.IsValiedEMail() Then
  MsgBox("Sie haben eine ungültige Mailadresse eingegeben!", MsgBoxStyle.Information)
Else
  ' Mailclient starten
  s.MailTo()
End If

Dieser Tipp wurde bereits 11.858 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2018 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel