Imports System Imports Independentsoft.Email Imports Independentsoft.Email.Smtp Imports Independentsoft.Email.Mime Imports DigitalData.Modules.Logging Imports System.Net.Mail Imports System.Net Imports System.Net.Mime Public Class clsEmail Dim Logger As DigitalData.Modules.Logging.Logger Private Shared MailAktiv As Boolean = False Sub New(MyLogger As LogConfig) Logger = MyLogger.GetLogger() End Sub Public Function Email_Send(ByVal pMailSubject As String, ByVal pMailBody As String, pMailto As String, pMailfrom As String, pMailSmtp As String, pMailport As Integer, pMailUser As String, pMailPW As String, pAUTH_TYPE As String, Optional pAttment As String = "", Optional pTest As Boolean = False) Try Dim oError As Boolean = False Dim oReceipiants As String() If pMailto.Contains(";") Then oReceipiants = pMailto.Split(";") Else ReDim Preserve oReceipiants(0) oReceipiants(0) = pMailto End If For Each oMailReceipiant As String In oReceipiants Dim sClient = New Net.Mail.SmtpClient(pMailSmtp) Dim mymesssage As New MailMessage sClient.Port = pMailport If pAUTH_TYPE = "SSL" Then sClient.EnableSsl = True Else sClient.EnableSsl = False End If sClient.Credentials = New NetworkCredential(pMailUser, pMailPW) sClient.UseDefaultCredentials = False If pTest = True Then mymesssage.Body = $"This is the body (text will be replaced within profile)!
mailsmtp: {pMailSmtp}
mailport: {pMailport}
mailUser: {pMailUser}
mailPW: XXXX
AUTH_TYPE: {pAUTH_TYPE}" Else mymesssage.Body = pMailBody End If 'mymesssage.IsBodyHtml = True Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(mymesssage.Body) htmlView.ContentType = New System.Net.Mime.ContentType("text/html") mymesssage.AlternateViews.Add(htmlView) pAttment = pAttment.Replace("W:\", "\\windream\objects\") If pAttment <> String.Empty Then If System.IO.File.Exists(pAttment) Then Logger.Debug($"working on attachment {pAttment.ToString}...") Dim oAttachment As New System.Net.Mail.Attachment(pAttment) mymesssage.Attachments.Add(oAttachment) Else Logger.Warn($"Attachment {pAttment.ToString} is not existing - Mail won't be send!") oError = True End If End If mymesssage.From = New MailAddress(pMailfrom) mymesssage.Subject = pMailSubject mymesssage.To.Add(New MailAddress(oMailReceipiant)) sClient.Send(mymesssage) Logger.Info($"Email successfully send to: [{oMailReceipiant}]!") Logger.Debug($"Email successfully send to: [{oMailReceipiant}]!") Next If oError = False Then Return True Else Return False End If Catch ex As Exception Logger.Error(ex) Return False End Try End Function End Class