Thanks for this great hack. As noted above, it does send out email in test mode actually. I tried the following change, which I believe fixed the problem so that it will ONLY test and not actually send email in test mode.
PHP Code:
if (!$_POST['test'] OR !$test)
{
echo $vbphrase['emailing']." \n";
vbmail($user['email'], $subject, $sendmessage, true, $from);
Should be
PHP Code:
if (!$_POST['test'] AND !$test)
{
echo $vbphrase['emailing']." \n";
vbmail($user['email'], $subject, $sendmessage, true, $from);
There also might be a bug that if you force close a email batch that is being processed (either by closing your browser, or restarted web server) , for whatever reason (I noticed I put in the wrong from address and all mail is rejected by MTA), then that mail batch is left over in the mailtemp table, and next time when you try to send mass email, the previous left-over batch will likely be the one being actually ran, instead of the new one you just created.