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: 7   Puan:7 | Katılımcı:7 | Katılımcı : 7
Okunma: 5905
  
 
1 puan 2 puan 3 puan 4 puan 5 puan 6 puan 7 puan 8 puan 9 puan 10 puan

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.







Yorumlar
Yazan: pcmuh (07 Aralık 2011 Çarşamba)+1   
Şimdi bir maili toplu olarak kişilere göndermek istediğimizde spama düşme olasığı artmaktadır,bu yüzden emailleri asp.net-c# ile bölerek nasıl gönderebiliriz? mesela Listboxtaki kişilere bir anda değil de örneğin 10 kişiye 5 dk sonra,sonraki 10 kişiye... nasıl gönderebilirim,bi fikriniz var mı acaba? Yani foreach kullanıyorum ama nasıl yapabilirim
Yazan: admin (03 Ocak 2011 Pazartesi)+7   
Bruadaki kod zaten dongu ile mail gondermektedir. Dongu ile ne kadar mail gonderilecegi databasedeki kayitlara ve sunucunuzun bu dosyayi ne kadar derledigine baglidir.
Yazan: ertaneker (21 Kasım 2010 Pazar)0   
AddBcc ile maximum kaçtane mail gönderiliyor? Elimde 4000000 tane mail var toplu olarak mail göndermem gerekiyor yardımcı olursanız sevinirim
Yorum Ekleme Aparatı
Yorum Eklemek için lütfen sol menuden giris yapınız..
Toplam 3 yorum listelendi.