Scenario. Drupal 6.x running in a shared host environment. Trying to send 20 messages (that's very few) correctly every poormanscron-run (~ every 5 minutes).
I could be logging to watchdog, but I logs to a csv-file instead using
$log_line=date('Y-m-d') . ";" . date('H:i:s') . ";" . $subscription->mail . ";" . $message[result];
First error occurs on the second cron run
19-01-09 11:25:52 email@example.com 1
19-01-09 11:25:52 firstname.lastname@example.org 1
19-01-09 11:25:53 email@example.com 1
19-01-09 11:25:57 firstname.lastname@example.org 1
Why, oh why?
I could understand multiple copies if the mail-function was returning a FALSE (not delivered). But it is not so. $message[result] is always 1, TRUE.
Result: a newsletter sent to 1.000 subscribers is usually sent 1.500 times (in this case 1.537 times, check the attached files).
How do you stop Simplenews from behaving in this manner? 20 mails per cron run is rather low, yet still yields this strange error.