This commit is contained in:
2021-07-13 17:24:31 +02:00
parent 2d8f5fe192
commit 2936b1fcbd
145 changed files with 94345 additions and 118148 deletions

View File

@@ -22,7 +22,9 @@ Public Class clsWorkEmail
Logger = LogConf.GetLogger
MyLogger = LogConf
_email = New clsEmail(LogConf)
Logger.Debug("clsWorkmail _email initialized")
_DB_MSSQL = New clsDatabase(LogConf, ConStr)
Logger.Debug("clsWorkmail _email initialized")
_USE_WM = USE_WM
If USE_WM Then
_windream = New clsWindream_allgemein(LogConf)
@@ -38,15 +40,15 @@ Public Class clsWorkEmail
End Try
End Sub
Public Function WORK_MAIL(MyEmailMessage As Message)
Public Function WorkEmailMessage(MyEmailMessage As Message) As Boolean
Try
Logger.Debug($"Starting WORK_MAIL...")
Logger.Debug($"Working on email from: {MyEmailMessage.From.EmailAddress}...Subject: {MyEmailMessage.Subject}")
CURRENT_MAIL_BODY_ALL = ""
CURRENT_MAIL_BODY_ANSWER1 = ""
CURRENT_MAIL_BODY_Substr2 = ""
CURRENT_MAIL_MESSAGE = MyEmailMessage
CURRENT_MAIL_SUBJECT = MyEmailMessage.Subject.ToUpper
Logger.Debug($"Working on email from: {MyEmailMessage.From.EmailAddress}...")
If IsNothing(CURRENT_MAIL_SUBJECT) Then
CURRENT_MAIL_SUBJECT = ""
Else
@@ -72,10 +74,15 @@ Public Class clsWorkEmail
ElseIf MyEmailMessage.Subject.Contains("[ADDI]") Then
Else
Logger.Info(String.Format("No relation configured for this email - Subject[{0}]", CURRENT_MAIL_SUBJECT))
COMMON_EMAIL_IN()
Logger.Info("CommonEmail-Process-Sniffer")
If COMMON_EMAIL_IN() = True Then
INSERT_HISTORY_MSSQL()
Return True
Else
Return False
End If
End If
INSERT_HISTORY_MSSQL()
End If
End If
@@ -112,8 +119,10 @@ Public Class clsWorkEmail
WM_IDX_BODY_SUBSTR_LENGTH = row("WM_IDX_BODY_SUBSTR_LENGTH")
oDel_email = row("DELETE_MAIL")
COPY2HDD(row("COPY_2_HDD"), row("PATH_ORIGINAL"), row("PATH_EMAIL_ERRORS"), False)
EXTRACT_BODY()
If COPY2HDD(row("COPY_2_HDD"), row("PATH_ORIGINAL"), row("PATH_EMAIL_ERRORS"), False) = True Then
EXTRACT_BODY()
End If
Next
@@ -148,7 +157,7 @@ Public Class clsWorkEmail
Return False
End Try
End Function
Function COMMON_EMAIL_IN()
Function COMMON_EMAIL_IN() As Boolean
Try
Dim oDel_email As Boolean = False
Logger.Info(String.Format("COMMON_EMAIL_IN...Subject [{0}]", CURRENT_MAIL_MESSAGE.Subject))
@@ -178,8 +187,16 @@ Public Class clsWorkEmail
WM_IDX_BODY_TEXT = oDataRow("WM_IDX_BODY_TEXT")
WM_IDX_BODY_SUBSTR_LENGTH = oDataRow("WM_IDX_BODY_SUBSTR_LENGTH")
COPY2HDD(oDataRow("COPY_2_HDD"), oDataRow("PATH_ORIGINAL"), oDataRow("PATH_EMAIL_ERRORS"), True)
EXTRACT_ATTACHMENTS(oDataRow("PATH_EMAIL_TEMP"), oDataRow("PATH_EMAIL_ERRORS"))
If COPY2HDD(oDataRow("COPY_2_HDD"), oDataRow("PATH_ORIGINAL"), oDataRow("PATH_EMAIL_ERRORS"), True) = True Then
If EXTRACT_ATTACHMENTS(oDataRow("PATH_EMAIL_TEMP"), oDataRow("PATH_EMAIL_ERRORS")) = True Then
Return True
Else
Return False
End If
Else
Return False
End If
Next
If ClassCurrent.CURRENT_DEBUG_LOCAL_EMAIL = "" Then
@@ -253,7 +270,7 @@ Public Class clsWorkEmail
Return False
End Try
End Function
Private Function COPY2HDD(copy_2_hdd As Boolean, pathOriginal As String, pathemail_errors As String, messageid As Boolean)
Private Function COPY2HDD(copy_2_hdd As Boolean, pathOriginal As String, pathemail_errors As String, messageid As Boolean) As Boolean
Try
If copy_2_hdd = True Then
Logger.Debug("COPY_2_HDD is ACTIVE!")
@@ -269,9 +286,24 @@ Public Class clsWorkEmail
Dim cleanPath As String = String.Join("", oTempFilename.Split(Path.GetInvalidPathChars()))
If System.IO.File.Exists(cleanPath) = False Then
CURRENT_MAIL_MESSAGE.Save(cleanPath, True)
Logger.Info($"Email saved to ({cleanPath})")
Dim oFileInfo As New FileInfo(cleanPath)
Dim oFileLenth As Long = oFileInfo.Length
If oFileLenth > 0 Then
Logger.Info($"[COPY2HDD] Email saved to ({cleanPath})")
Return True
Else
Logger.Warn($"##!! oFileLenth is 0 !!##")
Try
File.Delete(cleanPath)
Catch ex As Exception
Logger.Error(ex)
End Try
Return False
End If
Else
Logger.Info("COPY2HDD - EMail (" & CURRENT_MAIL_MESSAGE.Subject & ") already existing!", False, "RUN_THREAD.COPY_2_HDD")
Return False
End If
End If
@@ -488,7 +520,7 @@ Public Class clsWorkEmail
Continue For
End If
Dim oAttachmentFileString
Logger.Debug(String.Format(" Working on Attachment [{0}]", oAttachment.GetFileName))
Logger.Info(String.Format(" Working on Attachment [{0}]", oAttachment.GetFileName))
Try
Dim oFilename = oAttachment.GetFileName
oFilename = CleanInput(oFilename)
@@ -503,9 +535,24 @@ Public Class clsWorkEmail
Logger.Debug(String.Format("Trying to save attachment [{0}]", oAttachmentFileString))
Try
oAttachment.Save(oAttachmentFileString)
Logger.Info(String.Format("Attachment saved to [{0}]", oAttachmentFileString))
INSERT_HISTORY_FB(oMSGID, oAttachment.GetFileName)
INSERT_HISTORY_ATTMT_MSSQL(oMSGID, oAttachment.GetFileName)
Dim oFileInfo As New FileInfo(oAttachmentFileString)
Dim oFileLenth As Long = oFileInfo.Length
If oFileLenth > 0 Then
Logger.Info(String.Format("Attachment saved to [{0}]", oAttachmentFileString))
INSERT_HISTORY_FB(oMSGID, oAttachment.GetFileName)
INSERT_HISTORY_ATTMT_MSSQL(oMSGID, oAttachment.GetFileName)
Else
Logger.Warn($"##!! oFileLenth for AttachmentObjects is 0 !!##")
Try
File.Delete(oAttachmentFileString)
Catch ex As Exception
Logger.Error(ex)
End Try
MessageError = True
Return False
End If
Catch ex As Exception
Logger.Warn($"Error while saving attachment-name: {ex.Message} - AttachmentName: {oAttachmentFileString}")
MessageError = True
@@ -557,7 +604,7 @@ Public Class clsWorkEmail
End Function
Private Function INSERT_HISTORY_MSSQL()
Private Function INSERT_HISTORY_MSSQL() As Boolean
If MessageError = False Then
Dim ins = $"INSERT INTO TBEMLP_HISTORY (WORK_PROCESS,EMAIL_MSGID,EMAIL_SUBJECT,EMAIL_DATE,EMAIL_BODY,EMAIL_SUBSTRING1,EMAIL_SUBSTRING2,EMAIL_FROM,PROFILE_ID) VALUES " &
$"('{CURRENT_MAIL_PROCESS_NAME}'," &
@@ -569,12 +616,13 @@ Public Class clsWorkEmail
$"'{CURRENT_MAIL_BODY_Substr2}'," &
$"'{CURRENT_MAIL_FROM}'," &
$"{CURRENT_PROFILE_GUID})"
_DB_MSSQL.Execute_non_Query(ins)
Return _DB_MSSQL.Execute_non_Query(ins)
Else
Logger.Info("! No INSERT_HISTORY as MessageError = True")
Return False
End If
End Function
Private Function INSERT_HISTORY_FB(oGUID As String, ATTMT1 As String)
Private Function INSERT_HISTORY_FB(oGUID As String, ATTMT1 As String) As Boolean
If IsNothing(_firebird) Then
Logger.Info("INSERT_HISTORY_FB: _firebird is nothing ")
Return False
@@ -591,10 +639,11 @@ Public Class clsWorkEmail
$"'{CURRENT_MAIL_BODY_ANSWER1}'," &
$"'{CURRENT_MAIL_BODY_Substr2}'," &
$"'{ATTMT1}')"
_firebird.ExecuteNonQuery(ins)
Return _firebird.ExecuteNonQuery(ins)
End If
Catch ex As Exception
Logger.Error(ex)
Return False
End Try
End Function