MS Mailhandling und Update Service

This commit is contained in:
SchreiberM 2024-03-20 13:34:36 +01:00
parent 45ca73af35
commit 7f35fecfa2
3 changed files with 30 additions and 19 deletions

View File

@ -10,6 +10,7 @@ Imports DigitalData.Modules.Messaging.Mail.MailSession
Public Class clsProfil Public Class clsProfil
Inherits clsCURRENT Inherits clsCURRENT
Dim Logger As Logger Dim Logger As Logger
Dim MyLogConfig As LogConfig
#Region "***** Variablen *****" #Region "***** Variablen *****"
Private Shared CriticalError As Boolean = False Private Shared CriticalError As Boolean = False
Private windream As clsWindream_allgemein Private windream As clsWindream_allgemein
@ -20,14 +21,15 @@ Public Class clsProfil
Private _email As MailSender Private _email As MailSender
Private Shared WD_aktivesDokument As WMObject Private Shared WD_aktivesDokument As WMObject
#End Region #End Region
Sub New(MyLogger As LogConfig, PROFIL_ID As Integer) Sub New(pLogConfig As LogConfig, PROFIL_ID As Integer)
Logger = MyLogger.GetLogger() Logger = pLogConfig.GetLogger()
windream = New clsWindream_allgemein(MyLogger) MyLogConfig = pLogConfig
windream_index = New clsWindream_Index(MyLogger) windream = New clsWindream_allgemein(pLogConfig)
_database = New clsDatabase(MyLogger) windream_index = New clsWindream_Index(pLogConfig)
_dateiverarbeitung = New clsDateiverarbeitung(MyLogger) _database = New clsDatabase(pLogConfig)
_email = New MailSender(MyLogger) _dateiverarbeitung = New clsDateiverarbeitung(pLogConfig)
_JobWork = New clsJob_Work(MyLogger, _email) _email = New MailSender(pLogConfig)
_JobWork = New clsJob_Work(pLogConfig, _email)
End Sub End Sub
Public Function Init(PROFIL_ID As Integer, pManual As Boolean) Public Function Init(PROFIL_ID As Integer, pManual As Boolean)
@ -279,28 +281,36 @@ Public Class clsProfil
oAttMt.Add(oAttachment_FullFilename) oAttMt.Add(oAttachment_FullFilename)
clsCURRENT.TEMP_FILES.Add(oAttachment_FullFilename) clsCURRENT.TEMP_FILES.Add(oAttachment_FullFilename)
End If End If
Logger.Debug("Now _email and Messaging...")
If Not IsNothing(_email) And _email.Connected2Server = False And MAILSession.Connected = True Then Dim oReInit As Boolean = False
Logger.Debug("Re/init MAILSession...") If oCountDocs = 1 Or IsNothing(MAILSession) Then
Logger.Debug("Init MAILSession...")
oReInit = True
ElseIf IsNothing(_email) Or _email.Connected2Server = False Or MAILSession.Connected = False Then
Logger.Info("Re-Init MAILSession...")
oReInit = True
End If
If oReInit = True Then
_email = New MailSender(MyLogConfig)
MAILSession = _email.Connect(MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE) MAILSession = _email.Connect(MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTH_TYPE)
If MAILSession.Connected = True Then If MAILSession.Connected = True Then
Logger.Info($"MAIL: Connection to {MAILSMTP} successfull!") Logger.Info($"MAIL: Connection to {MAILSMTP} successfull!")
Else Else
Logger.Warn($"{oFileRunNo} Email_ConnectToServer was not successfull!") Logger.Warn($"{oFileRunNo} - _email.Connect was not successfull!")
FileJobSuccessful = False FileJobSuccessful = False
End If End If
End If End If
If Not IsNothing(_email) And _email.SendMail(oSendto, MAILFROM, oEmail_Betreff, Email_Body, Now, oAttMt, 0) = True Then If Not IsNothing(_email) And _email.SendMail(oSendto, MAILFROM, oEmail_Betreff, Email_Body, Now, oAttMt, 0) = True Then
FileJobSuccessful = True FileJobSuccessful = True
Else Else
FileJobSuccessful = False FileJobSuccessful = False
Logger.Debug("Setting MAILSession.Connected to [false]") Logger.Info("Setting MAILSession.Connected to [false]")
MAILSession.Connected = False MAILSession.Connected = False
If IsNothing(_email) Then If IsNothing(_email) Then
Logger.Info($"_email is nothing") Logger.Info($"_email is nothing")
Else Else
Logger.Info($"{oFileRunNo} Email_SendMail was not successfull!") Logger.Info($"{oFileRunNo} - Email_SendMail was not successfull!")
End If End If
@ -363,7 +373,7 @@ Public Class clsProfil
'Für jeden File-Job 'Für jeden File-Job
For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows For Each DR_PR_FILE_JOB As DataRow In DT_PROFIL_FILE_JOB.Rows
If FileJobSuccessful = False Then If FileJobSuccessful = False Then
Logger.Info($"{oFileRunNo} AUSSTIEG FOR SCHLEIFE cause FileJobSuccessful = False...") Logger.Info($"{oFileRunNo} FileJobSuccessful = False...Exit For")
Exit For Exit For
End If End If
@ -495,6 +505,7 @@ Public Class clsProfil
Try Try
If Not IsNothing(_email) Then If Not IsNothing(_email) Then
If _email.Connected2Server = True Then If _email.Connected2Server = True Then
Logger.Warn("KEINE File-JOBS für Profil '" & _Profilname & "' angelegt!")
_email.Disconnect() _email.Disconnect()
End If End If

View File

@ -167,7 +167,7 @@ Public Class DDWDResultHandler
_PROFIL_ID = CInt(DR.Item("GUID")) _PROFIL_ID = CInt(DR.Item("GUID"))
_profil = New clsProfil(MyLogger, _PROFIL_ID) _profil = New clsProfil(MyLogger, _PROFIL_ID)
'Und nun das Profil durchlaufen 'Und nun das Profil durchlaufen
Dim initresult = _profil.Init(_PROFIL_ID) Dim initresult = _profil.Init(_PROFIL_ID, False)
If initresult = True Then If initresult = True Then
'##### Profildurchlauf ######## '##### Profildurchlauf ########
_profil.Profil_Durchlauf(False) _profil.Profil_Durchlauf(False)

View File

@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.0.0")> <Assembly: AssemblyVersion("2.4.0.0")>
<Assembly: AssemblyFileVersion("2.3.0.0")> <Assembly: AssemblyFileVersion("2.4.0.0")>