Hallo, ich hab ein kleines Programm geschrieben, welches mir eine Email mit Anhang verschicken kann. Das funktioniert auch, doch wenn ich nach dem Verschicken den Anhang löschen will, kommt eine Fehlermeldung dass diese Datei vom anderen Prozess verwendet wird. Der Prozess wird wahrschenilich der sein, der auch die Email verschickt, doch wieder bekomme ich die Datei wieder freigegeben ?
1 | Private Sub Email_versenden(ByVal Text As String, ByVal Betreff As String, Optional ByVal Mit_Anhang As Boolean = False) |
2 | Try |
3 | Dim Mailadresse As String = "xxx@web.de" 'Emailadresse festlegen |
4 | Dim Passwort As String = "xxx" 'Passwort festlegen |
5 | Dim MyEmail As New MailMessage |
6 | Dim Anhang As Attachment |
7 | |
8 | MyEmail.From = New MailAddress(Mailadresse) 'Absender |
9 | MyEmail.To.Add(Mailadresse) 'Empfänger |
10 | MyEmail.Subject = Betreff 'Betreff |
11 | MyEmail.Body = Text 'Inhalt der Email |
12 | |
13 | If Mit_Anhang Then |
14 | 'Anhang vorbereiten |
15 | Dim Inhalt() As String = Directory.GetFiles(Verzeichnis) |
16 | |
17 | For i = 0 To Inhalt.GetUpperBound(0) |
18 | Anhang = New Attachment(Inhalt(i)) |
19 | MyEmail.Attachments.Add(Anhang) |
20 | Next |
21 | End If |
22 | |
23 | 'Zugriff auf den Account |
24 | Dim smtp As New SmtpClient("smtp.web.de") |
25 | smtp.Port = 587 'Standardport |
26 | smtp.EnableSsl = True 'sichere Übertragung ermöglichen |
27 | smtp.Credentials = New System.Net.NetworkCredential(Mailadresse, Passwort) 'Anmeldeinfos bereitstellen |
28 | |
29 | smtp.Send(MyEmail) 'Email versenden |
30 | |
31 | Catch ex As Exception |
32 | 'MsgBox("Email-Fehler") 'zu Testzwecken |
33 | End Try |