Hi,
I'm looking for a module that will help me manage batching of bulk emails and notifications, and to reduce the chance of my mail server being labelled as a SPAMMER. I am therefore very keen to ensure the number of mails sent out in one go is limited. However, it seems this feature isn't working correctly.
When I delved into the code in Message_store.inc I noticed that you've defined a variable define('MESSAGING_STEP_ROWS', 1000);. This seems to be used instead of the limit I set in the configuration.
It seems that the simple fix is to change the following line in function messaging_store_queue_process():
$number = messaging_store_queue_process_step(MESSAGING_STEPS_ROWS, $limit['time']);
to
$number = messaging_store_queue_process_step($limit['message'], $limit['time']);
However, I'm not sure this is the only place where limiting is required - because if you call messaging_message_send using the default queue=0, it seems that the messages are sent immedietely without any kind of throttling. Surely it would be better to queue by default, and then process the first batch immedietely.
Also, what happens to messages that failed to send? Do they just get added to the log and then never reprocessed?
Btw, this a great module and has saved me a lot of time.
Thanks,
Dan
Comments
Comment #1
jose reyero commentedYes, you're right that was missing. It should work now, please give it a try.
This was not intended for spam control though, just for queue escalability. The messages that have not been sent will stay in queue and will be processed in next cron run so this will only have an impact on the number of messages sent by time interval.