Zwolnienie dostepu do pliku?

0

Witam.
Mam na dysku plik. Z klasy glownej wyzwalam funkcje klasy odpowiadajaca za wysylanie e-mail. Do tego maila ma byc zalaczony plik z dysku w postaci zalacznika. Po calej akcji chce usunac plik, ktory zostal wyslany. Niestety, w momencie proby kasowania pojawia sie komunikat, ze plik wciaz jeest uzywany. Co jest nie tak? Robie to tak:

 class Program
{
    static void Main()
        {
		string plik = "C:\\test.txxt"
		sendmail sem = new sendmail();
		sem.CreateEmail(plik);
		File.Delete(plik);
	}
}


    class sendemail
    {
        public void CreateEmail(string sciezka_do_pliku)
        {
            var message = new MailMessage();
            message.From = new MailAddress("[email protected]", "[email protected]");
            message.To.Add(new MailAddress("[email protected]"));
            message.Subject = "testowy";
            message.Body = "test";
            
            System.Net.Mail.Attachment attachment;
            attachment = new System.Net.Mail.Attachment(sciezka_do_pliku);
            message.Attachments.Add(attachment);

            var smtp = new SmtpClient("smtp.gmail.com");
            smtp.UseDefaultCredentials = false;
            smtp.Credentials = new NetworkCredential("[email protected]", "haslo");
            smtp.EnableSsl = true;
            smtp.Port = 587;
            smtp.Send(message);
        }

    }
0

Aby odblokować plik powinieneś wywołać metodę Dispose na swoim obiekcie message. Ale najpierw upewnij się, że mail faktycznie został wysłany.

0

Polecam zapoznanie się ze słowem kluczowym using i używanie go do konstrukcji obiektów wszystkich klas implementujących IDisposable.

1 użytkowników online, w tym zalogowanych: 0, gości: 1