From 9683ec9643983a5a7d89caaa99ad37c7bdcf0ccc Mon Sep 17 00:00:00 2001 From: pitzm Date: Wed, 24 Jul 2024 13:39:38 +0200 Subject: [PATCH] Modules.Messaging: EMail-Adressen validieren --- Messaging/Limilab.vb | 4 ++-- Messaging/Mail/MailSender.vb | 22 +++++++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Messaging/Limilab.vb b/Messaging/Limilab.vb index 0d567c14..19c3b5bb 100644 --- a/Messaging/Limilab.vb +++ b/Messaging/Limilab.vb @@ -65,9 +65,9 @@ Public Class Limilab End Function - Private Function LOG_Limilab(Log_enabled As Boolean) As Boolean + Private Sub LOG_Limilab(Log_enabled As Boolean) Log.Enabled = Log_enabled - End Function + End Sub ''' ''' Tests connection to a given IMAP Server by connecting and doing a simple message query. diff --git a/Messaging/Mail/MailSender.vb b/Messaging/Mail/MailSender.vb index 6559ddc1..1e283ecf 100644 --- a/Messaging/Mail/MailSender.vb +++ b/Messaging/Mail/MailSender.vb @@ -40,8 +40,15 @@ Namespace Mail Try Dim oSuccessfulSends As New List(Of String) Dim oFailedSends As New List(Of String) + Dim oResult As Boolean For Each oSendToAddress In pSendTo - Dim oResult = SendMailTo(oSendToAddress, pSendFrom, pSubject, pBody, pCreationTime, pAttachments, pTest) + + If IsValidEmailAddress(oSendToAddress) Then + oResult = SendMailTo(oSendToAddress, pSendFrom, pSubject, pBody, pCreationTime, pAttachments, pTest) + Else + Logger.Warn("EMail adress [{0}] is NOT valid!", oSendToAddress) + oResult = False + End If If oResult = True Then oSuccessfulSends.Add(oSendToAddress & "|" & pSubject) @@ -143,6 +150,19 @@ Namespace Mail Return pMailBuilder End Function + + Private Function IsValidEmailAddress(pEmailAddress As String) As Boolean + Try + If pEmailAddress.Contains("@") Then + Dim oAddress = New System.Net.Mail.MailAddress(pEmailAddress) + Return oAddress.Address = pEmailAddress + Else + Return False + End If + Catch ex As Exception + Return False + End Try + End Function End Class End Namespace