MS
This commit is contained in:
parent
063bdea7d4
commit
a567d18e46
@ -11,10 +11,24 @@ Public Class LookupControl
|
|||||||
<Category("Einstellungen"), Description("Gibt an, ob das Hinzufügen von identischen Werten erlaubt ist"), DefaultValue(False)>
|
<Category("Einstellungen"), Description("Gibt an, ob das Hinzufügen von identischen Werten erlaubt ist"), DefaultValue(False)>
|
||||||
Public Property PreventDuplicates As Boolean
|
Public Property PreventDuplicates As Boolean
|
||||||
|
|
||||||
<Browsable(False)>
|
|
||||||
Public Property DataSource As DataTable
|
Public Property DataSource As DataTable
|
||||||
<Browsable(False)>
|
|
||||||
Public Property SelectedValues As New List(Of String)
|
Public Property SelectedValues As List(Of String)
|
||||||
|
Get
|
||||||
|
If _selectedValues Is Nothing Then
|
||||||
|
Return New List(Of String)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return _selectedValues
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of String))
|
||||||
|
_selectedValues = value
|
||||||
|
|
||||||
|
UpdateSelectedValues(value)
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Private _selectedValues As List(Of String)
|
||||||
|
|
||||||
Private _lookupControlMulti As GridLookUpEdit
|
Private _lookupControlMulti As GridLookUpEdit
|
||||||
Private _lookupControlSingle As ButtonEdit
|
Private _lookupControlSingle As ButtonEdit
|
||||||
|
|||||||
191
Message/Email.vb
191
Message/Email.vb
@ -1,7 +1,9 @@
|
|||||||
Imports System
|
Imports System
|
||||||
Imports Independentsoft.Email
|
Imports Independentsoft.Email
|
||||||
|
Imports Independentsoft.Email.Pop3
|
||||||
Imports Independentsoft.Email.Smtp
|
Imports Independentsoft.Email.Smtp
|
||||||
Imports Independentsoft.Email.Mime
|
Imports Independentsoft.Email.Mime
|
||||||
|
Imports Independentsoft.Email.Imap
|
||||||
|
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Public Class Email
|
Public Class Email
|
||||||
@ -11,73 +13,117 @@ Public Class Email
|
|||||||
_logger = LogConfig.GetLogger()
|
_logger = LogConfig.GetLogger()
|
||||||
_logConfig = LogConfig
|
_logConfig = LogConfig
|
||||||
End Sub
|
End Sub
|
||||||
Public Function IMAP_COLLECT(INBOXNAME As String, MYMAIL_SERVER As String, MYMAIL_PORT As Integer, MYMAIL_USER As String, MYMAIL_USER_PW As String) Returns
|
Public Function IMAP_COLLECT(INBOXNAME As String, MYMAIL_SERVER As String, MYMAIL_PORT As Integer, MYMAIL_USER As String, MYMAIL_USER_PW As String)
|
||||||
Try
|
Try
|
||||||
|
Dim oMAIL_LIST As New ArrayList()
|
||||||
_logger.Info(String.Format("Working on IMAP_COLLECT..."))
|
_logger.Info(String.Format("Working on IMAP_COLLECT..."))
|
||||||
|
Dim oClient As New ImapClient(MYMAIL_SERVER, MYMAIL_PORT)
|
||||||
Dim client As New ImapClient(MYMAIL_SERVER, MYMAIL_PORT)
|
oClient.Connect()
|
||||||
|
oClient.Login(MYMAIL_USER, MYMAIL_USER_PW)
|
||||||
'If LOG_ERRORS_ONLY = False Then
|
oClient.SelectFolder("Inbox")
|
||||||
' Dim emaillogger As New Independentsoft.Email.Logger(My.Application.Info.DirectoryPath & "\Log\IDSoftMailLog.txt")
|
Dim oEnvelopes As Envelope() = oClient.ListMessages()
|
||||||
' AddHandler emaillogger.WriteLog, AddressOf OnWriteLog
|
For i As Integer = 0 To oEnvelopes.Length - 1
|
||||||
'client.Logger = emaillogger
|
If Not IsNothing(oEnvelopes(i).Subject) Then
|
||||||
'End If
|
|
||||||
client.ValidateRemoteCertificate = False
|
|
||||||
client.Connect()
|
|
||||||
client.Login(MYMAIL_USER, MYMAIL_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
|
|
||||||
'If envelopes(i).Subject.ToString.ToUpper.Contains("[PROCESSMANAGER]") Or envelopes(i).Subject.ToString.ToUpper.Contains("[ADDI]") 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}")
|
_logger.Info($"Working on email: UniqueID: {oEnvelopes(i).UniqueID} - Subject:{oEnvelopes(i).Subject} - Date {oEnvelopes(i).Date.ToString}")
|
||||||
Dim message As Mime.Message = client.GetMessage(envelopes(i).UniqueID)
|
Dim message As Mime.Message = oClient.GetMessage(oEnvelopes(i).UniqueID)
|
||||||
If Not IsNothing(message) Then
|
If Not IsNothing(message) Then
|
||||||
MAIL_LIST.Add(message)
|
oMAIL_LIST.Add(message)
|
||||||
End If
|
End If
|
||||||
'End If
|
'End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
client.Disconnect()
|
oClient.Disconnect()
|
||||||
_logger.Debug("IMAP_COLLECT finished!")
|
_logger.Debug("IMAP_COLLECT finished!")
|
||||||
Return True
|
Return oMAIL_LIST
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_logger.Error(ex, "Unexpected Error in IMAP COLLECT:")
|
_logger.Error(ex, "Unexpected Error in IMAP COLLECT:")
|
||||||
Return False
|
Return Nothing
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
Public Function TEST_IMAP_COLLECT(INBOXNAME As String, MYMAIL_SERVER As String, MYMAIL_PORT As Integer, MYMAIL_USER As String, MYMAIL_USER_PW As String)
|
Public Function TEST_IMAP_COLLECT(INBOXNAME As String, MYMAIL_SERVER As String, MYMAIL_PORT As Integer, MYMAIL_USER As String, MYMAIL_USER_PW As String)
|
||||||
Try
|
Try
|
||||||
Logger.Info(String.Format("Working on TEST_IMAP_COLLECT....."))
|
|
||||||
|
|
||||||
Dim client As New ImapClient(MYMAIL_SERVER, MYMAIL_PORT)
|
_logger.Info(String.Format("Working on TEST_IMAP_COLLECT....."))
|
||||||
|
Dim oClient As New ImapClient(MYMAIL_SERVER, MYMAIL_PORT)
|
||||||
|
oClient.Connect()
|
||||||
|
oClient.Login(MYMAIL_USER, MYMAIL_USER_PW)
|
||||||
|
oClient.SelectFolder(INBOXNAME)
|
||||||
|
Dim oEnvelopes As Envelope() = oClient.ListMessages()
|
||||||
|
|
||||||
'If LOG_ERRORS_ONLY = False Then
|
For i As Integer = 0 To oEnvelopes.Length - 1
|
||||||
' Dim emaillogger As New Independentsoft.Email.Logger(My.Application.Info.DirectoryPath & "\Log\IDSoftMailLog.txt")
|
If Not IsNothing(oEnvelopes(i).Subject) Then
|
||||||
' AddHandler emaillogger.WriteLog, AddressOf OnWriteLog
|
|
||||||
'client.Logger = emaillogger
|
|
||||||
'End If
|
|
||||||
client.Connect()
|
|
||||||
client.Login(MYMAIL_USER, MYMAIL_USER_PW)
|
|
||||||
client.SelectFolder(INBOXNAME)
|
|
||||||
Dim envelopes As Envelope() = client.ListMessages()
|
|
||||||
|
|
||||||
For i As Integer = 0 To envelopes.Length - 1
|
|
||||||
If Not IsNothing(envelopes(i).Subject) Then
|
|
||||||
'If envelopes(i).Subject.ToString.ToUpper.Contains("[PROCESSMANAGER]") Or envelopes(i).Subject.ToString.ToUpper.Contains("[ADDI]") Then
|
'If envelopes(i).Subject.ToString.ToUpper.Contains("[PROCESSMANAGER]") Or envelopes(i).Subject.ToString.ToUpper.Contains("[ADDI]") Then
|
||||||
MsgBox($"Working on email: UniqueID: {envelopes(i).UniqueID} - Subject:{envelopes(i).Subject} - Date {envelopes(i).Date.ToString}")
|
MsgBox($"Working on email: UniqueID: {oEnvelopes(i).UniqueID} - Subject:{oEnvelopes(i).Subject} - Date {oEnvelopes(i).Date.ToString}")
|
||||||
Dim message As Mime.Message = client.GetMessage(envelopes(i).UniqueID)
|
Dim message As Mime.Message = oClient.GetMessage(oEnvelopes(i).UniqueID)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
oClient.Disconnect()
|
||||||
client.Disconnect()
|
_logger.Info("TEST_IMAP_COLLECT finished!")
|
||||||
Logger.Info("TEST_IMAP_COLLECT finished!")
|
|
||||||
Return True
|
Return True
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex, "Unexpected Error in TEST_IMAP_COLLECT:")
|
_logger.Error(ex, "Unexpected Error in TEST_IMAP_COLLECT:")
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
Public Function POP3_COLLECT(MYMAIL_SERVER As String, MYMAIL_PORT As Integer, MYMAIL_USER As String, MYMAIL_USER_PW As String)
|
||||||
|
Try
|
||||||
|
Dim oMAIL_LIST As New ArrayList()
|
||||||
|
_logger.Debug(String.Format("Working on POP3_COLLECT....."))
|
||||||
|
Dim oClient As New Pop3Client(MYMAIL_SERVER, MYMAIL_PORT)
|
||||||
|
|
||||||
|
oClient.ValidateRemoteCertificate = False
|
||||||
|
oClient.Connect()
|
||||||
|
_logger.Debug(String.Format("..connected!"))
|
||||||
|
oClient.Login(MYMAIL_USER, MYMAIL_USER_PW)
|
||||||
|
|
||||||
|
Dim oMessageInfo As MessageInfo() = oClient.List()
|
||||||
|
|
||||||
|
For i As Integer = 0 To oMessageInfo.Length - 1
|
||||||
|
Dim message As Message = oClient.GetMessage(oMessageInfo(i).Index)
|
||||||
|
oMAIL_LIST.Add(message)
|
||||||
|
Try
|
||||||
|
_logger.Debug(String.Format("Message [{0}] added", message.Subject))
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
Next
|
||||||
|
|
||||||
|
oClient.Disconnect()
|
||||||
|
_logger.Debug(String.Format(" POP3_COLLECT finished!"))
|
||||||
|
Return oMAIL_LIST
|
||||||
|
Catch ex As Exception
|
||||||
|
_logger.Error(ex)
|
||||||
|
|
||||||
|
Return Nothing
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
Public Function TEST_POP3_COLLECT(MYMAIL_SERVER As String, MYMAIL_PORT As Integer, MYMAIL_USER As String, MYMAIL_USER_PW As String) As Boolean
|
||||||
|
Try
|
||||||
|
_logger.Debug(String.Format("Working on TEST_POP3_COLLECT..."))
|
||||||
|
Dim oClient As New Pop3Client(MYMAIL_SERVER, MYMAIL_PORT)
|
||||||
|
|
||||||
|
oClient.ValidateRemoteCertificate = False
|
||||||
|
oClient.Connect()
|
||||||
|
_logger.Debug(String.Format("..connected!"))
|
||||||
|
oClient.Login(MYMAIL_USER, MYMAIL_USER_PW)
|
||||||
|
|
||||||
|
Dim messageInfo As MessageInfo() = oClient.List()
|
||||||
|
|
||||||
|
For i As Integer = 0 To messageInfo.Length - 1
|
||||||
|
Dim message As Message = oClient.GetMessage(messageInfo(i).Index)
|
||||||
|
MsgBox(String.Format("Message [{0}] added", message.Subject))
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
oClient.Disconnect()
|
||||||
|
MsgBox(String.Format("TEST_POP3_COLLECT finished!"))
|
||||||
|
Return True
|
||||||
|
Catch ex As Exception
|
||||||
|
_logger.Error(ex)
|
||||||
|
|
||||||
Return False
|
Return False
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
@ -133,24 +179,24 @@ Public Class Email
|
|||||||
Try
|
Try
|
||||||
oEmailCient = New SmtpClient(mailsmtp, mailport)
|
oEmailCient = New SmtpClient(mailsmtp, mailport)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_logger.Warn("clsEmail.Create Client: " & ex.Message)
|
_logger.Warn("clsEmail.Create oClient: " & ex.Message)
|
||||||
oError = True
|
oError = True
|
||||||
Continue For
|
Continue For
|
||||||
End Try
|
End Try
|
||||||
Try
|
Try
|
||||||
oEmailCient.Connect()
|
oEmailCient.Connect()
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_logger.Warn("clsEmail.Client.Connect: " & ex.Message)
|
_logger.Warn("clsEmail.oClient.Connect: " & ex.Message)
|
||||||
oError = True
|
oError = True
|
||||||
' Continue For
|
' Continue For
|
||||||
End Try
|
End Try
|
||||||
_logger.Debug("Connected to Client!")
|
_logger.Debug("Connected to oClient!")
|
||||||
If AUTH_TYPE = "SSL" Then
|
If AUTH_TYPE = "SSL" Then
|
||||||
oEmailCient.EnableSsl = True
|
oEmailCient.EnableSsl = True
|
||||||
'client.ValidateRemoteCertificate = True
|
'oClient.ValidateRemoteCertificate = True
|
||||||
_logger.Debug("Authentification via SSL.")
|
_logger.Debug("Authentification via SSL.")
|
||||||
ElseIf AUTH_TYPE = "TLS" Then
|
ElseIf AUTH_TYPE = "TLS" Then
|
||||||
' client.ValidateRemoteCertificate = False
|
' oClient.ValidateRemoteCertificate = False
|
||||||
oEmailCient.StartTls()
|
oEmailCient.StartTls()
|
||||||
oEmailCient.EnableSsl = False
|
oEmailCient.EnableSsl = False
|
||||||
_logger.Info("Authentification via TLS. SSL disabled")
|
_logger.Info("Authentification via TLS. SSL disabled")
|
||||||
@ -161,7 +207,7 @@ Public Class Email
|
|||||||
Try
|
Try
|
||||||
oEmailCient.Connect()
|
oEmailCient.Connect()
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
_logger.Warn("clsEmail.Client.Connect: " & ex.Message)
|
_logger.Warn("clsEmail.oClient.Connect: " & ex.Message)
|
||||||
oError = True
|
oError = True
|
||||||
' Continue For
|
' Continue For
|
||||||
End Try
|
End Try
|
||||||
@ -185,7 +231,7 @@ Public Class Email
|
|||||||
Try
|
Try
|
||||||
oEmailCient.Login(mailUser, mailPW, AuthenticationType.Login)
|
oEmailCient.Login(mailUser, mailPW, AuthenticationType.Login)
|
||||||
Catch ex2 As Exception
|
Catch ex2 As Exception
|
||||||
_logger.Warn("clsEmail.Client.Login: " & ex.Message)
|
_logger.Warn("clsEmail.oClient.Login: " & ex.Message)
|
||||||
oError = True
|
oError = True
|
||||||
oEmailCient.Disconnect()
|
oEmailCient.Disconnect()
|
||||||
Continue For
|
Continue For
|
||||||
@ -220,4 +266,49 @@ Public Class Email
|
|||||||
Return False
|
Return False
|
||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
Public Function DELETE_EMAIL(POLLTYPE As String, msgid As String, MYMAIL_SERVER As String, MYMAIL_PORT As Integer, MYMAIL_USER As String, MYMAIL_USER_PW As String)
|
||||||
|
Try
|
||||||
|
If POLLTYPE = "POP" Then
|
||||||
|
Dim oClient As New Pop3Client(MYMAIL_SERVER, MYMAIL_PORT)
|
||||||
|
|
||||||
|
oClient.ValidateRemoteCertificate = False
|
||||||
|
oClient.Connect()
|
||||||
|
oClient.Login(MYMAIL_USER, MYMAIL_USER_PW)
|
||||||
|
|
||||||
|
Dim oMessageInfo As MessageInfo() = oClient.List()
|
||||||
|
|
||||||
|
For i As Integer = 0 To oMessageInfo.Length - 1
|
||||||
|
Dim message As Message = oClient.GetMessage(oMessageInfo(i).Index)
|
||||||
|
If message.MessageID = msgid Then
|
||||||
|
oClient.Delete(oMessageInfo(i).Index)
|
||||||
|
_logger.Info(String.Format("Message [{0}] was deleted!", message.Subject))
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
oClient.Disconnect()
|
||||||
|
Return True
|
||||||
|
ElseIf POLLTYPE = "IMAP" Then
|
||||||
|
Dim oIMAPClient As New ImapClient(MYMAIL_SERVER, MYMAIL_PORT)
|
||||||
|
|
||||||
|
oIMAPClient.ValidateRemoteCertificate = False
|
||||||
|
oIMAPClient.Connect()
|
||||||
|
oIMAPClient.Login(MYMAIL_USER, MYMAIL_USER_PW)
|
||||||
|
|
||||||
|
oIMAPClient.SelectFolder("Inbox")
|
||||||
|
Dim envelopes As Envelope() = oIMAPClient.ListMessages()
|
||||||
|
For i As Integer = 0 To envelopes.Length - 1
|
||||||
|
If envelopes(i).MessageID = msgid Then
|
||||||
|
oIMAPClient.Delete(envelopes(i).UniqueID) 'mark as deleted
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
oIMAPClient.Expunge() 'delete messages marked as deleted
|
||||||
|
oIMAPClient.Disconnect()
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
_logger.Error(ex)
|
||||||
|
'clsLogger.Add("Unexpected Error in DELETE_EMAIL: " & ex.Message)
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user