ARMUT / MAIL_QUEUE ile 10.000 + e-postalar göndermek için en iyi yolu

3 Cevap php

Ben bütün posta bilgi üretir ve gönderilen konum sonra e-postaları silmek için bir seçenek ile $mail_queue->put(.....) kullanarak bir veritabanı tablosundaki koyar bir cron var.

Biraz yardıma ihtiyacım İşte burada: Ben yukarıdaki bilgileri var sonra e-postalar göndermek için en iyi yolu nedir? Diğer cron işi (ler) ya da başka bir şey kullanarak, hemen $mail_queue->sendMailsInQueue() Koşu?

Arada sunucu sınırı 100 e-posta / dakika. Şu anda Mail_Queue (şu anda bu konuda desteği ile çalışma) tatbik edilmez, bu yüzden "gecikme" seçeneğini kullanamazsınız için son csv fark.

Ben $seconds_to_send seçeneği kullanmak için bir fikrim yoktu, ama bu büyük bir yardım değildir create_time alanında, baz hesaplanır, ama aynı zamanda bir seçenek.

Herhangi bir fikir ve önerileri gerçekten mutluluk duyacağız.

3 Cevap

Başarısızlık için daha az fırsat verir çünkü Şahsen ben cron yolu giderdim. Posta sunucusu yanıt ya da başka bir nedenle kullanılamaz hale için durur söylüyorlar. Ya da ne tüm ağ birkaç saat için çevrimdışı, ancak sunucuları hala e-postaları üreten eğer. Ben kuyruğu kullanmak söylüyorlar.

Gecikme şey için olduğu gibi, sadece bir hizmet var /, kuyruğu her altmış saniye pick up 100 e-posta pop ve onları göndermek Cronjob, sonra çıkın. Sen gönderilecek ama bu seçtiğiniz olursa olsun hangi sistem ne olacak e-postaların bir kuyruk alabilirsiniz. Kuyruk zaten, off-pik saatlerde boşaltacaktır.

İki komut dosyalarını kullanabilirsiniz. Bir seferde 90 postaların parçalarını bu e-postalar göndermek için göndermek için gereken e-posta ve ikinci komut ile MAIL_QUEUE tablo doldurmamak için. her 2 dakika kadar yaklaşık etkinleştirilmesi için ikinci komut ayarlayın.

Ayrıca sadece hosting planı yükseltmek ;-)

Eğer 60seconds için 100 e-posta ve uyku aracılığıyla döngü neden dont. Bu size hiçbir Servertime, script biraz daha uzun çalışan tek dezavantajı maliyeti.