Hola ,pues mira a simple vista estas usando la estructura iterativa equivocada , te explico , do while se ejecuta siempre 1 vez por más que la condición no se cumpla entonces si no tiene datos en tu vector resultante.....estaremos el problemas , por otro lado si mal no entiendo tu utilizas mysql_fetch_array en una condición de un if ? , pues bien eso esta MAL , mysql_fetch_array te devuelve retorna si mal no me equivoco true si se ejecuto bien , pero nada mas , ahi lo optimo seria ver si tienes o no registros resultantes mediante mysql_num_rows($variable_de_tu_consula) y reemplazar la estructura do while por una while , con lo cual tu codigo querdaria asi:
Código php:
Ver original<?
$dbhost = 'mysql.com';
$dbusername = 'a2lee';
$dbuserpass = 'b6';
$dbname = 'ae';
if (isset($_POST['asunto']) && !empty($_POST['asunto']) && isset($_POST['mensaje']) && !empty($_POST['mensaje'])) {
$link = mysql_connect("$dbhost", "$dbusername", "$dbuserpass") or
die("Error LINK");
$result = mysql_query("SELECT nombre,email FROM usuario", $link) or
die("Error CONSULTA"); if ($rows > 0) {
$nombre = $row["nombre"];
$email = $row["email"];
$asunto = $_POST['asunto'];
$headers = 'From: miguel' . "\r\n" . 'Reply-To: no-reply' . "\r\n" .
$message = $_POST['mensaje'];
mail($email, $asunto, $message, $headers); }
} else {
echo "La base de datos esta vacia";
}
} else {
echo "Error, no ha introducido todos los datos.";
}
?>
Fijate el cambio de estructura a una más adecuada y la forma en que verifico si obtuve registros validos o no.
Saludos!