Pregunta

Tengo un cron que genera toda la información de correo y lo pone en una tabla de base de datos utilizando $mail_queue->put(.....) con una opción para eliminar mensajes de correo electrónico después de que sean enviados.

Aquí es donde necesito un poco de ayuda: ¿Cuál es la mejor manera de enviar los correos electrónicos después de tener la información anterior? Ejecución de la $mail_queue->sendMailsInQueue() de inmediato, utilizando otro trabajo (s) cron o algo más?

El límite del servidor por cierto es de 100 correos electrónicos / minuto. Actualmente no se aplica la última diff CSV para Mail_Queue (actualmente trabajando con el apoyo en eso), así que no puede utilizar la opción de "retraso".

Yo tenía una idea de usar la opción $seconds_to_send, pero se calcula sobre la base del campo CREATE_TIME, que no es una gran ayuda, pero es también una opción.

Todas las ideas y sugerencias sería muy apreciada.

¿Fue útil?

Solución

En lo personal, me gustaría ir por el camino de cron, ya que da menos posibilidades de fracaso. Digamos que su servidor de correo deja de responder o por alguna otra razón no está disponible. ¿Y si toda la red se desconecta durante unas horas, pero los servidores aún están generando mensajes de correo electrónico. Digo utilizar la cola.

En cuanto a lo demora, solo hay un servicio / cronjob recoger la cola de cada sesenta segundos, el pop de 100 correos electrónicos y enviarlos, a continuación, dejar de fumar. Usted puede obtener una cola de mensajes para ser enviados, pero que va a pasar, no importa lo que el sistema que elija. La cola se vaciará durante horas fuera de punta, de todos modos.

Otros consejos

utilizar dos guiones. uno para poblar su mesa Mail_Queue con los mensajes de correo electrónico que necesita para enviar y la segunda secuencia de comandos para enviar los correos electrónicos en trozos de 90 mails en un ir. establecer la segunda secuencia de comandos para ser activado sobre cada 2 minutos o menos.

También puedes, simplemente actualizar su plan de alojamiento; -)

¿Por qué no te bucle a través de 100 correos electrónicos y dormir durante 60 segundos. esto le cuesta ningún servertime, el único inconveniente la secuencia de comandos se ejecuta un poco más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top