PHP no es como "javascript" .. sule requerir de más "tag's" de apertura y cierre de {} .. Así que .. mejor usalos (aunque si sólo ejecutas una instrucción no deria dar problemas) .. lo mismo con los ;
Luego .. envias un mail al e-mail que indicas en tu campo email que obtienes con tu $query['email'] ... pero en el "else" del if tienes otro mail()? que no defines bien los parámetros .. Si eso lo quieres usar para enviar un mail a un "administrador" si falla el envio de algún e-mail a tus usuarios .. usa correctamente la función mail() (como el otro que usas) y .. ademas: ¿que pasaría si ese mail tampoco se puede enviar? .. Tendrías que hacerte otro "if()" para ese e-mail .. Yo te recomendaría crear un LOG de errores en un simple archivo de texto plano (o a tu BD) para que lo revises al finalizar tu envio de e-mails .. en lugar de enviar más e-mails ...
Código PHP:
if(!mail($query['email'], $asunto, $html_personalizado,$headers)){
echo "no se ha podido enviar este ".$query['email'];
} else {
// mail($asunto,$html_personalizado,$headers); // en tal caso debería ir bajo el if() no en este else ...
echo "El mail enviado correctamente" .$query['nombre'];
}
Un saludo,