MS Comservice
This commit is contained in:
@@ -69,7 +69,7 @@ Public Class Email
|
||||
''' <param name="Folder">The folder to fetch messages from</param>
|
||||
''' <param name="SearchCondition">Filter the search command. Defaults to `All`</param>
|
||||
''' <returns>A list of Independentsoft.Email.Mime.Message objects</returns>
|
||||
Public Function FetchIMAPMessages(Server As String, Port As Integer, Username As String, Password As String, Folder As String, Optional SearchCondition As S22.Imap.SearchCondition = S22.Imap.SearchCondition.All) As List(Of Message)
|
||||
Public Function FetchIMAPMessages(Server As String, Port As Integer, Username As String, Password As String, Folder As String) As List(Of Message) ', Optional SearchCondition As S22.Imap.SearchCondition = S22.Imap.SearchCondition.All
|
||||
Dim oMessages As New List(Of Message)
|
||||
|
||||
_logger.Debug("Connecting to Server {0}:{1} with user {2}", Server, Port, Username)
|
||||
@@ -260,6 +260,8 @@ Public Class Email
|
||||
Public Function NewEmail(mailto As String, mailSubject As String, mailBody As String,
|
||||
mailfrom As String, mailsmtp As String, mailport As Integer, mailUser As String, mailPW As String,
|
||||
AUTH_TYPE As String, SENDER_INSTANCE As String, Optional attachmentString As String = "", Optional Test As Boolean = False)
|
||||
Dim myClient As Net.Mail.SmtpClient
|
||||
Dim myMesssage As New MailMessage
|
||||
Try
|
||||
Dim oError As Boolean = False
|
||||
Dim oReceipiants As String()
|
||||
@@ -272,39 +274,38 @@ Public Class Email
|
||||
For Each oMailReceipiant As String In oReceipiants
|
||||
_logger.Debug($"oMailReceipiant [{oMailReceipiant}]")
|
||||
_logger.Debug($"mailsmtp [{mailsmtp}]")
|
||||
Dim sClient As Net.Mail.SmtpClient
|
||||
|
||||
Try
|
||||
sClient = New Net.Mail.SmtpClient(mailsmtp, mailport)
|
||||
myClient = New Net.Mail.SmtpClient(mailsmtp, mailport)
|
||||
Catch ex As Exception
|
||||
_logger.Warn($"Could not create SMTP-Client: [{ex.Message}]")
|
||||
Return False
|
||||
End Try
|
||||
sClient.DeliveryMethod = SmtpDeliveryMethod.Network
|
||||
myClient.DeliveryMethod = SmtpDeliveryMethod.Network
|
||||
|
||||
Dim mymesssage As New MailMessage
|
||||
sClient.Port = mailport
|
||||
myClient.Port = mailport
|
||||
_logger.Debug($"mailport [{mailport}]")
|
||||
If AUTH_TYPE = "SSL" Then
|
||||
_logger.Debug("SSL = true")
|
||||
sClient.EnableSsl = True
|
||||
myClient.EnableSsl = True
|
||||
Else
|
||||
_logger.Debug("SSL = false")
|
||||
sClient.EnableSsl = False
|
||||
myClient.EnableSsl = False
|
||||
End If
|
||||
_logger.Debug($"mailUser [{mailUser}]")
|
||||
sClient.Credentials = New NetworkCredential(mailUser, mailPW)
|
||||
sClient.UseDefaultCredentials = False
|
||||
myClient.Credentials = New NetworkCredential(mailUser, mailPW)
|
||||
myClient.UseDefaultCredentials = False
|
||||
|
||||
If Test = True Then
|
||||
mymesssage.Body = $"This is the body (text will be replaced within profile)! <br> mailsmtp: {mailsmtp} <br> mailport: {mailport} <br> mailUser: {mailUser} <br> mailPW: XXXX <br> AUTH_TYPE: {AUTH_TYPE}"
|
||||
myMesssage.Body = $"This is the body (text will be replaced within profile)! <br> mailsmtp: {mailsmtp} <br> mailport: {mailport} <br> mailUser: {mailUser} <br> mailPW: XXXX <br> AUTH_TYPE: {AUTH_TYPE}"
|
||||
Else
|
||||
mymesssage.Body = mailBody
|
||||
myMesssage.Body = mailBody
|
||||
End If
|
||||
_logger.Debug($"mailBody [{mailBody}]")
|
||||
'mymesssage.IsBodyHtml = True
|
||||
Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(mymesssage.Body)
|
||||
Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(myMesssage.Body)
|
||||
htmlView.ContentType = New System.Net.Mime.ContentType("text/html")
|
||||
mymesssage.AlternateViews.Add(htmlView)
|
||||
myMesssage.AlternateViews.Add(htmlView)
|
||||
_logger.Debug($"attachmentString [{attachmentString}]")
|
||||
If attachmentString <> "" Then
|
||||
_logger.Info($"Attachment Path is: {attachmentString}")
|
||||
@@ -317,18 +318,18 @@ Public Class Email
|
||||
'ElseIf attment.ToLower.EndsWith("docx") Then
|
||||
' oAttachment.ContentType = New Independentsoft.Email.Mime.ContentType("application", "MS-word")
|
||||
'End If
|
||||
mymesssage.Attachments.Add(oAttachment)
|
||||
myMesssage.Attachments.Add(oAttachment)
|
||||
Else
|
||||
_logger.Debug("No Attachment.")
|
||||
End If
|
||||
_logger.Debug($"mailfrom [{mailfrom}]")
|
||||
|
||||
mymesssage.From = New MailAddress(mailfrom)
|
||||
myMesssage.From = New MailAddress(mailfrom)
|
||||
_logger.Debug($"mailSubject [{mailSubject}]")
|
||||
mymesssage.Subject = mailSubject
|
||||
mymesssage.To.Add(New MailAddress(oMailReceipiant))
|
||||
myMesssage.Subject = mailSubject
|
||||
myMesssage.To.Add(New MailAddress(oMailReceipiant))
|
||||
_logger.Debug($"Now Sending mail...")
|
||||
sClient.Send(mymesssage)
|
||||
myClient.Send(myMesssage)
|
||||
_logger.Debug($"Mail has been sent!")
|
||||
_logger.Info("Message to " & oMailReceipiant & " has been send.")
|
||||
Next
|
||||
@@ -340,6 +341,22 @@ Public Class Email
|
||||
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
Try
|
||||
_logger.Info("Unexpected error in Sending smtp-Mail: ")
|
||||
If Not IsNothing(myClient) Then
|
||||
_logger.Info($"myClient.Host: {myClient.Host.ToString}")
|
||||
_logger.Info($"myClient.Port: {myClient.Port.ToString}")
|
||||
_logger.Info($"myClient.EnableSsl: {myClient.EnableSsl.ToString}")
|
||||
|
||||
End If
|
||||
If Not IsNothing(myMesssage) Then
|
||||
_logger.Info($"myMesssage.Subject: {myMesssage.Subject.ToString}")
|
||||
_logger.Info($"myMesssage.Body: {myMesssage.Body.ToString}")
|
||||
_logger.Info($"myMesssage.From: {myMesssage.From.ToString}")
|
||||
End If
|
||||
Catch e1x As Exception
|
||||
|
||||
End Try
|
||||
Return False
|
||||
End Try
|
||||
|
||||
|
||||
Reference in New Issue
Block a user