Hey!
Ohh so many things to say...
Firstly, the to is comma separated, i.e. 'mail@server.dom,mail2@server.dom,mail3@otherserver.dom'
It should be one string. You can also test easily not to send duplicates by doing:
$to = ''; //single quotes to prevent the parser from bugging
foreach ($receivers as $receiver){
if (!stristr($to,$receiver->Email)) $to .= $receiver->Email;
}
//then pass $to in the email parameter
On another note. You do not need to send emails live to test them. There is a debugging tool built into Silverstripe for that purpose.
//create email here
//then do something like this
if (SiteConfig::current_site_config()->DebuggingMode)
print_r($email->debug());
else
$email->send();
Hope that helps!