El tema de la autentificación es necesario, pues al igual que si tu usas tu cuenta de correo y configuras un "Outlook" (cliente de correo) necesitas indicar los datos de autentificación (usuario/contraseña) .. así es como te puede impedir usarlo si no usas esos datos.
Un ejemplo completo de uso de PHPMailer con uso de autentificación lo tienes en este tutorial:
http://www.programacion.com/php/articulo/phpmailer/
Por lo demás, deberías generar un e-mail por envio .. no usar todas las direcciones en el "TO" (es lo que haces cuando usas AddAddress()) o BCC o BCC.
Para eso .. de tu array que tienes la lista de e-mails a enviar .. lo recorres con un bucle, generas el e-mail a enviar y lo envias:
Código PHP:
// resto de configuración de PHPMailer y definición de tu e-mail ..
// El e-mail adjunto lo adjunto una vez sólo .. ahí permanecerá definido hasta que termine el envio ..
$mail->AddStringAttachment($adjunto, "attach");
foreach ($_POST['seleccion'] as $email){
// Añades la dirección de e-mail a enviar
$mail->AddAddress($email);
if(!$mail->Send()) {
echo "Hay un error enviando a " . $email . "<br>";
}
// esto es necesario para no ir acumulando direcciones de e-mail
$mail->ClearAddresses();
}
Un saludo,