MS Bugfixing mit Vektofeld Boolean

This commit is contained in:
2019-12-20 10:08:48 +01:00
parent e743baf415
commit 37693a8fc0
47 changed files with 462 additions and 143 deletions

View File

@@ -5,7 +5,7 @@ Imports Independentsoft.Email.Mime
Imports Independentsoft.Email.Imap
Imports DigitalData.EMLProfiler.ClassCurrent
Imports DigitalData.Modules.Logging
Imports System.Net
Public Class clsEmail
Private Shared Logger As DigitalData.Modules.Logging.Logger
@@ -86,7 +86,7 @@ Public Class clsEmail
Return False
End Try
End Function
Public Function DELETE_EMAIL(msgid As String)
Public Function DELETE_EMAIL(msgid As String, Optional CheckDeletedRun As Boolean = False)
Try
If CURRENT_POLL_TYPE = "POP" Then
Dim client As New Pop3Client(MAIL_SERVER, MAIL_PORT)
@@ -107,24 +107,76 @@ Public Class clsEmail
client.Disconnect()
Return True
ElseIf CURRENT_POLL_TYPE = "IMAP" Then
Try
'Using oClient As New S22.Imap.ImapClient(MAIL_SERVER, MAIL_PORT, MAIL_USER, MAIL_USER_PW, S22.Imap.AuthMethod.Login, True)
' Dim oMessageIds As IEnumerable(Of UInteger) = oClient.Search(S22.Imap.SearchCondition.Unseen, MAIL_INBOX_NAME)
' For Each oMessageId As UInteger In oMessageIds
' If oMessageId = msgid Then
' Logger.Debug($"DELETE_EMAILMessage shall be deleted...")
' oClient.DeleteMessage(oMessageId)
' Logger.Debug($"DELETE_EMAILMessage has been deleted!")
' End If
' Next
' oClient.Expunge() 'delete messages marked as deleted
If CheckDeletedRun = True Then
Try
Logger.Debug(String.Format("Working on S22 Delete..."))
Using oClient As New S22.Imap.ImapClient(MAIL_SERVER, MAIL_PORT, MAIL_USER, MAIL_USER_PW, S22.Imap.AuthMethod.Login, True)
Dim oMessageIds As IEnumerable(Of UInteger) = oClient.Search(S22.Imap.SearchCondition.Unseen, MAIL_INBOX_NAME)
For Each oMessageId As UInteger In oMessageIds
If oMessageId = msgid Then
Logger.Debug($"Message shall be deleted...")
oClient.DeleteMessage(oMessageId)
Logger.Debug($"Message has been deleted!")
End If
Next
oClient.Expunge() 'delete messages marked as deleted
End Using
Catch ex As Exception
Logger.Warn("Error while deleting s22Mail: " & ex.Message)
Return False
End Try
Else
Try
Logger.Debug(String.Format("Working on IMAP Delete..."))
Dim oIMAPClient As New ImapClient(MAIL_SERVER, MAIL_PORT)
oIMAPClient.EnableSsl = True
oIMAPClient.ValidateRemoteCertificate = False
oIMAPClient.Connect()
Try
oIMAPClient.Login(MAIL_USER, MAIL_USER_PW, AuthenticationType.Login)
Catch ex As Exception
Logger.Warn("Error while loginImap.now trying Ntlm-Auth: " & ex.Message)
Try
oIMAPClient.Login(MAIL_USER, MAIL_USER_PW, AuthenticationType.Ntlm)
Catch ex1 As Exception
Logger.Error(ex)
Return False
End Try
End Try
Logger.Debug("Logged in for delete...")
oIMAPClient.SelectFolder(MAIL_INBOX_NAME)
Dim oEnvelopes As Envelope() = oIMAPClient.ListMessages()
For i As Integer = 0 To oEnvelopes.Length - 1
If oEnvelopes(i).MessageID = msgid Then
oIMAPClient.Delete(oEnvelopes(i).UniqueID) 'mark as deleted
End If
Next
oIMAPClient.Expunge() 'delete messages marked as deleted
Dim oDeleted As Boolean = True
For i As Integer = 0 To oEnvelopes.Length - 1
If oEnvelopes(i).MessageID = msgid Then
Logger.Debug("Message is still existing. Deleting did not work!")
oDeleted = False
End If
Next
oIMAPClient.Disconnect()
If oDeleted = False Then
DELETE_EMAIL(msgid, True)
Else
Return True
End If
Catch ex As Exception
Logger.Warn("Error in IMAP Delete: " & ex.Message)
Return False
End Try
End If
'End Using
Return True
Catch ex As Exception
Logger.Warn("Error in IMAP Delete: " & ex.Message)
Return False
End Try
Else
Return False
@@ -139,6 +191,7 @@ Public Class clsEmail
mailfrom As String, mailsmtp As String, mailport As Integer, mailUser As String, mailPW As String,
AUTH_TYPE As String, Optional attment As String = "")
Try
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
Logger.Debug($"in Email_Send_Independentsoft..")
Dim empfaenger As String()
If mailto.Contains(";") Then