2011-03-03 18 views
6

İstismari bir şekilde önemsiz pazarlamadan vazgeçmek Müşterilere yaklaşık 15.000 e-posta göndermem gerekiyor. İş arkadaşım onları php posta döngüsü yoluyla göndermeyi denedi, ancak açıkçası hızla sıkıştı. Bunu hızla gerçekleştirmek için geleneksel (yani PHP betiği ile) var mı? Eğer değilse, bunu (belki de exec aracılığıyla) fazla yük olmadan yapmama nasıl önerirsiniz?PHP: Toplu e-postaların çok miktarda gönderilmesi

Teşekkürler!

+1

Hızlı Mailer? http://swiftmailer.org/ – lam3r4370

cevap

4

gibi ücretli bir servise bakmaktır. Bir kerede 200.000+ postayı sıraya almak için PEAR'ın Mail_Queue kullanıyorum. Bir veritabanını doldurmak, özelleştirilmiş içerikle bile kolay ve hızlıdır ve daha sonra oldukça basit bir betik, yaklaşık 250 kez gönderir - yük ortalaması çok yüksek değilse. Daha sonra etrafta dolanır ve bir sonraki partiyi gönderir.

Onları genellikle mümkün olandan daha hızlı göndermezsiniz, ancak sorunsuz olarak yapar.

tutorialtutorial size ihtiyacınız olan hemen hemen her şeyi verir - veritabanı sırasının boş olana kadar '' send_messages.php '' komutunu (komut satırından daha iyi) çevirin.

+0

Teşekkür ederim, kesinlikle bir şans vereceğim. – Gal

0

CGI ile mi yoksa komut satırında komut dosyası olarak mı çalışıyorsunuz? Komut satırında bir senaryo olarak çalıştırmak en iyisidir.

Bunun takılıp kaldığını söylerseniz, çok uzun süren bir uygulamadan PHP'nin çıkmasını önlemek için set_time_limit(0);'u çalıştırmayı deneyin.

+0

Çözüm arıyorum. Zaman sınırı ayarla, hepsini göndermek için çok uzun sürecek. Komut satırında hangi komut dosyasını kullanmalıyım? – Gal

+0

Hiçbir şeyi değiştirmenize gerek yoktur. PHP betikleri komut satırında çalıştırılabilir. –

1

Anında teslimatı nasıl gerçekleştirirseniz kullanın: her zaman kesintiye uğrayan uzun bir süreç olacak ve teslimatı yeniden başlatmaya ve aynı mesajı 5.000 müşteriye iki kez gönderemezsiniz.

Güvenilir bir sistemin sıraları kullanması gerektiğine inanıyorum. Ana betik, alıcıları bir sıraya ekler ve ardından sıradaki öğeleri seçen, onları gönderen ve son olarak gönderildiği gibi işaretleyen ikincil bir işleminiz olur. Bu ikincil işlem manuel olarak (belki komut satırından) veya cron sekmesinden başlatılabilir.

ben hiç kullanmadım ama benim imleri bu var: http://ledscripts.com/free/php/phpledmailer

+0

-1: Bir MTA ** IS ** bir kuyruk sistemi. – symcbean

+0

@symcbean - Ve Paris bir Fransız şehridir. Düşürme ve yorumunuz bu soruyla gerçek bir ilişkiniz var mı? –

+0

genellikle iyi bir tavsiyede bulunursunuz - ancak bir kuyruğa alma sistemi kullanmadan e-posta göndermek neredeyse imkansızdır - ve zaten iyi yazılmış bir kuyruğa alma sistemine sahip olduğunuzda PHP'de daha fazla kuyruğa neden uygulayabilirsiniz - çoğu zaman manaing araçlarında kullanıma hazır birçok eklenti kuyruk? – symcbean

İlgili konular