Hallo, habe wieder eine Frage. Und zwar habe ich einen Ordner wo sich Dateien befinden. Alle Dateien in diesem Ordner sollen nach dem senden wieder gelöscht werden. Mein Problem ist, wenn er die Dateien sendet, kommt eine Fehlermeldung, das der Zugriff auf diesem Pfad mit einem anderen Prozess verwendet wird. Wie bekomme ich es hin wenn er die Daten sendet dann auch gelöscht werden?
Hier mein code:
Dim smtpServer As New SmtpClient()
Dim mail As New MailMessage()
Dim attachment As Attachment = Nothing
smtpServer.Credentials = New Net.NetworkCredential(TB_Email.Text, TB_Passwort.Text)
'using gmail
smtpServer.Port = 587
smtpServer.Host = "smtp.gmail.com"
smtpServer.EnableSsl = True
mail = New MailMessage()
TB_EmailPfad.Text = TB_Speicherpfad.Text & "gesendet\"
Dim Datei As Object = TB_EmailPfad.Text
Dim sPath As String = Datei
If sPath.EndsWith("\") And sPath.Length > 3 Then
sPath = sPath.Substring(0, sPath.Length - 1)
End If
Dim sFiles() As String = System.IO.Directory.GetFiles(sPath, "*.txt")
With mail
.From = New MailAddress(TB_Email.Text)
.To.Add(TB_Email.Text)
.Subject = "Hallo"
.Body = "Test"
Dim sFile As String
For Each sFile In sFiles
.Attachments.Add(New Attachment(sFile))
Next
End With
smtpServer.Send(mail)
'löschen
Dim DelelteFiles As String()
Dim FileName As String
If System.IO.Directory.Exists(Datei) Then
DelelteFiles = IO.Directory.GetFiles(Datei, "*.txt")
For i As Integer = 0 To UBound(DelelteFiles)
FileName = System.IO.Path.GetFileName(DelelteFiles(i))
IO.File.Delete(Datei & FileName)
Next
End If
End If
Hier mein code:
Dim smtpServer As New SmtpClient()
Dim mail As New MailMessage()
Dim attachment As Attachment = Nothing
smtpServer.Credentials = New Net.NetworkCredential(TB_Email.Text, TB_Passwort.Text)
'using gmail
smtpServer.Port = 587
smtpServer.Host = "smtp.gmail.com"
smtpServer.EnableSsl = True
mail = New MailMessage()
TB_EmailPfad.Text = TB_Speicherpfad.Text & "gesendet\"
Dim Datei As Object = TB_EmailPfad.Text
Dim sPath As String = Datei
If sPath.EndsWith("\") And sPath.Length > 3 Then
sPath = sPath.Substring(0, sPath.Length - 1)
End If
Dim sFiles() As String = System.IO.Directory.GetFiles(sPath, "*.txt")
With mail
.From = New MailAddress(TB_Email.Text)
.To.Add(TB_Email.Text)
.Subject = "Hallo"
.Body = "Test"
Dim sFile As String
For Each sFile In sFiles
.Attachments.Add(New Attachment(sFile))
Next
End With
smtpServer.Send(mail)
'löschen
Dim DelelteFiles As String()
Dim FileName As String
If System.IO.Directory.Exists(Datei) Then
DelelteFiles = IO.Directory.GetFiles(Datei, "*.txt")
For i As Integer = 0 To UBound(DelelteFiles)
FileName = System.IO.Path.GetFileName(DelelteFiles(i))
IO.File.Delete(Datei & FileName)
Next
End If
End If