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.
Nachfolgend das StringExtension Modul. 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 15.332 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
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. |