none
C# da mail gönderimi attachment dosya yolu sorunu RRS feed

  • Genel Tartışma

  • Merhaba Arkadaşlar.Benim Yapmak istediğim bir mail gönderim exe.si oluşturmak.

    Olay şöyle;

    bir ateşölçer kamera sistemi var,onun alarm adı altında çektiği fotoğraflar pc içinde bir o kamera için yazılmış bir programın klasöründe tutuluyor.örnek c:\Program Files\uti165k\History. ben bu history dosyasına düşen güncel fotoğrafları alıp mail olarak kullaıcının istediği maile gönderme işlemini gerçekleştirecek bir proje yapmak istiyorum.Globalde string bir değişkende string dosyayolu="@C:\Program Files\Uti165K\History\" diye dosya yolunu tanımlayıp msj.Attachments.Add(new Attachment(dosyayolu)); diyerek eklemek istiyorum dosya içindeki yüklenen en son .png uzantılı dosyayı ama dosya yolu konusunda sürekli hata veriyor 

     \Picture_Mail_Send\Picture_Mail_Send\bin\Debug\0' dosyası bulunamadı.'

    hatası vermekte.ne yapabilirim yardım ederseniz sevinirim

    8 Haziran 2020 Pazartesi 10:46

Tüm Yanıtlar

  • klasör verdiğiniz için oluyor. Direk son dosyanın adını bulup vermelisiniz. bunun için o klasör içindeki tüm dosyaları File.GetCreationTime ile oluşlturma zamanlarına göre descending sıralayıp ilkini alırsanız son oluşan dosyayı bulursunuz örn;

    string dosyayolu = Directory
        .GetFiles(@"C:\Program Files\Uti165K\History", "*.png")
        .OrderByDescending(p => new File.GetCreationTime(p))
        .FirstOrDefault();


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    8 Haziran 2020 Pazartesi 12:15
    Moderatör
  • öncelikle teşekkür ederim ve burada da şu sorunu vermekte  "GetCretaionFile tür adı file türünde yok" hatası olmakta

    8 Haziran 2020 Pazartesi 13:50
  • öncelikle teşekkür ederim ve burada da şu sorunu vermekte  "GetCretaionFile tür adı file türünde yok" hatası olmakta

    Basit bir yazım hatası. En yakın özelliği seçin. Sizi gerçekten anlıyorum aceleniz vardır ama kopyala yapıştır yerine mantığı anlayıp uygularsanız benzer sorunları ileride daha az yaşarsınız.

    www.cihanyakar.com

    8 Haziran 2020 Pazartesi 15:42
    Moderatör
  • öncelikle teşekkür ederim ve burada da şu sorunu vermekte  "GetCretaionFile tür adı file türünde yok" hatası olmakta

    Yoksa benim bahsettiğim File ile sizin kullandığınız File aynı değil demektir. Ben System.IO altındaki File den bahsediyorum.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    8 Haziran 2020 Pazartesi 21:48
    Moderatör
  • Cretaion

    Creation

    www.cihanyakar.com

    8 Haziran 2020 Pazartesi 21:57
    Moderatör
  • öncelikle teşekkür ederim ve burada da şu sorunu vermekte  "GetCretaionFile tür adı file türünde yok" hatası olmakta

    Yoksa benim bahsettiğim File ile sizin kullandığınız File aynı değil demektir. Ben System.IO altındaki File den bahsediyorum.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    Aslında ikimizin File'ı aynı System.IO altındaki file.sizin daha önce dediğiniz konu zaten kafamı karıştıran bir konuydu,global bir string değişken içerisinde adres tanımlaması yaparken(Örnek;string dosyayolu=@"C:\Program Files\UTi165K\History) dosya yolunda sürekli sorunla karşılaşıyorum.spesifik olarak bir dosya içinde direk dosya adını vererek işlem yaptığımda gönderim sağlıyor mail fakat benim istediğim bu değil.o klasör içindeki .png uzantılı en yeni 3 fotoğrafı mail olarak göndermek ve openfiledialog kullanarak da değil.FileInfo ile yeni bir (örnek; FileInfo FI = new FileInfo(@"C:\Program Files\UTi165K\History\*.png");


                DirectoryInfo DI = FI.Directory;
                FileInfo[] DirectoryInfoList = DI.GetFiles();)

    olarak da denediğimde dosya yolunda 

    'Yolda geçersiz karakterler var.' hatası ile karşılaşıyorum.ve 4 gündür aynı sorun üzerinde çalıştığım için biraz daraldım açıkçası.
    9 Haziran 2020 Salı 05:53
  • Sorunun kaynağının kendiniz olduğunu biliyorsunuz değil mi? Kendi kurguladığınız yöntem çalışmadığı için buraya yazıyorsunuz ama önerileri dikkate almayıp hatta yanlış yazıp, hata alınca yine kendi kurgunuzu düzelmemizi istiyorsunuz. hemde 2 satır kod paylaşarak.

    Directory
    .GetFiles(klasör, ".png")
    .OrderByDescending(p => File.GetCreationTime(p)) .Take(3) .ToList() .ForEach(p => msj.Attachments.Add(new Attachment(p)));
    Klasör yolunu yanlış vermeyin "Yolda geçersiz karakterler var" hatası alırsınız!


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    9 Haziran 2020 Salı 08:17
    Moderatör
  • Sorunun kaynağının kendiniz olduğunu biliyorsunuz değil mi? Kendi kurguladığınız yöntem çalışmadığı için buraya yazıyorsunuz ama önerileri dikkate almayıp hatta yanlış yazıp, hata alınca yine kendi kurgunuzu düzelmemizi istiyorsunuz. hemde 2 satır kod paylaşarak.

    Directory
    .GetFiles(klasör, ".png")
    .OrderByDescending(p => File.GetCreationTime(p)) .Take(3) .ToList() .ForEach(p => msj.Attachments.Add(new Attachment(p)));
    Klasör yolunu yanlış vermeyin "Yolda geçersiz karakterler var" hatası alırsınız!


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    Teşekkür ederim.Aslında önerinizi dikkate almıştım ama bu konudaki cahilliğimi mazur görün.Yeniden teşekkür ediyorum.
    9 Haziran 2020 Salı 13:43