MS
This commit is contained in:
@@ -43,6 +43,9 @@
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Independentsoft.Email">
|
||||
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Email .NET\Bin\Independentsoft.Email.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Interop.WINDREAMLib">
|
||||
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath>
|
||||
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
Imports System.Net.Mail
|
||||
|
||||
Imports System
|
||||
Imports Independentsoft.Email
|
||||
Imports Independentsoft.Email.Smtp
|
||||
Imports Independentsoft.Email.Mime
|
||||
Public Class clsEmail
|
||||
Private Shared MailAktiv As Boolean = False
|
||||
|
||||
@@ -26,65 +30,151 @@ Public Class clsEmail
|
||||
' Return False
|
||||
' End Try
|
||||
' End Function
|
||||
Public Shared Function Send_EMail(ByVal MailBetreff As String, ByVal vBody As String, MailEmpfaenger As String, MailFrom As String, MAilSMTP As String, MailUser As String, MailUser_PW As String, SSL As Boolean,
|
||||
Optional attment As String = "", Optional test As Boolean = False)
|
||||
'#### E-MAIL NACHRICHT VERSENDEN
|
||||
Try
|
||||
Dim empfaenger As String()
|
||||
If MailEmpfaenger.Contains(";") Then
|
||||
empfaenger = MailEmpfaenger.Split(";")
|
||||
Else
|
||||
ReDim Preserve empfaenger(0)
|
||||
empfaenger(0) = MailEmpfaenger
|
||||
End If
|
||||
'Für jeden Empfänger eine Neue Mail erzeugen
|
||||
For Each _mailempfaenger As String In empfaenger
|
||||
'Neue Nachricht erzeugen:
|
||||
Dim message As New MailMessage(MailFrom, _mailempfaenger, MailBetreff,
|
||||
"<font face=""Arial"">" & vBody & "</font>") '& "<br>" &
|
||||
'"<br>Domain: " & Environment.UserDomainName &
|
||||
'"<br>Gesendet am: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" &
|
||||
'My.Computer.Clock.LocalTime.ToLongTimeString &
|
||||
'Public Shared Function Send_EMail(ByVal MailBetreff As String, ByVal vBody As String, MailEmpfaenger As String, MailFrom As String, MAilSMTP As String, MailUser As String, MailUser_PW As String, SSL As Boolean,
|
||||
' Optional attment As String = "", Optional test As Boolean = False)
|
||||
' '#### E-MAIL NACHRICHT VERSENDEN
|
||||
' Try
|
||||
' Dim empfaenger As String()
|
||||
' If MailEmpfaenger.Contains(";") Then
|
||||
' empfaenger = MailEmpfaenger.Split(";")
|
||||
' Else
|
||||
' ReDim Preserve empfaenger(0)
|
||||
' empfaenger(0) = MailEmpfaenger
|
||||
' End If
|
||||
' 'Für jeden Empfänger eine Neue Mail erzeugen
|
||||
' For Each _mailempfaenger As String In empfaenger
|
||||
' 'Neue Nachricht erzeugen:
|
||||
' Dim message As New MailMessage(MailFrom, _mailempfaenger, MailBetreff,
|
||||
' "<font face=""Arial"">" & vBody & "</font>") '& "<br>" &
|
||||
' '"<br>Domain: " & Environment.UserDomainName &
|
||||
' '"<br>Gesendet am: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" &
|
||||
' 'My.Computer.Clock.LocalTime.ToLongTimeString &
|
||||
|
||||
' create and add the attachment(s) */
|
||||
' ' create and add the attachment(s) */
|
||||
' If attment <> String.Empty Then
|
||||
' If System.IO.File.Exists(attment) Then
|
||||
' Dim Attachment As Attachment = New Attachment(attment)
|
||||
' message.Attachments.Add(Attachment)
|
||||
' End If
|
||||
' End If
|
||||
|
||||
' With message
|
||||
' .IsBodyHtml = True
|
||||
' End With
|
||||
|
||||
' 'Einen SMTP Client erzeugen und Anmeldungsinformationen hinterlegen
|
||||
' Dim emailClient As New SmtpClient(MAilSMTP)
|
||||
' emailClient.EnableSsl = SSL
|
||||
' 'Email mit Authentifizierung
|
||||
' Dim SMTPUserInfo As New System.Net.NetworkCredential(MailUser, MailUser_PW) ', My.Settings.vDomain)
|
||||
' emailClient.UseDefaultCredentials = False
|
||||
' emailClient.Credentials = SMTPUserInfo
|
||||
' emailClient.Port = 25
|
||||
' clsLogger.Add("==> Email erfolgreich an " & _mailempfaenger & " versendet!", False)
|
||||
' clsLogger.Add("==> Text: " & vBody, False)
|
||||
' clsLogger.Add("", False)
|
||||
' '*Send the message */
|
||||
|
||||
' emailClient.Send(message)
|
||||
' If test = True Then
|
||||
' MsgBox("The testmail was send successfully", MsgBoxStyle.Information)
|
||||
' End If
|
||||
' Next
|
||||
' Return True
|
||||
' Catch ex As Exception
|
||||
' clsLogger.Add(ex.Message, True, "cls.SendEmail")
|
||||
' If test = True Then
|
||||
' MsgBox("Unexpected error in Send Testmail: " & ex.Message, MsgBoxStyle.Critical)
|
||||
' End If
|
||||
' Return False
|
||||
' End Try
|
||||
'End Function
|
||||
Public Shared Function Email_Send_Independentsoft(ByVal mailSubject As String, ByVal mailBody As String, mailto As String,
|
||||
mailfrom As String, mailsmtp As String, mailport As Integer, mailUser As String, mailPW As String,
|
||||
SSL As Boolean, Optional attment As String = "")
|
||||
Dim empfaenger As String()
|
||||
If mailto.Contains(";") Then
|
||||
empfaenger = mailto.Split(";")
|
||||
Else
|
||||
ReDim Preserve empfaenger(0)
|
||||
empfaenger(0) = mailto
|
||||
End If
|
||||
Dim _error As Boolean = False
|
||||
'Für jeden Empfänger eine Neue Mail erzeugen
|
||||
For Each _mailempfaenger As String In empfaenger
|
||||
|
||||
Try
|
||||
Dim message As New Message()
|
||||
message.From = New Mailbox(mailfrom, mailfrom)
|
||||
message.[To].Add(New Mailbox(_mailempfaenger))
|
||||
message.Subject = mailSubject
|
||||
|
||||
Dim textBodyPart As New BodyPart()
|
||||
textBodyPart.ContentType = New ContentType("text", "plain", "utf-8")
|
||||
textBodyPart.ContentTransferEncoding = ContentTransferEncoding.QuotedPrintable
|
||||
textBodyPart.Body = mailBody
|
||||
message.BodyParts.Add(textBodyPart)
|
||||
If attment <> String.Empty Then
|
||||
If System.IO.File.Exists(attment) Then
|
||||
Dim Attachment As Attachment = New Attachment(attment)
|
||||
message.Attachments.Add(Attachment)
|
||||
Dim attachment1 As New Attachment("c:\testfolder\test.docx")
|
||||
If attment.ToLower.EndsWith("pdf") Then
|
||||
attachment1.ContentType = New ContentType("application", "pdf")
|
||||
ElseIf attment.ToLower.EndsWith("jpg") Then
|
||||
attachment1.ContentType = New ContentType("application", "jpg")
|
||||
ElseIf attment.ToLower.EndsWith("docx") Then
|
||||
attachment1.ContentType = New ContentType("application", "MS-word")
|
||||
End If
|
||||
message.BodyParts.Add(attachment1)
|
||||
End If
|
||||
End If
|
||||
Dim client As SmtpClient
|
||||
Try
|
||||
client = New SmtpClient(mailsmtp, mailport)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail(Create Client)")
|
||||
_error = True
|
||||
Continue For
|
||||
End Try
|
||||
|
||||
With message
|
||||
.IsBodyHtml = True
|
||||
End With
|
||||
Try
|
||||
client.Connect()
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail(Client.Connect)")
|
||||
_error = True
|
||||
Continue For
|
||||
|
||||
'Einen SMTP Client erzeugen und Anmeldungsinformationen hinterlegen
|
||||
Dim emailClient As New SmtpClient(MAilSMTP)
|
||||
emailClient.EnableSsl = SSL
|
||||
'Email mit Authentifizierung
|
||||
Dim SMTPUserInfo As New System.Net.NetworkCredential(MailUser, MailUser_PW) ', My.Settings.vDomain)
|
||||
emailClient.UseDefaultCredentials = False
|
||||
emailClient.Credentials = SMTPUserInfo
|
||||
emailClient.Port = 25
|
||||
clsLogger.Add("==> Email erfolgreich an " & _mailempfaenger & " versendet!", False)
|
||||
clsLogger.Add("==> Text: " & vBody, False)
|
||||
clsLogger.Add("", False)
|
||||
'*Send the message */
|
||||
End Try
|
||||
client.StartTls()
|
||||
Try
|
||||
client.Login(mailUser, mailPW)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail(Client.Login)")
|
||||
_error = True
|
||||
client.Disconnect()
|
||||
Continue For
|
||||
End Try
|
||||
Try
|
||||
client.Send(message)
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail(Client.Send)")
|
||||
_error = True
|
||||
client.Disconnect()
|
||||
Continue For
|
||||
End Try
|
||||
client.Disconnect()
|
||||
|
||||
emailClient.Send(message)
|
||||
If test = True Then
|
||||
MsgBox("The testmail was send successfully", MsgBoxStyle.Information)
|
||||
End If
|
||||
Next
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
clsLogger.Add(ex.Message, True, "cls.SendEmail")
|
||||
If test = True Then
|
||||
MsgBox("Unexpected error in Send Testmail: " & ex.Message, MsgBoxStyle.Critical)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "clsEmail.SendMail()")
|
||||
_error = True
|
||||
End Try
|
||||
Next
|
||||
clsLogger.WriteLog()
|
||||
|
||||
If _error = True Then
|
||||
Return False
|
||||
End Try
|
||||
Else
|
||||
Return True
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -85,13 +85,13 @@ Public Class clsLogger
|
||||
End If
|
||||
'Präfixe schreiben
|
||||
If _error = True And Funktion <> "" Then
|
||||
msg = ">> Achtung Fehler in Funktion '" & Funktion & "'" & vbNewLine & "Fehlermeldung: "
|
||||
msg = ">> Unexpected error in function '" & Funktion & "': "
|
||||
ElseIf _error = True Then
|
||||
msg = ">> Achtung Fehler:" & vbNewLine & "Fehlermeldung: "
|
||||
msg = ">> Unexpected error: "
|
||||
End If
|
||||
'Präfix und Meldung zusammenstellen
|
||||
msg &= text
|
||||
log_string &= msg
|
||||
log_string &= Now.ToString & " " & msg
|
||||
End Sub
|
||||
Public Shared Sub AddError(ByVal error_string As String, Optional ByVal Funktion As String = "")
|
||||
If Inited = False Then
|
||||
@@ -101,12 +101,12 @@ Public Class clsLogger
|
||||
'Zuerst mal die Details schreiben
|
||||
WriteLog()
|
||||
'Nun den eigentlichen Fehler loggen
|
||||
Dim msg As String
|
||||
Dim msg As String = Now.ToString
|
||||
'Präfixe schreiben
|
||||
If Funktion <> "" Then
|
||||
msg = ">> Achtung Fehler in Funktion '" & Funktion & "'" & vbNewLine & "Fehlermeldung: "
|
||||
msg &= ">> Unexpected error in function '" & Funktion & "': "
|
||||
Else
|
||||
msg = ">> Achtung Fehler:" & vbNewLine & "Fehlermeldung: "
|
||||
msg &= ">> Unexpected error: "
|
||||
End If
|
||||
'Präfix und Meldung zusammenstellen
|
||||
msg &= error_string
|
||||
@@ -145,6 +145,12 @@ Public Class clsLogger
|
||||
|
||||
Public Shared Sub WriteLog()
|
||||
Try
|
||||
If log_string = Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
If log_string = String.Empty Then
|
||||
Exit Sub
|
||||
End If
|
||||
'Veruch das Log zu öffnen
|
||||
Dim fs As FileStream = New FileStream(LogFilename, FileMode.OpenOrCreate, FileAccess.Write)
|
||||
' --- Stream öffnen
|
||||
|
||||
@@ -156,6 +156,7 @@ Public Class clsProfil
|
||||
Dim MAIL_USER As String = ""
|
||||
Dim MAIL_USER_PW As String = ""
|
||||
Dim MAIL_SSL As Boolean = False
|
||||
Dim MAIL_PORT As String = "25"
|
||||
|
||||
For Each emailrow As DataRow In ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL.Rows
|
||||
If emailrow.Item("GUID") = CInt(EMAIL_PROFIL) Then
|
||||
@@ -164,6 +165,7 @@ Public Class clsProfil
|
||||
MAIL_USER = emailrow.Item("EMAIL_USER")
|
||||
MAIL_USER_PW = emailrow.Item("EMAIL_PW")
|
||||
MAIL_SSL = emailrow.Item("SSL_AUTH")
|
||||
MAIL_PORT = emailrow.Item("PORT")
|
||||
End If
|
||||
Next
|
||||
|
||||
@@ -192,7 +194,7 @@ Public Class clsProfil
|
||||
Email_Betreff = clsDateiverarbeitung.REGEX_REPLACE(WMdok, Email_Betreff)
|
||||
Email_Body = clsDateiverarbeitung.REGEX_REPLACE(WMdok, Email_Body)
|
||||
Dim FILENAME = ClassWMResulthandler.clsCURRENT.WDLAUFWERK & ":" & WMdok.aPath
|
||||
clsEmail.Send_EMail(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_USER, MAIL_USER_PW, MAIL_SSL, FILENAME)
|
||||
clsEmail.Email_Send_Independentsoft(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_SSL, FILENAME)
|
||||
|
||||
|
||||
Else
|
||||
@@ -471,7 +473,7 @@ Public Class clsProfil
|
||||
Dim MAIL_USER As String = ""
|
||||
Dim MAIL_USER_PW As String = ""
|
||||
Dim MAIL_SSL As Boolean = False
|
||||
|
||||
Dim MAIL_PORT As Integer
|
||||
|
||||
For Each emailrow As DataRow In ClassWMResulthandler.clsCURRENT.DT_TBDD_EMAIL.Rows
|
||||
If emailrow.Item("GUID") = CInt(EMAIL_PROFIL) Then
|
||||
@@ -480,6 +482,7 @@ Public Class clsProfil
|
||||
MAIL_USER = emailrow.Item("EMAIL_USER")
|
||||
MAIL_USER_PW = emailrow.Item("EMAIL_PW")
|
||||
MAIL_SSL = emailrow.Item("SSL_AUTH")
|
||||
MAIL_PORT = emailrow.Item("PORT")
|
||||
End If
|
||||
Next
|
||||
|
||||
@@ -501,7 +504,7 @@ Public Class clsProfil
|
||||
Return False
|
||||
End If
|
||||
|
||||
clsEmail.Send_EMail(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_USER, MAIL_USER_PW, MAIL_SSL, ClassWMResulthandler.clsCURRENT.CONCATTED_FILE)
|
||||
clsEmail.Email_Send_Independentsoft(Email_Betreff, Email_Body, Email_Empfänger, MAILFROM, MAILSMTP, MAIL_PORT, MAIL_USER, MAIL_USER_PW, MAIL_SSL, ClassWMResulthandler.clsCURRENT.CONCATTED_FILE)
|
||||
|
||||
|
||||
Else
|
||||
|
||||
@@ -8,7 +8,7 @@ Imports System.Runtime.InteropServices
|
||||
|
||||
' Die Werte der Assemblyattribute überprüfen
|
||||
|
||||
<Assembly: AssemblyTitle("ResultHandler_Konfig")>
|
||||
<Assembly: AssemblyTitle("WM ResultHandler - Config")>
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("")>
|
||||
<Assembly: AssemblyProduct("ResultHandler_Konfig")>
|
||||
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.1.0.0")>
|
||||
<Assembly: AssemblyVersion("1.2.0.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.1")>
|
||||
|
||||
@@ -640,10 +640,7 @@ Public Class frmMain
|
||||
Sub Manual(ID As Integer)
|
||||
'Try
|
||||
Dim notcompleted As Boolean = False
|
||||
|
||||
ClassWMResulthandler.clsLogger.Add("", False)
|
||||
ClassWMResulthandler.clsLogger.Add("## Start Durchlauf WindreamResultHandler - " & Now & " ## ", False)
|
||||
ClassWMResulthandler.clsLogger.Add("", False)
|
||||
'windream initialisieren
|
||||
If ClassWMResulthandler.clsDatatabase.Init(My.Settings.SQLSERVER_CS) = True Then
|
||||
If _windream.Init() = True Then
|
||||
@@ -783,8 +780,12 @@ Public Class frmMain
|
||||
Dim PWPlain = wrapper.DecryptData(EMAIL_PWTextBox.Text)
|
||||
|
||||
|
||||
ClassWMResulthandler.clsEmail.Send_EMail("Testmail DD Windream-ResultHandler", "This is the body (text will be replaced within profile)", txtTestmail.Text,
|
||||
EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, CheckBoxSSL.CheckState, "", True)
|
||||
If ClassWMResulthandler.clsEmail.Email_Send_Independentsoft("Testmail DD Windream-ResultHandler", "This is the body (text will be replaced within profile)", txtTestmail.Text,
|
||||
EMAIL_FROMTextBox.Text, EMAIL_SMTPTextBox.Text, PORTTextBox.Text, EMAIL_USERTextBox.Text, PWPlain, CheckBoxSSL.CheckState, "") = True Then
|
||||
MsgBox("Email was send successfully.", MsgBoxStyle.Information)
|
||||
Else
|
||||
MsgBox("Could not send the testmail. Please check the log.", MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Reference in New Issue
Block a user