|
|
#1 (permalink) |
|
Üyelik Tarihi: 06.03.2008
Yer: Manisa
Mesaj: 7
|
persist 5 saniyede 1 mail yollamak asp
arkadaşlar persist bileşeni ile bir mail list yazdım, ve tüm maillere aynı anda aynı mesajı gönderebiliyorum , ama server ın fazla yorulmaması için maillerin 5 saniyede bir gitmesini istiyorum, yani birinci sıradakine mail gidecek , 5 saniye sonra 2. sıradakine geçecek gibi.
kodları da vereyim. PHP Code:
gönderim başarılı kodlarda bi sorun yok benim gördüğüm kadarıyla , onlarda hatam varsa onlara da baqabiirsiniz ![]() |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 21.08.2004
Yer: istanbul, eskişehir
Yaş: 25
Mesaj: 361
|
Re: persist 5 saniyede 1 mail yollamak asp
araya bir döngü koyup, atıyorum 1000'e kadar sayıp öyle gönderim yapsam, for - next ile döngüyü kurabilirsin.
belki daha mantıklı bi çözüm gelir ![]()
__________________
your KEY to EUROPE : AEGEE-Eskişehir (v2.0) | MCPD adayı |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 28.04.2007
Yer: Ankara
Mesaj: 273
|
Re: persist 5 saniyede 1 mail yollamak asp
for next kötünün de kötüsü bir çözüm, işlemci gücü olarak belki 1000 kat daha pahalı bir iş yapmış olursun. bunun yerine multithread bir sınıf oluşturup bununla olayı çözebilirsin. threadi belirli bir süre uytup daha sonra uyandırabilirsin.
bir başka çözüm ise mail gönderdiklerini veri tabanında tutup her seferinde sadece bir kişiye göndermek (select top) ve bunu cron kullanarak 1 dakika gibi bir zamana set etmek. bence 5 saniyelik bir gecikme seni herhangi bir gözlemleme uygulamasından korumayacaktır. |
|
|
|
|
|
#5 (permalink) |
|
Üyelik Tarihi: 07.03.2007
Yer: Ankara
Mesaj: 165
|
Re: persist 5 saniyede 1 mail yollamak asp
kullanıcı alanına "mail" adlı bir hucre ac. default olarak "0" yap. DB'yi where mail='0' ile aç ve mail gittikten sonra kullanıcının mail kısmını 1 ile update et. 5 saniyede 1 sayfayı yenilet. İstediğini yapmış olacaksın.
__________________
Bilgi paylaşmak için vardır! |
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 08.03.2004
Yer: Ankara
Yaş: 26
Mesaj: 10
|
Re: persist 5 saniyede 1 mail yollamak asp
Arkadaşım mailleri tek tek yollamak yerine adresleri BCC alanına yazarak sıkıntını çözebilirsin sanırım. Hem böylece gönderdiğin adreslerde birbirini göremez.
Eğer göndereceğin mail adresleri çok ise kayıtları for next döngüsü ile 50'şer olarak BCC ye ekleyebilirsin. Ama böyle yapınca hangi maillere başarılı olarak gitmiş hangilerine gitmemiş anlayamazsın tabiki. O halde kodunu şöyle değiştirmen gerekir. Tüm posta kayıtlarını BCC alanına ekleyerek. Kod:
Dim PostaListesi
Do while not rs2.eof
PostaListesi = PostaListesi & ";" & maillist = rs2("mail")
rs2.movenext
loop
Dim mail
Set mail = server.CreateObject("Persits.MailSender")
mail.Host = "webmail.domain.com"
mail.From = ""&gondericimail&""
mail.Username = ""&gondericimail&""
mail.Password = "sifrem"
mail.IsHTML = True
mail.FromName = ""&gonderici&""
mail.AddAddress gondericimail 'Kime kısmında kendi mailimiz gözüksün
mail.AddBCC = PostaListesi
mail.Subject = ""&baslik&""
mail.Body = ""&detay&""
mail.Send
If err Then
Response.Write err.Description & "<br>Mesajınız Gönderilmedi.."
Else
Response.Write("teşekkürler" )
End If
set mail = nothing
__________________
Bilgi Güçtür! |
|
|
|
Zoque'a hoşgeldiniz!