|  | 
ASP:Mailleri bölerek göndermek (asp ile toplu mail gönderme) - ASP Webmaster bilgi bankası, knowledge base Webmaster Araçları| AnaSayfa > ASP  > ASP:Mailleri bölerek göndermek (asp ile toplu mail gönderme) |  |  |  | Kategori | : ASP |  | Gönderen | : Admin |  | Tarih | : 2008-12-07 |  | Puan | : 4  | Katılımcı : 13 |  | Okunma | : 10728 |  |  |  |  |  |  |  |  | Aşağıdaki kodda Kayit_Sayisi değişkeninin değerini değiştirerek bir seferde kaç mail gönderileceğini, en altaki meta refresh kodunda da content değerini değiştirerek kaç saniye aralıklarla maillerin gönderileceğini belirleyebilirsiniz.
 
 <%
 ´Mailler_Conn isimli bir Connection nesnesi oluşturuyoruz.
 
 set Mailler_Conn = server.CreateObject("ADODB.connection")
 
 ´Maillerin kayıtlı olduğu veritabanımız nerdeki
 
 MailDBPath = Server.MapPath("maillist.mdb")
 
 ´Maillerin kayıtlı olduğu veritabanımıza bağlanıyoruz.
 
 Mailler_Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&MailDBPath&";"
 
 ´rs isimli recordsetimizi oluşturuyoruz.
 
 set rs = Server.CreateObject("ADODB.RecordSet")
 
 ´Maillerin kayıtlı olduğu tabloyu açıyoruz.
 
 rs.Open "SELECT mail FROM uyeler", Mailler_Conn, 1, 3
 
 ´Bir seferde kaç kişiye birden mail gidecek belirliyoruz.
 
 Kayit_Sayisi = 40
 
 ´Sayfamızın adı
 
 BuSayfa = Request.ServerVariables("Script_Name")
 
 ´Gelen sayfa sayısı
 
 GelenSayfa = Request("Sayfa")
 
 ´Sayfalama olayları
 
 rs.PageSize = Kayit_Sayisi
 rs.CacheSize = Kayit_Sayisi
 
 If GelenSayfa = "" Then
 Gosterilen_kayit = 1
 Else
 Gosterilen_kayit = CInt(GelenSayfa)
 End If
 
 Toplam_Kayit = rs.PageCount
 
 If Gosterilen_kayit > Toplam_Kayit Then Gosterilen_kayit = Toplam_Kayit
 
 If Gosterilen_kayit < 1 Then Gosterilen_kayit = 1
 
 rs.AbsolutePage = Gosterilen_kayit
 
 ´------------------------------------------------------
 ´Mail komponentinize göre mail objemizi oluşturuyoruz.
 Set axu = Server.Createobject("Persits.MailSender")
 ´SMTP Serverimiz
 axu.Host = "mail.benimsitem.com"
 ´Kimden geliyor
 axu.From = "admin@benimsitem.com"
 ´İsim
 axu.FromName = "Admin"
 ´Konu
 axu.Subject = "Benim siteden size mail var."
 ´------------------------------------------------------
 
 i = 0
 do while i < Kayit_Sayisi and Not rs.Eof
 
 ´Ve en önemli olayımız mail adreslerini
 ´Bcc kısmına ekliyoruz.Böylece bir seferde
 ´belirlediğiniz sayı kadar kişiye mail gidiyor.
 ´Siz bunu AddCC kısmına yada AddAddress kısmınada
 ´ekleyebilirsiniz. Ama ben adres satırında sadece
 ´bir mail adresi görünmesini istiyorum ki
 ´bu mail üyenize olan saygınızı gösterir.
 
 axu.AddBcc rs("mail")
 
 i = i + 1
 rs.MoveNext
 Loop
 
 ´Burda mesajı göndermek istediğimiz mesajı yazıyoruz.
 ´Siz ordaki yazı yerine bir değişkenden de alabilirsiniz.
 
 axu.Body = "Selam sevgi sabah"
 
 ´Html mail göndermek istemiyorsanız bunu silebilirsiniz. Yada False yapın.
 
 axu.IsHTML = True
 
 ´Hata durumunda devam et ki geride kalanlara da mesaj ulaşsın.
 
 On Error Resume Next
 
 ´Bitti gitti
 
 axu.Send
 
 ´Biz katil değil webmasteriz ama öldürelim gitsin.
 
 set axu = Nothing
 
 ´Mesajlar bittiğinde bitti diyelim olayı sona erdirelim.
 
 if rs.eof or rs.bof Then
 Response.Write "Bitti"
 Response.End
 end if
 
 ´Ve en önemli olan kısım oradaki 15 saniye
 ´cinsinden süre. bu kısım bize döngü sağlıyor.
 ´15 saniyede bir sayfa kendi kemdini tazeleyecek
 ´ve sonra ki posta maili gönderecek. Bu sırada
 ´ekranda toplam kaç posta mail gideceğini ve
 ´sizin o anda kaçıncı postayı gönderdiğinizi görebilirsiniz.
 %>
 <meta http-equiv="refresh" content="15; url=<%=BuSayfa%>?Sayfa=<%=Gosterilen_kayit+1%>">
 <center><h4><%=Gosterilen_kayit%> / <%=Toplam_Kayit%> gitti.
 
 
 
 
 
 
 | 
 |