VB-Power.net

MailTo String-Extension


Snippets
Erstellt am 09 Oct 2010
VB.Net Code-Snippets, Klassen und mehr... >> Snippets

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(at)Tester(dot)de".MailTo()
''' Dim s as String = "Theo(at)Tester(dot)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(at)Tester(dot)de".MailTo()
Dim s As String = "Theo(at)Tester(dot)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

Letzte Änderung: 09 Oct 2010 at 22:00

Zurück
TOP Download !!!

DataGridView Control Extender

Erweitern Sie Ihr DataGridView mit 16 zusätzlichen Spaltentypen.


Weiterlesen...


TOP 5 Downloads
WpfOSMMap7084
Explorer TreeView mit VB.Net - Beispielprojekt5049
DataGridView Control Extender incl. VB2008 Demoprojekt4806
MCIFramework.dll3408
DataGridView Control Extender incl. VB2005 Demoprojekt3085
Powered by:

Powered By VB-Power.net