Eso sucede porque concatenas, y no borras el mensaje, entonces se va acumulando
al final del while pon:
$contenedor_mensaje1 = "";
Código PHP:
Ver original{
$email = $row["email_propietario"];
$propietario=$row["propietario"];
$asunto = "Asunto";
$contenedor_mensaje1 .= "cuerpo del mensaje
</tr>
</table>";
$contenedor_mensaje1 .= '</body>
</html>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: mi correo';
mail($email, $asunto, $contenedor_mensaje1, $headers); $contenedor_mensaje1 = "";
}
Ahora como veo que concatenas directamente, y como ese mensaje html es raro, supongo que el mensaje tiene un valor inicial, por lo que tendrias que usar un auxiliar y en vez de borrar volver a su valor inicial con el auxiliar mismo:
Código PHP:
Ver original$aux = $contenedor_mensaje1;
{
$email = $row["email_propietario"];
$propietario=$row["propietario"];
$asunto = "Asunto";
$contenedor_mensaje1 .= "cuerpo del mensaje
</tr>
</table>";
$contenedor_mensaje1 .= '</body>
</html>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: mi correo';
mail($email, $asunto, $contenedor_mensaje1, $headers); $contenedor_mensaje1 = $aux;
}
Consideraciones, tanto los headers como el asunto son estáticos, sacalos del while, no sirven de nada ahí...
Código PHP:
Ver original$aux = $contenedor_mensaje1;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: mi correo';
$asunto = "Asunto";
{
$email = $row["email_propietario"];
$propietario=$row["propietario"];
$contenedor_mensaje1 .= "cuerpo del mensaje
</tr>
</table>";
$contenedor_mensaje1 .= '</body>
</html>';
mail($email, $asunto, $contenedor_mensaje1, $headers); $contenedor_mensaje1 = $aux;
}
Saludos