MS Bugfixing mit Vektofeld Boolean
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user