Soran
C# da mail gönderimi attachment dosya yolu sorunu

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
- Değiştirilmiş Tür Kyamuran SalibryamMicrosoft contingent staff, Moderator 18 Haziran 2020 Perşembe 22:37
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
- Düzenleyen Önay YALÇINERModerator 8 Haziran 2020 Pazartesi 12:19
-
-
öncelikle teşekkür ederim ve burada da şu sorunu vermekte "GetCretaionFile tür adı file türünde yok" hatası olmakta
-
öncelikle teşekkür ederim ve burada da şu sorunu vermekte "GetCretaionFile tür adı file türünde yok" hatası olmakta
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
-
-
ö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ı. -
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")
Klasör yolunu yanlış vermeyin "Yolda geçersiz karakterler var" hatası alırsınız!
.OrderByDescending(p => File.GetCreationTime(p)) .Take(3) .ToList() .ForEach(p => msj.Attachments.Add(new Attachment(p)));
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 9 Haziran 2020 Salı 08:19
-
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")
Klasör yolunu yanlış vermeyin "Yolda geçersiz karakterler var" hatası alırsınız!
.OrderByDescending(p => File.GetCreationTime(p)) .Take(3) .ToList() .ForEach(p => msj.Attachments.Add(new Attachment(p)));
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com