Merhaba ben toplu mail yollatmaya çalışıyorum ama mail yollarken mailler hem yavaş gidiyor hemde mail yollarken program yanıt vermiyor sanırım başka programlarda yanır vermeme sorunu olmuyormuş bu sorunu nasıl çözebilirim
hız sorununa gelirsek for döngüsünede bağlasam aynı anda 5 tane fonksiyonda çalıştırsam birim zaman 1 saniyeye düşen mail 1.4 yardımlarınızı bekliyorum şimdiden Teşekkürler
Toplu Mail Yollama (Yardım)
9
●716
- 09-12-2012, 18:49:06Üyeliği durduruldu
- 09-12-2012, 22:12:43eğer .net ile yazıyorsan thread veya background worker araştır. donma sorununu çözecektir...
- 10-12-2012, 06:53:34Üyeliği durdurulduprogram kendi tanımlanan smtpleri kulanıyor özelde olabiliyor gmailde
backworker donma sorununu çözdü tek sıkıntımız yavaşlama sıkıntısı 3 5 tane backworker işlemi versem durum değişirmi yada olurmu - 10-12-2012, 09:34:29yahu bende mailler gitmiyor anlamısım
ya o kadar seri iş yaparken sana nasıl cevap versin program elbetteki yanıt vermiyor der gerekli ayarını vermezsen.. C++Builder de Application->ProcessMessages isimli bir fonk var bu fonk cok yogun islemler sırasında dahi programın cevap vermesini saglıyor ,yanıt vermiyor olmuyor yani. Yazdıgınız programlama dilinde de buna benzer birşey mutlaka vardır biraz araştırın..O stmplere o kadar yuklenmeyin eğer mail server değilse yoksa server ip banlanır cogu mail hizmeti tarafından hatta blackliste girer debelenip durursunuz ondan sonra. Her mail arasına belirli bir süre ekleyin
- 10-12-2012, 09:46:24Background worker veya aşağıdaki gibi mail işlemini ThreadPool Kuyruğuna eklersen program sorunsuz çalışır.
System.Threading.ThreadPool.QueueUserWorkItem( new System.Threading.WaitCallback(delegate(object parametreler) { if ((exception != null) && (exception is System.Threading.ThreadAbortException)) return; //Bu arada mail gönderme işlemleri yaptırtırsın. }), new object[] { parametreler }); - 10-12-2012, 10:00:42Üyeliği durdurulduhocam kasma kilitlenme sorununu çözdüm demiştim neyse tek sorunum hız
- 14-12-2012, 08:52:31Eğer Real Hız istiyorsan bu biraz zor çünkü
Mail Request time ve Mail Response time aralığı sana veya senin programına bağlı değildir.
mail sunucuna ve o anki net hızına vs.
Ama şöyle bir durum var Eğer sen diyorsan ki mail sunucumun down olma ihtimali %0.000001
O zaman Mail listesini yukarda verdiğim örnekteki gibi thread kuyruguna eklersin
burası önemli !
Thread e verilen işlem bittiğinde değil! Thread kuyruğuna eklendiği anda bir atomic olarak bir değişkeni artırıp o dğeişkeni kullanıcıya yansıtırsan Kullanıcı çok hızlı bir şekilde
maillerin gittiğini düşünür.
Tabiki göndermek işlemi bitmemiştir ve arka planda mailler kuyruğa göre gönderilmeye devam ediyor olacaktır.
Bu sırada kullanıcı yeni bir liste eklerse bunu da yine atomic olarak daha önce tanımladığın listeye eklersin.
Thread-Safe çalışmaya dikkat et.
Kolay gele.
ya o kadar seri iş yaparken sana nasıl cevap versin program elbetteki yanıt vermiyor der gerekli ayarını vermezsen.. C++Builder de Application->ProcessMessages isimli bir fonk var bu fonk cok yogun islemler sırasında dahi programın cevap vermesini saglıyor ,yanıt vermiyor olmuyor yani. Yazdıgınız programlama dilinde de buna benzer birşey mutlaka vardır biraz araştırın..O stmplere o kadar yuklenmeyin eğer mail server değilse yoksa server ip banlanır cogu mail hizmeti tarafından hatta blackliste girer debelenip durursunuz ondan sonra. Her mail arasına belirli bir süre ekleyin