Limilabs EmailsSrvice

This commit is contained in:
2021-10-22 15:24:52 +02:00
parent 0d23689f9a
commit ab628b66ac
4 changed files with 161 additions and 42 deletions

View File

@@ -14,11 +14,12 @@ Public Class EmailService
Private _Firebird As Firebird
Private _MSSQL As MSSQLServer
Private _MSSQL_Test As MSSQLServer
Private _Email As Email
Private _Encryption As EncryptionLegacy
Private _EmailQueue As BackgroundWorker
Private _QueueTimer As Timer
Private _AnyDatabaseInitialized As Boolean = False
Private _limilab As DigitalData.Modules.Messaging.Limilab
Private _messageSend As Boolean = False
Private Enum DatabaseType
Firebird
@@ -30,6 +31,7 @@ Public Class EmailService
' === Initialize Logger ===
_LogConfig = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, "Digital Data", "EmailService")
_LogConfig.Debug = My.Settings.DEBUG
_Logger = _LogConfig.GetLogger()
Try
Dim directory As New IO.DirectoryInfo(_LogConfig.LogDirectory)
@@ -93,7 +95,7 @@ Public Class EmailService
_Logger.NewBlock("Inititalize Email")
_Email = New Email(_LogConfig)
_limilab = New Limilab(_LogConfig)
_Logger.EndBlock()
@@ -216,7 +218,7 @@ Public Class EmailService
End If
Dim oEmailTo, oSubject, oBody As String
Dim oMailFrom, oMailSMTP, oMailport, oMailUser, oMailPW, oAuthType, oAttachment, ofromName, oErrorMsg
Dim oMailFrom, oMailSMTP, oMailport, oMailUser, oMailPW, oAuthType, oAttachment, ofromName, oErrorMsg, oMailADDED
Dim oAccountId, oGuid, oJobId As Integer
For Each oEmailToRow As DataRow In oEmailQueue.Rows
@@ -243,6 +245,7 @@ Public Class EmailService
oMailUser = oAccountRow.Item("EMAIL_USER")
oAuthType = oAccountRow.Item("AUTH_TYPE")
oMailPW = oAccountRow.Item("EMAIL_PW")
oMailADDED = ""
Case DatabaseType.MSSQL
oMailFrom = oAccountRow.Item("EMAIL_FROM")
@@ -252,6 +255,7 @@ Public Class EmailService
oMailUser = oAccountRow.Item("EMAIL_USER")
oAuthType = oAccountRow.Item("AUTH_TYPE")
oMailPW = oAccountRow.Item("EMAIL_PW")
oMailADDED = oAccountRow.Item("ADDED_WHEN").ToString
Try
oErrorMsg = IIf(IsDBNull(oAccountRow.Item("ERROR_MSG")), "", oAccountRow.Item("ERROR_MSG"))
Catch ex As Exception
@@ -322,10 +326,9 @@ Public Class EmailService
End If
Dim oEmailSent As Boolean = False
oEmailSent = _Email.New_EmailISoft(oSubject, oBody, oEmailTo, oMailFrom, ofromName, oMailSMTP, oMailport, oMailUser, oMailPW, oAuthType, "DDEmailService", oAttachment)
_messageSend = _limilab.NewSMTPEmail(oEmailTo, oSubject, oBody, oMailFrom, oMailSMTP, oMailport, oMailUser, oMailPW, oAuthType, "DDEmailService", oMailADDED, oAttachment)
If oEmailSent Then
If _messageSend Then
Select Case Database
Case DatabaseType.Firebird
@@ -352,9 +355,9 @@ Public Class EmailService
' End If
' _Firebird.ExecuteNonQuery(oSQL)
Case DatabaseType.MSSQL
oSQL = $"UPDATE TBEMLP_EMAIL_OUT SET ERROR_TIMESTAMP = GETDATE(),ERROR_MSG = '{_Email.Err_Message}' WHERE GUID = {oGuid} "
oSQL = $"UPDATE TBEMLP_EMAIL_OUT SET ERROR_TIMESTAMP = GETDATE(),ERROR_MSG = '{_limilab.ErrorMessage}' WHERE GUID = {oGuid} "
MSSQLInstance.ExecuteNonQuery(oSQL)
If _Email._msg_Send = True Then
If _messageSend = True Then
Select Case Database
Case DatabaseType.Firebird
oSQL = $"UPDATE TBEDM_EMAIL_QUEUE SET EMAIL_SENT = CURRENT_TIMESTAMP,COMMENT = '{oComment}' WHERE GUID = {oGuid}"