Bodyauswertung
This commit is contained in:
@@ -32,8 +32,8 @@ Public Class ClassCurrent
|
||||
|
||||
Public Shared CURRENT_MAIL_MESSAGE As Message
|
||||
Public Shared CURRENT_TEMP_MAIL_PATH As String
|
||||
Public Shared CURRENT_MAIL_BODY As String
|
||||
Public Shared CURRENT_MAIL_BODY_Substr1 As String = ""
|
||||
Public Shared CURRENT_MAIL_BODY_ALL As String
|
||||
Public Shared CURRENT_MAIL_BODY_ANSWER1 As String = ""
|
||||
Public Shared CURRENT_MAIL_BODY_Substr2 As String = ""
|
||||
Public Shared CURRENT_MAIL_SUBJECT As String = ""
|
||||
Public Shared CURRENT_MAIL_PROCESS_NAME As String
|
||||
@@ -57,4 +57,7 @@ Public Class ClassCurrent
|
||||
Public Shared MessageError As Boolean = False
|
||||
|
||||
Public Shared TEMP_FILES As List(Of String) = New List(Of String)
|
||||
Public Shared TEMP_HTML_RESULTS As List(Of String) = New List(Of String)
|
||||
|
||||
Public Shared CURRENT_DEBUG_LOCAL_EMAIL As String
|
||||
End Class
|
||||
|
||||
@@ -43,7 +43,8 @@
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DigitalData.Modules.Database">
|
||||
<Reference Include="DigitalData.Modules.Database, Version=1.0.0.4, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DigitalData.Modules.Logging">
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,8 +3,11 @@ Imports DigitalData.Modules.Logging
|
||||
Public Class clsDatabase
|
||||
Public connectionString As String
|
||||
Private Logger As Logger
|
||||
Private MyLogger As LogConfig
|
||||
|
||||
Sub New(LogConf As LogConfig, ConStr As String)
|
||||
Logger = LogConf.GetLogger
|
||||
MyLogger = LogConf
|
||||
Init(ConStr)
|
||||
End Sub
|
||||
Public Function Init(ConString As String)
|
||||
@@ -26,6 +29,7 @@ Public Class clsDatabase
|
||||
TIMER_INTERVALL = DTCONFIG.Rows(0).Item("CHECK_INTERVALL_MINUTES")
|
||||
End If
|
||||
End If
|
||||
MyLogger.Debug = LOG_ERRORS_ONLY
|
||||
DT_ECM_BASE_CONFIG = Return_Datatable("select * from TBDD_BASECONFIG")
|
||||
Try
|
||||
WM_DRIVE = DT_ECM_BASE_CONFIG.Rows(0).Item("WM_DRIVE")
|
||||
|
||||
@@ -16,30 +16,33 @@ Public Class clsEmailIMAP
|
||||
Try
|
||||
Logger.Info(String.Format("Working on IMAP_COLLECT....."))
|
||||
Logger.Debug(String.Format("Working on IMAP_COLLECT....."))
|
||||
Dim client As New ImapClient(MAIL_SERVER, MAIL_PORT)
|
||||
Dim oClient As New ImapClient(MAIL_SERVER, MAIL_PORT)
|
||||
|
||||
'If LOG_ERRORS_ONLY = False Then
|
||||
' Dim emaillogger As New Independentsoft.Email.Logger(My.Application.Info.DirectoryPath & "\Log\IDSoftMailLog.txt")
|
||||
' AddHandler emaillogger.WriteLog, AddressOf OnWriteLog
|
||||
'client.Logger = emaillogger
|
||||
'End If
|
||||
client.ValidateRemoteCertificate = False
|
||||
client.Connect()
|
||||
client.Login(MAIL_USER, MAIL_USER_PW)
|
||||
client.SelectFolder("Inbox")
|
||||
Dim envelopes As Envelope() = client.ListMessages()
|
||||
For i As Integer = 0 To envelopes.Length - 1
|
||||
If Not IsNothing(envelopes(i).Subject) Then
|
||||
oClient.ValidateRemoteCertificate = False
|
||||
oClient.Connect()
|
||||
oClient.Login(MAIL_USER, MAIL_USER_PW)
|
||||
oClient.SelectFolder("Inbox")
|
||||
Dim oEnvelopes As Envelope() = oClient.ListMessages()
|
||||
Dim oCount As Integer = 0
|
||||
For i As Integer = 0 To oEnvelopes.Length - 1
|
||||
If Not IsNothing(oEnvelopes(i).Subject) Then
|
||||
'If envelopes(i).Subject.ToString.ToUpper.Contains("[PROCESSMANAGER]") Or envelopes(i).Subject.ToString.ToUpper.Contains("[ADDI]") Then
|
||||
Logger.Info($"Working on email: UniqueID: {envelopes(i).UniqueID} - Subject:{envelopes(i).Subject} - Date {envelopes(i).Date.ToString}")
|
||||
Dim message As Mime.Message = client.GetMessage(envelopes(i).UniqueID)
|
||||
If Not IsNothing(message) Then
|
||||
MAIL_LIST.Add(message)
|
||||
Logger.Info($"Working on email: UniqueID: {oEnvelopes(i).UniqueID} - Subject:{oEnvelopes(i).Subject} - Date {oEnvelopes(i).Date.ToString}")
|
||||
Dim oMessage As Mime.Message = oClient.GetMessage(oEnvelopes(i).UniqueID)
|
||||
If Not IsNothing(oMessage) Then
|
||||
oCount += 1
|
||||
MAIL_LIST.Add(oMessage)
|
||||
End If
|
||||
'End If
|
||||
End If
|
||||
Next
|
||||
client.Disconnect()
|
||||
oClient.Disconnect()
|
||||
Logger.Debug($"{oCOUNT.ToString} messages will be worked..")
|
||||
Logger.Debug("IMAP_COLLECT finished!")
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
|
||||
@@ -19,30 +19,36 @@ Public Class clsEmail
|
||||
Public Function POP3_COLLECT() As Boolean
|
||||
Try
|
||||
Logger.Debug(String.Format("Working on POP3_COLLECT....."))
|
||||
Dim client As New Pop3Client(MAIL_SERVER, MAIL_PORT)
|
||||
Dim oClient As New Pop3Client(MAIL_SERVER, MAIL_PORT)
|
||||
|
||||
client.ValidateRemoteCertificate = False
|
||||
client.Connect()
|
||||
oClient.ValidateRemoteCertificate = False
|
||||
oClient.Connect()
|
||||
Logger.Debug(String.Format("..connected!"))
|
||||
client.Login(MAIL_USER, MAIL_USER_PW)
|
||||
oClient.Login(MAIL_USER, MAIL_USER_PW)
|
||||
|
||||
Dim messageInfo As MessageInfo() = client.List()
|
||||
Dim oMessageInfo As MessageInfo() = oClient.List()
|
||||
Dim oCOUNT As Integer = 0
|
||||
For i As Integer = 0 To oMessageInfo.Length - 1
|
||||
|
||||
For i As Integer = 0 To messageInfo.Length - 1
|
||||
Dim message As Message = client.GetMessage(messageInfo(i).Index)
|
||||
MAIL_LIST.Add(message)
|
||||
Try
|
||||
Logger.Debug(String.Format("Message [{0}] added", message.Subject))
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
Dim oMessage As Message = oClient.GetMessage(oMessageInfo(i).Index)
|
||||
Dim oMsgId_AlreadyExists As Boolean = False
|
||||
For Each pulled_msg As Message In MAIL_LIST
|
||||
If pulled_msg.MessageID = oMessage.MessageID Then
|
||||
oMsgId_AlreadyExists = True
|
||||
End If
|
||||
Next
|
||||
If oMsgId_AlreadyExists = False Then
|
||||
oCOUNT += 1
|
||||
MAIL_LIST.Add(oMessage)
|
||||
Logger.Debug(String.Format("Message [{0}] added to working Mail_List", oMessage.Subject))
|
||||
End If
|
||||
|
||||
|
||||
'client.Delete(messageInfo(i).Index)
|
||||
Next
|
||||
|
||||
client.Disconnect()
|
||||
Logger.Debug(String.Format(" POP3_COLLECT finished!"))
|
||||
Logger.Debug($"{oCOUNT.ToString} messages will be worked..")
|
||||
oClient.Disconnect()
|
||||
Logger.Debug(String.Format("POP3_COLLECT finished!"))
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
|
||||
@@ -174,7 +174,6 @@ Public Class clsWindream_allgemein
|
||||
Return objektTypenStr
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
Return objektTypenStr
|
||||
End Try
|
||||
|
||||
|
||||
@@ -5,8 +5,11 @@ Imports DigitalData.EMLProfiler.ClassCurrent
|
||||
Imports System.IO
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports System.Threading
|
||||
|
||||
Public Class clsWorkEmail
|
||||
Private Shared Logger As Logger
|
||||
Private MyLogger As LogConfig
|
||||
Private _email As clsEmail
|
||||
Private _Database As clsDatabase
|
||||
Private _windream As clsWindream_allgemein
|
||||
@@ -14,36 +17,62 @@ Public Class clsWorkEmail
|
||||
Private _firebird As Firebird
|
||||
Private _worked_email As Boolean = False
|
||||
Sub New(LogConf As LogConfig, ConStr As String, FB_DATASOURCE As String, FB_DATABASE As String, FB_USER As String, FB_PW As String)
|
||||
Logger = LogConf.GetLogger
|
||||
_email = New clsEmail(LogConf)
|
||||
_Database = New clsDatabase(LogConf, ConStr)
|
||||
_windream = New clsWindream_allgemein(LogConf)
|
||||
_windream_index = New clsWindream_Index(LogConf)
|
||||
_firebird = New Firebird(LogConf, FB_DATASOURCE, FB_DATABASE, FB_USER, FB_PW)
|
||||
Try
|
||||
Logger = LogConf.GetLogger
|
||||
MyLogger = LogConf
|
||||
If LogConf.Debug = False Then
|
||||
Logger.Info("Detail-Log is on")
|
||||
End If
|
||||
_email = New clsEmail(LogConf)
|
||||
_Database = New clsDatabase(LogConf, ConStr)
|
||||
_windream = New clsWindream_allgemein(LogConf)
|
||||
_windream_index = New clsWindream_Index(LogConf)
|
||||
If FB_DATASOURCE <> String.Empty Then
|
||||
_firebird = New Firebird(LogConf, FB_DATASOURCE, FB_DATABASE, FB_USER, FB_PW)
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
Public Function WORK_MAIL(msg As Message)
|
||||
Try
|
||||
CURRENT_MAIL_BODY = ""
|
||||
CURRENT_MAIL_BODY_Substr1 = ""
|
||||
CURRENT_MAIL_BODY_ALL = ""
|
||||
CURRENT_MAIL_BODY_ANSWER1 = ""
|
||||
CURRENT_MAIL_BODY_Substr2 = ""
|
||||
CURRENT_MAIL_MESSAGE = msg
|
||||
CURRENT_MAIL_SUBJECT = msg.Subject.ToUpper
|
||||
If IsNothing(CURRENT_MAIL_SUBJECT) Then
|
||||
CURRENT_MAIL_SUBJECT = ""
|
||||
End If
|
||||
SAVE2TEMP()
|
||||
|
||||
If CURRENT_MAIL_SUBJECT.Contains("[PROCESSMANAGER]") Then
|
||||
PROCESS_MANAGER_IN()
|
||||
ElseIf msg.Subject.Contains("[ADDI]") Then
|
||||
|
||||
Else
|
||||
Logger.Debug(String.Format("No relation configured for this email - Subject[{0}]", msg.Subject))
|
||||
COMMON_EMAIL_IN
|
||||
|
||||
Dim oTempMailExists As Boolean = SAVE2TEMP()
|
||||
'Checking wether Mail can be opened
|
||||
Dim oTempMailAccessible As Boolean = False
|
||||
If oTempMailExists = True Then
|
||||
Try
|
||||
Dim oFS As FileStream = File.OpenRead(CURRENT_TEMP_MAIL_PATH)
|
||||
oTempMailAccessible = True
|
||||
Catch ex As Exception
|
||||
Logger.Warn($"Could not read the Temp-Mail. Insufficient rights? Message: {ex.Message}")
|
||||
End Try
|
||||
If oTempMailAccessible = True Then
|
||||
If CURRENT_MAIL_SUBJECT.Contains("[PROCESSMANAGER]") Then
|
||||
PROCESS_MANAGER_IN()
|
||||
ElseIf msg.Subject.Contains("[ADDI]") Then
|
||||
|
||||
Else
|
||||
Logger.Debug(String.Format("No relation configured for this email - Subject[{0}]", msg.Subject))
|
||||
COMMON_EMAIL_IN()
|
||||
End If
|
||||
INSERT_HISTORY()
|
||||
End If
|
||||
End If
|
||||
INSERT_HISTORY
|
||||
|
||||
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Unexpected Error in WORK_MAIL: " & ex.Message & "MESSAGE_ID: " & msg.MessageID)
|
||||
@@ -65,10 +94,11 @@ Public Class clsWorkEmail
|
||||
WM_OBJEKTTYPE = row("WM_OBJEKTTYPE")
|
||||
WM_IDX_BODY_TEXT = row("WM_IDX_BODY_TEXT")
|
||||
WM_IDX_BODY_SUBSTR_LENGTH = row("WM_IDX_BODY_SUBSTR_LENGTH")
|
||||
oDel_email = row("DELETE_MAIL")
|
||||
|
||||
COPY2HDD(row("COPY_2_HDD"), row("PATH_EMAIL_TEMP"), row("PATH_EMAIL_ERRORS"), False)
|
||||
EXTRACT_BODY()
|
||||
oDel_email = row("DELETE_MAIL")
|
||||
|
||||
Next
|
||||
|
||||
If CURRENT_MAIL_SUBJECT.Contains("[PROCESSMANAGER][EA]") Then
|
||||
@@ -76,9 +106,9 @@ Public Class clsWorkEmail
|
||||
Logger.Debug(String.Format("Message referencing to EASY-APPROVAL...."))
|
||||
CURRENT_MAIL_PROCESS_NAME = "DD EasyApproval via Mail"
|
||||
|
||||
If CURRENT_MAIL_BODY_Substr1 <> "" Then
|
||||
If CURRENT_MAIL_BODY_ANSWER1 <> "" Then
|
||||
MessageError = False
|
||||
If GET_DOC_INFO() = True Then
|
||||
If GET_WMDOC_INFO() = True Then
|
||||
If DT_STEPS.Rows.Count > 0 Then
|
||||
WORK_POLL_STEPS()
|
||||
Else
|
||||
@@ -87,7 +117,10 @@ Public Class clsWorkEmail
|
||||
End If
|
||||
|
||||
End If
|
||||
EMAIL_DELETE(oDel_email)
|
||||
If ClassCurrent.CURRENT_DEBUG_LOCAL_EMAIL = "" Then
|
||||
EMAIL_DELETE(oDel_email)
|
||||
End If
|
||||
|
||||
End If
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
@@ -127,26 +160,67 @@ Public Class clsWorkEmail
|
||||
EXTRACT_BODY()
|
||||
oDel_email = row("DELETE_MAIL")
|
||||
Next
|
||||
EMAIL_DELETE(oDel_email)
|
||||
If ClassCurrent.CURRENT_DEBUG_LOCAL_EMAIL = "" Then
|
||||
EMAIL_DELETE(oDel_email)
|
||||
End If
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
'Logger.Debug("Unexpected Error in PROCESS_MANAGER_IN: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID)
|
||||
Return False
|
||||
'Logger.Debug("Unexpected Error in PROCESS_MANAGER_IN: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Private Function SAVE2TEMP()
|
||||
Try
|
||||
Dim oTempFilename As String = Path.Combine(Path.GetTempPath, CURRENT_MAIL_MESSAGE.GetFileName)
|
||||
Dim oTempPath As String = Path.Combine(Path.GetTempPath, "DD_EmailProfiler")
|
||||
If Directory.Exists(oTempPath) = False Then
|
||||
Directory.CreateDirectory(oTempPath)
|
||||
End If
|
||||
Dim oFileEntries As String() = Directory.GetFiles(oTempPath)
|
||||
' Process the list of files found in the directory.
|
||||
Dim oFileName As String
|
||||
For Each oFileName In oFileEntries
|
||||
Try
|
||||
File.Delete(oFileName)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
Next oFileName
|
||||
|
||||
Dim oResult As Boolean = False
|
||||
Dim oTempFilename As String = Path.Combine(oTempPath, CURRENT_MAIL_MESSAGE.GetFileName)
|
||||
Dim oCounter As Integer = 1
|
||||
|
||||
If File.Exists(oTempFilename) = True Then
|
||||
File.Delete(oTempFilename)
|
||||
Do While File.Exists(oTempFilename)
|
||||
oCounter += 1
|
||||
oTempFilename = Path.Combine(oTempPath, oCounter & "_" & CURRENT_MAIL_MESSAGE.GetFileName)
|
||||
Loop
|
||||
End If
|
||||
CURRENT_MAIL_MESSAGE.Save(oTempFilename, True)
|
||||
CURRENT_TEMP_MAIL_PATH = oTempFilename
|
||||
Logger.Debug($"Email saved to Temppath {CURRENT_TEMP_MAIL_PATH}")
|
||||
oCounter = 0
|
||||
Dim oCancel As Boolean
|
||||
Do While File.Exists(CURRENT_TEMP_MAIL_PATH) = False
|
||||
Thread.Sleep(1000)
|
||||
oCounter += 1
|
||||
If oCounter > 10 Then
|
||||
Logger.Warn("It took to long to save the mail to Temppath!")
|
||||
oCancel = True
|
||||
Exit Do
|
||||
End If
|
||||
Loop
|
||||
If oCancel = True Then
|
||||
oResult = False
|
||||
Else
|
||||
If File.Exists(CURRENT_TEMP_MAIL_PATH) Then
|
||||
oResult = True
|
||||
End If
|
||||
End If
|
||||
'Datei in Array zum Templöschen speichern
|
||||
TEMP_FILES.Add(oTempFilename)
|
||||
Return oResult
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
CURRENT_TEMP_MAIL_PATH = Nothing
|
||||
@@ -184,116 +258,190 @@ Public Class clsWorkEmail
|
||||
End Try
|
||||
End Function
|
||||
Private Function EXTRACT_BODY()
|
||||
Dim oDTFunctionRegex As DataTable = _Database.Return_Datatable("SELECT * FROM TBDD_FUNCTION_REGEX WHERE FUNCTION_NAME = 'EMAIL_PROFILER - BODY REMOVE NewLine'")
|
||||
If CURRENT_TEMP_MAIL_PATH <> Nothing Then
|
||||
If File.Exists(CURRENT_TEMP_MAIL_PATH) Then
|
||||
Dim msg_email As New Independentsoft.Email.Mime.Message(CURRENT_TEMP_MAIL_PATH)
|
||||
If IsNothing(msg_email.Body) Then
|
||||
Dim oAllBodyParts As New BodyPartCollection()
|
||||
oAllBodyParts.Add(msg_email.BodyParts)
|
||||
oAllBodyParts.Add(GetChildren(msg_email.BodyParts))
|
||||
TEMP_HTML_RESULTS.Clear()
|
||||
Dim oDTFunctionRegex As DataTable = _Database.Return_Datatable("SELECT * FROM TBDD_FUNCTION_REGEX WHERE FUNCTION_NAME IN ('EMAIL_PROFILER - RemoveHTMLText','EMAIL_PROFILER - BODY REMOVE NewLine','EMAIL_PROFILER - BODY_ANSWER_GROUP')")
|
||||
|
||||
For Each bodyPart As BodyPart In oAllBodyParts
|
||||
If bodyPart.ContentType IsNot Nothing AndAlso bodyPart.ContentType.Type = "text" AndAlso bodyPart.ContentType.SubType = "plain" Then
|
||||
Logger.Debug(String.Format("BODY1-Text is....#{0}", bodyPart.Body))
|
||||
If CURRENT_MAIL_BODY <> bodyPart.Body Then
|
||||
CURRENT_MAIL_BODY = bodyPart.Body
|
||||
End If
|
||||
|
||||
ElseIf bodyPart.ContentType IsNot Nothing AndAlso bodyPart.ContentType.Type = "text" AndAlso bodyPart.ContentType.SubType = "html" Then
|
||||
Logger.Debug(String.Format("bodyhtml....#{0}", bodyPart.Body))
|
||||
If CURRENT_MAIL_BODY = "" Then
|
||||
CURRENT_MAIL_BODY = bodyPart.Body
|
||||
Logger.Debug(String.Format("bodyhtml....#{0}", bodyPart.Body))
|
||||
Dim msg_email As New Independentsoft.Email.Mime.Message(CURRENT_TEMP_MAIL_PATH)
|
||||
If IsNothing(msg_email.Body) Then
|
||||
Dim oAllBodyParts As New BodyPartCollection()
|
||||
oAllBodyParts.Add(msg_email.BodyParts)
|
||||
oAllBodyParts.Add(GetChildren(msg_email.BodyParts))
|
||||
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
CURRENT_MAIL_BODY = msg_email.Body
|
||||
For Each bodyPart As BodyPart In oAllBodyParts
|
||||
If bodyPart.ContentType IsNot Nothing AndAlso bodyPart.ContentType.Type = "text" AndAlso bodyPart.ContentType.SubType = "plain" Then
|
||||
Logger.Debug(String.Format("BODY1-Text is....#{0}", bodyPart.Body))
|
||||
If CURRENT_MAIL_BODY_ALL <> bodyPart.Body Then
|
||||
CURRENT_MAIL_BODY_ALL = bodyPart.Body
|
||||
End If
|
||||
|
||||
ElseIf bodyPart.ContentType IsNot Nothing AndAlso bodyPart.ContentType.Type = "text" AndAlso bodyPart.ContentType.SubType = "html" Then
|
||||
Logger.Debug(String.Format("bodyhtml....#{0}", bodyPart.Body))
|
||||
If CURRENT_MAIL_BODY_ALL = "" Then
|
||||
CURRENT_MAIL_BODY_ALL = bodyPart.Body
|
||||
Logger.Debug(String.Format("bodyhtml....#{0}", bodyPart.Body))
|
||||
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Logger.Warn($"If cause 2: {CURRENT_TEMP_MAIL_PATH} not existing")
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
Logger.Warn($"EXTRACT_BODY If cause 1: CURRENT_TEMP_MAIL_PATH is NOTHING")
|
||||
CURRENT_MAIL_BODY_ALL = msg_email.Body
|
||||
End If
|
||||
If CURRENT_MAIL_BODY_ALL.StartsWith("<html") Then
|
||||
Try
|
||||
Dim pattern1 As String = ""
|
||||
For Each oRow As DataRow In oDTFunctionRegex.Rows
|
||||
If oRow.Item("FUNCTION_NAME") = "EMAIL_PROFILER - RemoveHTMLText" Then
|
||||
pattern1 = oRow.Item("REGEX")
|
||||
|
||||
End If
|
||||
Next
|
||||
If pattern1 = String.Empty Then
|
||||
Exit Try
|
||||
End If
|
||||
' Instantiate the regular expression object.
|
||||
Dim r As Regex = New Regex(pattern1, RegexOptions.Multiline)
|
||||
' Match the regular expression pattern against a text string.
|
||||
Dim m As Match = r.Match(CURRENT_MAIL_BODY_ALL)
|
||||
Dim oClearedBodyText = CURRENT_MAIL_BODY_ALL
|
||||
Do While m.Success
|
||||
oClearedBodyText = oClearedBodyText.Replace(m.Value, "")
|
||||
'Dim g As Group = m.Groups(1)
|
||||
'If g.ToString.StartsWith("&") = False Then
|
||||
' TEMP_HTML_RESULTS.Add(g.ToString())
|
||||
'End If
|
||||
|
||||
m = m.NextMatch()
|
||||
Loop
|
||||
Logger.Info($"Cleared bodytext is: {oClearedBodyText}")
|
||||
CURRENT_MAIL_BODY_ALL = Trim(oClearedBodyText)
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
'If TEMP_HTML_RESULTS.Count = 0 Then
|
||||
' Logger.Warn("HTML Recognition via Regex could not create a match within this mail - So the answer will interpreted as empty!")
|
||||
'End If
|
||||
End If
|
||||
Try
|
||||
'Dim oAllBodyParts As New BodyPartCollection()
|
||||
'oAllBodyParts.Add(CURRENT_MAIL_MESSAGE.BodyParts)
|
||||
'oAllBodyParts.Add(GetChildren(CURRENT_MAIL_MESSAGE.BodyParts))
|
||||
|
||||
'For Each bodyPart As BodyPart In oAllBodyParts
|
||||
' If bodyPart.ContentType IsNot Nothing AndAlso bodyPart.ContentType.Type = "text" AndAlso bodyPart.ContentType.SubType = "plain" Then
|
||||
' Logger.Debug(String.Format("BODY1-Text is....#{0}", bodyPart.Body))
|
||||
' CURRENT_MAIL_BODY = bodyPart.Body
|
||||
' ElseIf bodyPart.ContentType IsNot Nothing AndAlso bodyPart.ContentType.Type = "text" AndAlso bodyPart.ContentType.SubType = "html" Then
|
||||
' Logger.Debug(String.Format("bodyhtml....#{0}", bodyPart.Body))
|
||||
' If CURRENT_MAIL_BODY = "" Then
|
||||
' CURRENT_MAIL_BODY = bodyPart.Body
|
||||
' Logger.Debug(String.Format("bodyhtml....#{0}", bodyPart.Body))
|
||||
|
||||
' End If
|
||||
' End If
|
||||
'Next
|
||||
CURRENT_MAIL_BODY = Trim(CURRENT_MAIL_BODY)
|
||||
If CURRENT_MAIL_BODY = String.Empty Then
|
||||
If CURRENT_MAIL_BODY_ALL = String.Empty Then
|
||||
Logger.Warn("Mailbody is empty. Email can not be processed! - Please check the html-structure")
|
||||
Logger.Info("EXCEPTION - Mailbody is empty.Email can not be processed! - Please check the html-structure")
|
||||
MessageError = True
|
||||
Return False
|
||||
Else
|
||||
Logger.Debug($"Length of Body is [{CURRENT_MAIL_BODY_ALL.Length}] - Body Text is [{CURRENT_MAIL_BODY_ALL}]")
|
||||
End If
|
||||
Dim oFirstindex = CURRENT_MAIL_BODY.IndexOf(Chr(13))
|
||||
If IsNothing(oFirstindex) Then
|
||||
oFirstindex = CURRENT_MAIL_BODY.IndexOf(Chr(10))
|
||||
End If
|
||||
Logger.Debug(String.Format("firstindex....[{0}]", oFirstindex))
|
||||
Try
|
||||
CURRENT_MAIL_BODY_Substr1 = CURRENT_MAIL_BODY.Substring(0, oFirstindex)
|
||||
CURRENT_MAIL_BODY_Substr1 = RTrim(LTrim(CURRENT_MAIL_BODY_Substr1))
|
||||
Catch ex As Exception
|
||||
Logger.Warn("Error in Substring 144: " & ex.Message)
|
||||
Logger.Warn("CURRENT_MAIL_BODY: " & CURRENT_MAIL_BODY)
|
||||
Logger.Warn("oFirstindex: " & oFirstindex)
|
||||
CURRENT_MAIL_BODY_Substr1 = ""
|
||||
End Try
|
||||
|
||||
|
||||
Logger.Debug(String.Format("MailBody-Substring:...[{0}]", CURRENT_MAIL_BODY_Substr1))
|
||||
'now trying to get the text before Masterline
|
||||
If WM_IDX_BODY_TEXT <> String.Empty And WM_IDX_BODY_SUBSTR_LENGTH <> 0 And oDTFunctionRegex.Rows.Count = 1 Then
|
||||
Dim pattern As String = oDTFunctionRegex.Rows(0).Item("REGEX")
|
||||
|
||||
' Instantiate the regular expression object.
|
||||
Dim r As Regex = New Regex(pattern, RegexOptions.Multiline)
|
||||
|
||||
' Match the regular expression pattern against a text string.
|
||||
Dim m As Match = r.Match(CURRENT_MAIL_BODY)
|
||||
If m.Success Then
|
||||
If Not IsNothing(m.Value) Then
|
||||
If m.Value.Length > WM_IDX_BODY_SUBSTR_LENGTH Then
|
||||
Try
|
||||
Logger.Debug($"Getting the Substring of body - Length: {WM_IDX_BODY_SUBSTR_LENGTH}...")
|
||||
CURRENT_MAIL_BODY_Substr2 = m.Value.Substring(0, WM_IDX_BODY_SUBSTR_LENGTH)
|
||||
Catch ex As Exception
|
||||
Logger.Warn("Error in Substring 168: " & ex.Message)
|
||||
Logger.Warn("m.Value: " & m.Value)
|
||||
Logger.Warn("WM_IDX_BODY_SUBSTR_LENGTH: " & WM_IDX_BODY_SUBSTR_LENGTH.ToString)
|
||||
CURRENT_MAIL_BODY_Substr2 = ""
|
||||
End Try
|
||||
|
||||
Else
|
||||
Logger.Info($"m.Value.Length < WM_IDX_BODY_SUBSTR_LENGTH, so simply m.Value will be taken...")
|
||||
CURRENT_MAIL_BODY_Substr2 = m.Value
|
||||
End If
|
||||
|
||||
End If
|
||||
CURRENT_MAIL_BODY_ALL = CURRENT_MAIL_BODY_ALL.Replace(vbLf, "")
|
||||
Dim oSplit = CURRENT_MAIL_BODY_ALL.Split(Environment.NewLine)
|
||||
Dim oCount As Integer = 0
|
||||
Dim oReadLength As Integer = 0
|
||||
Dim oAnswer2 As String
|
||||
For Each ostr As String In oSplit
|
||||
ostr = ostr.Replace(vbCrLf, "")
|
||||
If ostr = String.Empty Then
|
||||
Continue For
|
||||
End If
|
||||
oCount += 1
|
||||
If oCount = 1 Then
|
||||
CURRENT_MAIL_BODY_ANSWER1 = ostr
|
||||
Else
|
||||
If oCount = 2 Then
|
||||
CURRENT_MAIL_BODY_Substr2 = ostr
|
||||
Else
|
||||
If ((oReadLength + ostr.Length) >= WM_IDX_BODY_SUBSTR_LENGTH) Or ostr.StartsWith("##") Then
|
||||
Exit For
|
||||
End If
|
||||
CURRENT_MAIL_BODY_Substr2 = CURRENT_MAIL_BODY_Substr2 & vbNewLine & ostr
|
||||
End If
|
||||
oReadLength += ostr.Length
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
Logger.Debug(String.Format("MailBody-Substring After RecognizeString:...[{0}]", CURRENT_MAIL_BODY_Substr2))
|
||||
'Dim oFirstindex = CURRENT_MAIL_BODY_ALL.IndexOf(Chr(13))
|
||||
'If IsNothing(oFirstindex) Then
|
||||
' oFirstindex = CURRENT_MAIL_BODY_ALL.IndexOf(Chr(10))
|
||||
'End If
|
||||
'Logger.Debug(String.Format("firstindex....[{0}]", oFirstindex))
|
||||
'If oFirstindex = -1 Then
|
||||
' Logger.Warn("Could not find the first carriage-return in Mail-Body. Email can not be processed!")
|
||||
' MessageError = True
|
||||
' Return False
|
||||
'End If
|
||||
'If CURRENT_MAIL_BODY_ALL.StartsWith("<html") Then
|
||||
' If TEMP_HTML_RESULTS.Count > 0 Then
|
||||
|
||||
' End If
|
||||
|
||||
|
||||
'Else
|
||||
' Try
|
||||
' CURRENT_MAIL_BODY_ANSWER1 = CURRENT_MAIL_BODY_ALL.Substring(0, oFirstindex)
|
||||
' CURRENT_MAIL_BODY_ANSWER1 = RTrim(LTrim(CURRENT_MAIL_BODY_ANSWER1))
|
||||
' Catch ex As Exception
|
||||
' Logger.Warn("Error in Substring 144: " & ex.Message)
|
||||
' Logger.Warn("CURRENT_MAIL_BODY: " & CURRENT_MAIL_BODY_ALL)
|
||||
' Logger.Warn("oFirstindex: " & oFirstindex)
|
||||
' CURRENT_MAIL_BODY_ANSWER1 = ""
|
||||
' End Try
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
|
||||
Logger.Debug(String.Format("MailBody-ANSWER1:...[{0}]", CURRENT_MAIL_BODY_ANSWER1))
|
||||
Logger.Debug(String.Format("MailBody-ANSWER2:...[{0}]", CURRENT_MAIL_BODY_Substr2))
|
||||
'now trying to get the text before Masterline
|
||||
'If WM_IDX_BODY_TEXT <> String.Empty And WM_IDX_BODY_SUBSTR_LENGTH <> 0 And oDTFunctionRegex.Rows.Count >= 1 Then
|
||||
' If CURRENT_MAIL_BODY_ALL.StartsWith("<html") Then
|
||||
' Dim oTempBodyString As String = ""
|
||||
' oCount = 0
|
||||
' For Each _oAnswer1 In TEMP_HTML_RESULTS
|
||||
' If oCount = 0 Then
|
||||
' oTempBodyString = _oAnswer1
|
||||
' Else
|
||||
' oTempBodyString &= vbNewLine & _oAnswer1
|
||||
' End If
|
||||
' oCount += 1
|
||||
' Next
|
||||
' CURRENT_MAIL_BODY_Substr2 = oTempBodyString
|
||||
|
||||
' Else
|
||||
' Dim pattern As String = oDTFunctionRegex.Rows(0).Item("REGEX")
|
||||
|
||||
' ' Instantiate the regular expression object.
|
||||
' Dim r As Regex = New Regex(pattern, RegexOptions.Multiline)
|
||||
|
||||
' ' Match the regular expression pattern against a text string.
|
||||
' Dim m As Match = r.Match(CURRENT_MAIL_BODY_ALL)
|
||||
' If m.Success Then
|
||||
' If Not IsNothing(m.Value) Then
|
||||
' If m.Value.Length > WM_IDX_BODY_SUBSTR_LENGTH Then
|
||||
' Try
|
||||
' Logger.Debug($"Getting the Substring of body - Length: {WM_IDX_BODY_SUBSTR_LENGTH}...")
|
||||
' CURRENT_MAIL_BODY_Substr2 = m.Value.Substring(0, WM_IDX_BODY_SUBSTR_LENGTH)
|
||||
' Catch ex As Exception
|
||||
' Logger.Warn("Error in Substring 168: " & ex.Message)
|
||||
' Logger.Warn("m.Value: " & m.Value)
|
||||
' Logger.Warn("WM_IDX_BODY_SUBSTR_LENGTH: " & WM_IDX_BODY_SUBSTR_LENGTH.ToString)
|
||||
' CURRENT_MAIL_BODY_Substr2 = ""
|
||||
' End Try
|
||||
|
||||
' Else
|
||||
' Logger.Info($"m.Value.Length [{m.Value.Length}] < WM_IDX_BODY_SUBSTR_LENGTH [{WM_IDX_BODY_SUBSTR_LENGTH}], so simply m.Value [{m.Value}] will be taken...")
|
||||
' CURRENT_MAIL_BODY_Substr2 = m.Value
|
||||
' End If
|
||||
|
||||
' End If
|
||||
' End If
|
||||
|
||||
|
||||
' Logger.Debug(String.Format("MailBody-Substring After RecognizeString:...[{0}]", CURRENT_MAIL_BODY_Substr2))
|
||||
' End If
|
||||
'End If
|
||||
If CURRENT_MAIL_BODY_ANSWER1 = String.Empty Then
|
||||
Logger.Warn("CURRENT_MAIL_BODY_ANSWER1 is String.Empty: So the answer will interpreted as empty!")
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
'clsLogger.Add("Unexpected Error in COPY2HDD: " & ex.Message & "MESSAGE_ID: " & CURRENT_MAIL_MESSAGE.MessageID, True)
|
||||
@@ -351,8 +499,8 @@ Public Class clsWorkEmail
|
||||
$"'{CURRENT_MAIL_MESSAGE.MessageID.Replace("<", "").Replace(">", "")}'," &
|
||||
$"'{CURRENT_MAIL_MESSAGE.Subject}'," &
|
||||
$"'{CURRENT_MAIL_MESSAGE.Date}'," &
|
||||
$"'{CURRENT_MAIL_BODY}'," &
|
||||
$"'{CURRENT_MAIL_BODY_Substr1}'," &
|
||||
$"'{CURRENT_MAIL_BODY_ALL}'," &
|
||||
$"'{CURRENT_MAIL_BODY_ANSWER1}'," &
|
||||
$"'{CURRENT_MAIL_BODY_Substr2}')"
|
||||
_Database.Execute_non_Query(ins)
|
||||
|
||||
@@ -366,8 +514,8 @@ Public Class clsWorkEmail
|
||||
$"'{CURRENT_MAIL_MESSAGE.From.EmailAddress}'," &
|
||||
$"'{CURRENT_MAIL_MESSAGE.Subject}'," &
|
||||
$"'{CURRENT_MAIL_MESSAGE.Date}'," &
|
||||
$"'{CURRENT_MAIL_BODY}'," &
|
||||
$"'{CURRENT_MAIL_BODY_Substr1}'," &
|
||||
$"'{CURRENT_MAIL_BODY_ALL}'," &
|
||||
$"'{CURRENT_MAIL_BODY_ANSWER1}'," &
|
||||
$"'{CURRENT_MAIL_BODY_Substr2}'," &
|
||||
$"'{ATTMT1}')"
|
||||
_firebird.ExecuteNonQuery(ins)
|
||||
@@ -403,7 +551,7 @@ Public Class clsWorkEmail
|
||||
KEYWORDS_SPLIT = POLL_KEYWORDS.Split(";")
|
||||
|
||||
For Each str As String In KEYWORDS_SPLIT
|
||||
If CURRENT_MAIL_BODY_Substr1.ToUpper = str.ToUpper Then
|
||||
If CURRENT_MAIL_BODY_ANSWER1.ToUpper = str.ToUpper Then
|
||||
_worked_email = True
|
||||
Logger.Info(String.Format("Found Keyword '{0}' in MessageBody", str))
|
||||
Dim sql As String = String.Format("SELECT * FROM TBEMLP_POLL_INDEXING_STEPS WHERE STEP_ID = {0} AND ACTIVE = 1", POLL_STEP_GUID)
|
||||
@@ -431,6 +579,7 @@ Public Class clsWorkEmail
|
||||
IndexFile(WM_VECTOR_LOG, msg, False)
|
||||
End If
|
||||
'Now indexing the Body-Message Index
|
||||
|
||||
If CURRENT_MAIL_BODY_Substr2 <> String.Empty And WM_IDX_BODY_TEXT <> String.Empty Then
|
||||
IndexFile(WM_IDX_BODY_TEXT, CURRENT_MAIL_BODY_Substr2, True)
|
||||
End If
|
||||
@@ -511,22 +660,22 @@ Public Class clsWorkEmail
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Function GET_DOC_INFO()
|
||||
Private Function GET_WMDOC_INFO()
|
||||
Try
|
||||
Dim DOC_ID = REGEX_CHECK_DOC_ID(CURRENT_MAIL_SUBJECT)
|
||||
If Not IsNothing(DOC_ID) Then
|
||||
Dim DT_BASE_ATTR As DataTable = _Database.Return_DatatableCS("SELECT * FROM BaseAttributes WHERE dwDocID = " & DOC_ID, WM_CON_STRING)
|
||||
If Not IsNothing(DT_BASE_ATTR) Then
|
||||
If DT_BASE_ATTR.Rows.Count = 1 Then
|
||||
CURRENT_DOC_ID = DOC_ID
|
||||
Dim sql = String.Format("Select[dbo].[FNDD_GET_WINDREAM_FILE_PATH]({0},'{1}')", CURRENT_DOC_ID, WM_DRIVE)
|
||||
CURRENT_DOC_PATH = _Database.Execute_Scalar(sql)
|
||||
Logger.Debug("CURRENT_DOC_PATH: " & CURRENT_DOC_PATH)
|
||||
Dim oDOC_ID = REGEX_CHECK_DOC_ID(CURRENT_MAIL_SUBJECT.Replace("10636", "133092").Replace("10644", "133092"))
|
||||
If Not IsNothing(oDOC_ID) Then
|
||||
Dim oDT_BASE_ATTR As DataTable = _Database.Return_DatatableCS("SELECT * FROM BaseAttributes WHERE dwDocID = " & oDOC_ID, WM_CON_STRING)
|
||||
If Not IsNothing(oDT_BASE_ATTR) Then
|
||||
If oDT_BASE_ATTR.Rows.Count = 1 Then
|
||||
CURRENT_DOC_ID = oDOC_ID
|
||||
Dim oSql = String.Format("Select[dbo].[FNDD_GET_WINDREAM_FILE_PATH]({0},'{1}')", CURRENT_DOC_ID, WM_DRIVE)
|
||||
CURRENT_DOC_PATH = _Database.Execute_Scalar(oSql)
|
||||
Logger.Debug("CURRENT_DOC_PATH is: " & CURRENT_DOC_PATH)
|
||||
CURRENT_WM_DOC = Nothing
|
||||
Dim WMDOC As WMObject
|
||||
Dim oWMDOC As WMObject
|
||||
Try
|
||||
WMDOC = _windream.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, CURRENT_DOC_PATH.Substring(2))
|
||||
CURRENT_WM_DOC = WMDOC
|
||||
oWMDOC = _windream.oSession.GetWMObjectByPath(WMEntity.WMEntityDocument, CURRENT_DOC_PATH.Substring(2))
|
||||
CURRENT_WM_DOC = oWMDOC
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Logger.Warn("error while creating WMObject in (GET_DOC_INFO): " & ex.Message)
|
||||
@@ -534,7 +683,7 @@ Public Class clsWorkEmail
|
||||
End Try
|
||||
|
||||
Else
|
||||
Logger.Warn("No record found for dwDocID " & DOC_ID)
|
||||
Logger.Warn("No record found for dwDocID " & oDOC_ID)
|
||||
Return False
|
||||
|
||||
End If
|
||||
|
||||
@@ -13,7 +13,7 @@ Public Class clsWorker
|
||||
Private _wrapper As clsEncryption
|
||||
Private _POLL_PROFILEID As Integer = 0
|
||||
Dim cs As String
|
||||
Sub New(LogConf As LogConfig, ConStr As String, POLL_PROFILEID As Integer, FB_DATASOURCE As String, FB_DATABASE As String, FB_USER As String, FB_PW As String)
|
||||
Sub New(LogConf As LogConfig, ConStr As String, POLL_PROFILEID As Integer, FB_DATASOURCE As String, FB_DATABASE As String, FB_USER As String, FB_PW As String, Optional localeml As String = "")
|
||||
Logger = LogConf.GetLogger
|
||||
_email = New clsEmail(LogConf)
|
||||
_emailIMAP = New clsEmailIMAP(LogConf)
|
||||
@@ -24,12 +24,23 @@ Public Class clsWorker
|
||||
_workmail = New clsWorkEmail(LogConf, ConStr, FB_DATASOURCE, FB_DATABASE, FB_USER, FB_PW)
|
||||
_wrapper = New clsEncryption("!35452didalog=", LogConf)
|
||||
_POLL_PROFILEID = POLL_PROFILEID
|
||||
ClassCurrent.CURRENT_DEBUG_LOCAL_EMAIL = localeml
|
||||
End Sub
|
||||
|
||||
Public Sub Start_WorkingProfiles()
|
||||
Public Sub Debug_Local_Email()
|
||||
Try
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Sub Start_WorkingProfiles(Optional LocalEmail As Boolean = False)
|
||||
Try
|
||||
TEMP_FILES.Clear()
|
||||
|
||||
If _Database.Init(cs) = True Then
|
||||
Logger.Debug("now windream_init...... ")
|
||||
Logger.Debug("now windream_init... ")
|
||||
If _windream.Init = True Then
|
||||
|
||||
Logger.Debug("windream_initialized!")
|
||||
@@ -45,8 +56,8 @@ Public Class clsWorker
|
||||
If Not IsNothing(DT_PROFILES) Then
|
||||
If DT_PROFILES.Rows.Count > 0 Then
|
||||
Logger.Debug("count of active profiles: " & DT_PROFILES.Rows.Count.ToString)
|
||||
For Each DR As DataRow In DT_PROFILES.Rows
|
||||
CURRENT_PROFILE_GUID = DR.Item("GUID")
|
||||
For Each oDR_Profile As DataRow In DT_PROFILES.Rows
|
||||
CURRENT_PROFILE_GUID = oDR_Profile.Item("GUID")
|
||||
DT_POLL_PROCESS = Nothing
|
||||
Dim sql = String.Format("SELECT * FROM TBEMLP_POLL_PROCESS WHERE PROFILE_ID = {0} AND ACTIVE = 1", CURRENT_PROFILE_GUID)
|
||||
DT_POLL_PROCESS = _Database.Return_Datatable(sql)
|
||||
@@ -70,9 +81,9 @@ Public Class clsWorker
|
||||
MAIL_USER = ""
|
||||
MAIL_USER_PW = ""
|
||||
|
||||
CURRENT_POLL_TYPE = DR.Item("POLL_TYPE")
|
||||
Logger.Info(String.Format("Working on profile: ({0}-{1}-{2}) ", DR.Item("GUID"), DR.Item("PROFILE_NAME"), CURRENT_POLL_TYPE))
|
||||
CURRENT_EMAIL_GUID = DR.Item("EMAIL_CONF_ID")
|
||||
CURRENT_POLL_TYPE = oDR_Profile.Item("POLL_TYPE")
|
||||
Logger.Info(String.Format("Working on profile: ({0}-{1}-{2}) ", oDR_Profile.Item("GUID"), oDR_Profile.Item("PROFILE_NAME"), CURRENT_POLL_TYPE))
|
||||
CURRENT_EMAIL_GUID = oDR_Profile.Item("EMAIL_CONF_ID")
|
||||
|
||||
Dim EMAIL_PROF_TABLE As DataTable = DT_TBDD_EMAIL
|
||||
'Presuming the DataTable has a column named Date.
|
||||
@@ -105,12 +116,19 @@ Public Class clsWorker
|
||||
|
||||
If MAIL_SERVER <> "" Then
|
||||
Dim pollresult As Boolean = False
|
||||
Select Case CURRENT_POLL_TYPE
|
||||
Case "POP"
|
||||
pollresult = _email.POP3_COLLECT()
|
||||
Case "IMAP"
|
||||
pollresult = _emailIMAP.IMAP_COLLECT()
|
||||
End Select
|
||||
If LocalEmail = True Then
|
||||
pollresult = True
|
||||
Dim oMessage As New Message(CURRENT_DEBUG_LOCAL_EMAIL)
|
||||
MAIL_LIST.Add(oMessage)
|
||||
Else
|
||||
Select Case CURRENT_POLL_TYPE
|
||||
Case "POP"
|
||||
pollresult = _email.POP3_COLLECT()
|
||||
Case "IMAP"
|
||||
pollresult = _emailIMAP.IMAP_COLLECT()
|
||||
End Select
|
||||
End If
|
||||
|
||||
If pollresult = False Then
|
||||
Logger.Warn(String.Format("Error while polling emails...."))
|
||||
|
||||
@@ -129,7 +147,7 @@ Public Class clsWorker
|
||||
Logger.Warn("For the Email-Profile ID " & CURRENT_EMAIL_GUID & " no record could be found!")
|
||||
End If
|
||||
|
||||
_Database.Execute_non_Query("UPDATE TBEMLP_POLL_PROFILES SET LAST_TICK = GETDATE() WHERE GUID = " & DR.Item("GUID").ToString)
|
||||
_Database.Execute_non_Query("UPDATE TBEMLP_POLL_PROFILES SET LAST_TICK = GETDATE() WHERE GUID = " & oDR_Profile.Item("GUID").ToString)
|
||||
Else
|
||||
Logger.Warn("For the Email-Profile ID " & CURRENT_EMAIL_GUID & " no record could be found! Check wether Email-Profile is active!")
|
||||
End If
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user