77 lines
3.2 KiB
VB.net
77 lines
3.2 KiB
VB.net
Imports DigitalData.Modules.Logging
|
|
Imports DigitalData.Modules.Messaging
|
|
Imports DigitalData.Modules.Messaging.Mail
|
|
|
|
Public Class clsJob_Work
|
|
Dim Logger As Logger
|
|
Private MyLogger As LogConfig
|
|
Private _mail As MailSender
|
|
Public Sub New(MyLoggerConf As LogConfig, _email As MailSender)
|
|
Logger = MyLoggerConf.GetLogger()
|
|
MyLogger = MyLoggerConf
|
|
_mail = _email
|
|
End Sub
|
|
Public Function New_Mail_with_attachment(Email_receipiants As String, Email_subject As String, Email_Body As String, EmailProfil As Integer, DTTBDD_EMAIL As DataTable, Attachment_Filename As String)
|
|
Try
|
|
Logger.Debug("Email_Empfänger: " & Email_receipiants)
|
|
Logger.Debug("Email_Betreff: " & Email_subject)
|
|
Logger.Debug("Email_Body: " & Email_Body)
|
|
Logger.Debug("EMAIL_PROFIL: " & EmailProfil)
|
|
Dim oMAILFROM As String = ""
|
|
Dim oMAILSMTP As String = ""
|
|
Dim oMAIL_USER As String = ""
|
|
Dim oMAIL_USER_PW As String = ""
|
|
Dim oMAIL_AUTH_TYPE As String = "SSL"
|
|
Dim oMAIL_PORT As String = "25"
|
|
If IsNothing(DTTBDD_EMAIL) And DTTBDD_EMAIL.Rows.Count >= 1 Then
|
|
Logger.Warn("DT_TBDD_EMAIL is nothing or contains no rows")
|
|
Return False
|
|
End If
|
|
For Each emailrow As DataRow In clsCURRENT.DT_TBDD_EMAIL.Rows
|
|
If emailrow.Item("GUID") = CInt(EmailProfil) Then
|
|
oMAILFROM = emailrow.Item("EMAIL_FROM")
|
|
oMAILSMTP = emailrow.Item("EMAIL_SMTP")
|
|
oMAIL_USER = emailrow.Item("EMAIL_USER")
|
|
oMAIL_USER_PW = emailrow.Item("EMAIL_PW")
|
|
oMAIL_AUTH_TYPE = emailrow.Item("AUTH_TYPE")
|
|
oMAIL_PORT = emailrow.Item("PORT")
|
|
End If
|
|
Next
|
|
|
|
Dim owrapper As New clsEncryption("!35452didalog=")
|
|
|
|
Dim oPWPlain = owrapper.DecryptData(oMAIL_USER_PW)
|
|
If Not IsNothing(oPWPlain) Then
|
|
oMAIL_USER_PW = oPWPlain
|
|
Else
|
|
Logger.Warn("PWPlain is Nothing - Could not decrypt passwort 44")
|
|
Return False
|
|
End If
|
|
Dim oSendto As New List(Of String)
|
|
Dim oSplit = Email_receipiants.Split(";")
|
|
For Each oMailAdress In oSplit
|
|
oSendto.Add(oMailAdress)
|
|
Next
|
|
|
|
Dim oAttMt As New List(Of String)
|
|
If Attachment_Filename <> String.Empty Then
|
|
oAttMt.Add(Attachment_Filename)
|
|
End If
|
|
Dim oSession = _mail.Connect(oMAILSMTP, oMAIL_PORT, oMAIL_USER, oPWPlain, oMAIL_AUTH_TYPE)
|
|
If oSession.Connected = True Then
|
|
Logger.Info($"MAIL: Connection to {oMAILSMTP} successfull!")
|
|
If _mail.SendMail(oSendto, oMAILFROM, Email_subject, Email_Body, Now, oAttMt, 0) = True Then
|
|
Return True
|
|
|
|
Else
|
|
Logger.Warn("ConnectToServer was not successfull!")
|
|
Return False
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
End Class
|