-
Üyelik
11.08.2014
-
Yaş/Cinsiyet
34 / E
-
Meslek
inşaat teknikeri
-
Konum
İstanbul Anadolu
-
Ad Soyad
M** I**
-
Mesajlar
310
-
Beğeniler
77 / 35
-
Ticaret
31, (%100)
Arkadaşlar sitemin sqlsinden üye olanların emaillerini topluca kaydetmek istiyorum. txt dosyasına liste halinde kaydedip toplu mailler atabilmek için.
Acaba sql deki email sırasını nasıl alabilirim?
-
Üyelik
26.08.2014
-
Yaş/Cinsiyet
38 / E
-
Meslek
Bilgisayar Mühendisi
-
Konum
Ankara
-
Ad Soyad
E** E**
-
Mesajlar
509
-
Beğeniler
85 / 84
-
Ticaret
3, (%67)
sql dediğin nedir arkadaşım?mssql mi mysql mi access mi?neyde alıcaksın?yazılım dilin ney phpmi aspx mi?
-
Üyelik
25.06.2012
-
Yaş/Cinsiyet
38 / E
-
Meslek
Engineering Director
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** C**
-
Mesajlar
771
-
Beğeniler
2 / 260
-
Ticaret
0, (%0)
Toplu mail atmak için db'deki değerleri alıp, txt dosyasına neden yazma ihtiyacı hissediyorsunuz?
select email from uye order by email asc; //asceding a-z, 0-9ye doğru
select email from uye order by email desc; //descending, ascending'in tam tersi
yukarıdaki gibi sql ile bir array yada list içine doldurup, for yada while loop içinde döndürüp mailleri atabilirsiniz fakat arka arkaya smtp portuna hızlı transaction işlemi yapmaya çalışacağından belki sıkıntı yaratabilir..
Böyle yapmak yerine,
bir queue içine atıp, sırayla 1 dk'da bir consume edecek şekilde göndermek daha makul ;)
1 kişi bu mesajı beğendi.
https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
-
Üyelik
25.06.2012
-
Yaş/Cinsiyet
38 / E
-
Meslek
Engineering Director
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** C**
-
Mesajlar
771
-
Beğeniler
2 / 260
-
Ticaret
0, (%0)
çözüm var çözüm var :) toplu mail gönderme işlemini adam akıllı yapmak için kullanılan best practice (en iyi çözüm) aslında şöyledir.
Elinizde farklı ip havuzlarına sahip 4-5 adet sunucu olmalı, bu sunucular üzerinde ActiveMQ, IRONMQ, RabbitMQ gibi queuing (kuyruklama) serverlar olmalı.. Bu serverlar mail atma işini kuyruklara sokup, belirli aralıklarla paralel olarak çalıştırıp, gönderme işini yapacaklar.
4-5 sunucunun önüne 1 adet sunucu koyulmalı ve bu sunucu üzerinde load balancer(gelen istekleri yoğunluğa göre ayrıştırmak için) ve dağıtım işini yapacak bir apache server kurulmalı..
Siz uygulamanız üzerinden yukarıdaki sql gibi veritabanından mailleri çekip, mail içeriğini doldurup, apache sunucuya göndereceksiniz. apache sunucu gelen istekleri load balancer ile arkada çalışan queue sunucularına dağıtarak yönlendirecek, onlarda kuyruğa sokup mailleri gönderecek :)
Toplu mail ve sms işini yapan şirketlerdeki sistem mimarisi budur. Bu işinde en iyi çözümü budur.
Genel bir bilgi olsun diye paylaştım ;)
https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
-
Üyelik
25.06.2012
-
Yaş/Cinsiyet
38 / E
-
Meslek
Engineering Director
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** C**
-
Mesajlar
771
-
Beğeniler
2 / 260
-
Ticaret
0, (%0)
patavatsiz adlı üyeden alıntı
ben vazgeçtim ne gerek var insanlara mail atmaya :D :D ben hotmailden topluca koyup mail atacaktım. zaten cpanelden maili kullanmıyorum :D benimki basit iş diye bir tek mailler olsaydı liste haline daha kolay olcaktı diye şey yapmıştımda vazgeçtim :D çok saolun
$result = mysql_query("SELECT email FROM uyeler order by email asc");
$emails = "";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$emails .= $row["email"].";";
}
emails değişkenine db'deki verileri örnek ; "abc@a.com;abc@b.com;abc@c.com;abc@d.com;" şu şekilde atadğımı düşünüyorum, syntax hatası olabilir..
sonrasında mail kütüphanesi ile to'ya emails değişkenini ekle gönder gitsin;
mail($emails,"Başlık..","İçerik ...");
KaynakKaynak2Kaynak3
https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)