Tamam, işte benim sorunum:
I have a list of members on a website, and periodically one of the admins my site (who are not very web or tech savvy) will send a newsletter to the memberlist. My current memberlist is well over 800 individuals long.
Yani, Gizli başlığında listelenen üyeleri ile, tam Göster Üye için e-posta gönderir bir e-posta komut dosyası yazdı.
Ancak, benim ana sunucu görünüşe üyeleri Gizli alanında listelenen bile aşan saatte 300 e-postalar, bir sınırı olduğunu keşfetti ettik. (Ben ... Bcc davranışı listedeki her isim için ayrı e-postalar göndermek için olduğunu daha önce farkında değildi)
Biraz düşündükten sonra, benim tek çözüm benim komut bir saat bekleyin ve sonraki üç yüz ikinci bir e-posta göndermek, başka bir saat bekleyin, sadece ilk 300 e-postaları sadece e-posta göndermek için sonuca geldik ve bu yüzden bütün üye listesine e-posta gönderene kadar üzerinde.
Looking around on the internet, I've seen some other solutions people have come up with for delaying emails in PHP. Sleep() is obviously not an option, because I can't just leave the script open and running for 3 or four hours. I've seen some people suggest cron jobs, but I'm not sure how feasible it would be to create three new cron jobs every time I send an email, use them once, and then delete them afterward. The final (and what I think is the smartest) solution I've seen, is to have a table in my database to temporarily store the emails to be delayed and sent later, and then create a cron job that checks this sql table every hour or so, compares the timestamp of the row to the current timestamp, and then sends the email if an hour has passed.
Yani seni önerirsiniz hangi yöntem tüm soruyorum. Ben tamamen baktım daha kolay bir çözüm (farklı bir hosting planı almak kenara! Ha.) Var mı, yoksa veritabanı / cron işi yaklaşımı daha bunu yapmak için temizleyici bir yolu var mı?
tl;dr: Ben 300/hr beni sınırlayan bir sunucu üzerinde bir saat göndermek için> 800 e-postalar var. PHP kullanarak, e-posta gönderme kişi, sadece tıklayın gerektiğini bir şekilde bu sorunu aşmanın bir yolunu bulmak "gönderin."