PHP kullanarak Toplu e-postalar göndermek

6 Cevap php

I have to send mails to all users in the site when a new user joins. My problem is the script stops execution after sending around 400 mails. I have set the set_time_limit to 0. And also I am giving sleep(2) after sending 10 mails.

Ne bu sorun için bu issue.Any çözüm arkasındaki nedeni olabilir. Toplu e-postalar göndermek için daha iyi bir yöntem var mı?

Şimdiden teşekkürler

Gül

6 Cevap

Biz bunu yolu cron'nun yardımı ile.

(Firmamız) Biz 50 adreslerinin bloklar halinde userlist bölünmüş. Bu bloklar e-posta veri (başlıklar, gövde, ..) bu bloğu bağlantılar verilerle (veritabanındaki bir tablo konur.

Her 5 dakikada bir ya da öylesine tetiklenen bir cron.php dosyası sayesinde, sistem gönderilmesi gerekiyor ve e-posta gönderir veritabanında ilk kullanılabilir bloğu alır.

Eğer herhangi bir kod sağlayabilir nasıl onları gönderiyor, ben benzer bir sorunu vardı ve aşağı bellek kullanımı oldu?

PHP safe mode çalışıyorsa, set_time_limit hiçbir etkisi olmayacaktır. Eğer must güvenli modda PHP çalıştırırsanız, yapılandırma yönergesi max_execution_time kullanarak varsayılan zaman sınırını değiştirebilirsiniz.

Script durur neden bilmiyorum. Ama aynı zamanda toplu e-postalar göndermek için daha iyi yollar istedi. Ben bir e-posta paketini kullanarak size yerleşik PHP posta komutla daha fazla kontrol sağlar bulundu. Swift Mailer çok iyi biridir.

Bir görev kuyruğu kurmayı deneyin. Web uygulaması bir e-posta göndermek istediğinde, bu görevlerin bir veritabanına ekler ve ayrı bir cini her biri işler. Bu demektir, her bir her 2-4 saniyede bir gönderir her web sitesinin üyesi ve cini gönderilecek bir e-posta ayarlayabilirsiniz. Bazı ilham için Kohana task queue module (PHP), Delayed_job (Ruby) ve Celery (Python) Bkz.

Bu benim bir önceki ile ilgili değildir, çünkü ben yeni bir cevap gönderme ediyorum.

Ben merak ediyorum: tam olarak nereye set_time_limit için kurarım 0? Yani,., Php.ini htaccess, ya ini_set ile bir php dosyasından ().

Bu değer geçersiz olur mümkün mü?