Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/EmailProfiler
This commit is contained in:
@@ -27,6 +27,7 @@ Public Class clsEmailIMAP
|
||||
_limilab.InitIMAP(True, Server, Port, Username, Password, AuthType)
|
||||
Dim oListuids As New List(Of Long)
|
||||
oListuids = _limilab.IMAPGetMessageIDs_AllMails()
|
||||
|
||||
If IsNothing(oListuids) Then
|
||||
Return False
|
||||
Else
|
||||
@@ -43,11 +44,7 @@ Public Class clsEmailIMAP
|
||||
Logger.Error(ex)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' Uses a private API from MailWriter to write a MailMessage to disk.
|
||||
''' May break in future versions of .NET
|
||||
|
||||
@@ -279,12 +279,13 @@ Public Class clsWorkEmail
|
||||
WM_REFERENCE_INDEX = oDataRow("WM_REFERENCE_INDEX")
|
||||
Catch ex As Exception
|
||||
Logger.Debug($"Attention WM_REFERENCE_INDEX seems to be Empty/null: {ex.Message}")
|
||||
WM_REFERENCE_INDEX = Nothing
|
||||
WM_REFERENCE_INDEX = ""
|
||||
End Try
|
||||
Try
|
||||
WM_VECTOR_LOG = oDataRow("WM_VECTOR_LOG")
|
||||
Catch ex As Exception
|
||||
WM_VECTOR_LOG = Nothing
|
||||
Logger.Debug($"Attention WM_VECTOR_LOG seems to be Empty/null: {ex.Message}")
|
||||
WM_VECTOR_LOG = ""
|
||||
End Try
|
||||
|
||||
WM_OBJEKTTYPE = oDataRow("WM_OBJEKTTYPE")
|
||||
|
||||
@@ -17,18 +17,19 @@ Public Class clsWorker
|
||||
Private _workmail As clsWorkEmail
|
||||
Private _wrapper As clsEncryption
|
||||
Private _POLL_PROFILEID As Integer = 0
|
||||
|
||||
Private Eml_Limitation_Sender As String = ""
|
||||
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, USE_WM As Boolean, EmailAccountID As Integer, EmlProfPraefix As String, Optional plocaleml As String = "")
|
||||
Sub New(EML_LIMITATION As String, 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, USE_WM As Boolean, EmailAccountID As Integer, EmlProfPraefix As String, Optional plocaleml As String = "")
|
||||
MyLogConfig = LogConf
|
||||
Logger = LogConf.GetLogger
|
||||
_emailIMAP = New clsEmailIMAP(LogConf, ConStr)
|
||||
_Database = New clsDatabase(LogConf, ConStr)
|
||||
cs = ConStr
|
||||
_USE_WM = USE_WM
|
||||
Eml_Limitation_Sender = EML_LIMITATION
|
||||
If _USE_WM Then
|
||||
_windream = New clsWindream_allgemein(LogConf)
|
||||
_windream_index = New clsWindream_Index(LogConf)
|
||||
_windream_index = New clsWindream_Index(LogConf)
|
||||
End If
|
||||
|
||||
_workmail = New clsWorkEmail(LogConf, ConStr, FB_DATASOURCE, FB_DATABASE, FB_USER, FB_PW, USE_WM, EmailAccountID, EmlProfPraefix)
|
||||
@@ -129,14 +130,11 @@ Public Class clsWorker
|
||||
Dim pollresult As Boolean = False
|
||||
If LocalEmail = True Then
|
||||
pollresult = True
|
||||
|
||||
Else
|
||||
Select Case CURRENT_POLL_TYPE
|
||||
Case "POP"
|
||||
'pollresult = _email.POP3_COLLECT()
|
||||
Case "IMAP"
|
||||
'pollresult = _emailIMAP.IMAP_COLLECT()
|
||||
'pollresult = _emailIMAP.FetchIMAPMessagesIsoft(MAIL_SERVER, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_INBOX_NAME, MAIL_ARCHIVE_FOLDER)
|
||||
pollresult = _emailIMAP.FetchIMAPMessagesLimilab(MAIL_SERVER, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_AUTHTYPE)
|
||||
End Select
|
||||
End If
|
||||
@@ -150,10 +148,31 @@ Public Class clsWorker
|
||||
Else
|
||||
Try
|
||||
Logger.Info(String.Format("Pulled: [{0}] E-Mails", CURRENT_WORKMAIL_UID_LIST.Count()))
|
||||
Dim LIMIT_EMAIL_FROM As Boolean = False
|
||||
If Eml_Limitation_Sender.Contains("@") Then
|
||||
LIMIT_EMAIL_FROM = True
|
||||
Logger.Info("####################################")
|
||||
Logger.Info($"LIMIT_EMAIL_FROM is ACTIVE - EMAIL_FROM = [{Eml_Limitation_Sender}]")
|
||||
Logger.Info("####################################")
|
||||
Logger.Debug("####################################")
|
||||
Logger.Debug($"LIMIT_EMAIL_FROM is ACTIVE - EMAIL_FROM = [{Eml_Limitation_Sender}]")
|
||||
Logger.Debug("####################################")
|
||||
End If
|
||||
For Each oUID In CURRENT_WORKMAIL_UID_LIST
|
||||
Dim oEml = CURRENT_ImapObject.GetMessageByUID(oUID)
|
||||
Dim oEmail As IMail = New MailBuilder().CreateFromEml(oEml)
|
||||
|
||||
If Not IsNothing(oEmail) Then
|
||||
If LIMIT_EMAIL_FROM Then
|
||||
Dim oEmailFrom As String
|
||||
For Each m As MailBox In oEmail.From
|
||||
oEmailFrom = m.Address
|
||||
Next
|
||||
If oEmailFrom <> Eml_Limitation_Sender Then
|
||||
Logger.Debug($"Skipping email {oEmailFrom} ...Subject [{oEmail.Subject}]")
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
If _workmail.WorkEmailMessage(oEmail, oUID) = True Then
|
||||
If ClassCurrent.CURRENT_DEBUG_LOCAL_EMAIL = "" Then
|
||||
EMAIL_DELETE()
|
||||
|
||||
Reference in New Issue
Block a user