Thanks Raam.
Yes I’ve checked everything so many times but I must be missing something obvious. I echoed the strings after sending and they look OK but as you suggested I checked the message source and all addresses appear in the “To:” This is the same in Yahoo and Thunderbird.
One fault I did find was that I didn’t use a capital T in the $headers[‘To’]. That caused the “To” address to be appended to the end of $recipient again but since then I only receive the message once (Sent and Cc’d to myself so should get 2).
Here is a portion of my script.

$to=’[email protected]’;
$cc=’[email protected]’;
$addresses=’[email protected], [email protected], [email protected]‘;

$recipients = $to.’, ‘.$cc.’, ‘.$addresses;
$headers[‘From’] = $from;
$headers[‘To’] = $to;
$headers[‘Subject’] = $subject;
$headers[‘Cc’] = $cc;

$mail = Mail::factory(“mail”);
$send = $mail->send($recipients, $headers, $body);

echo(“To: $to”);
echo(“Recipients: $recipients”);
echo(“Cc: $cc”);
The echo at the bottom was for me to check what was being sent from my form. The $from is generated earlier in the form.
Can you see what I’m doing wrong?