<?php
require("conexion.php");
$tema=$_POST['tema'];
$mensaje=$_POST['mensaje'];
$header = "MIME-Version: 1.0\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\n";
$header .="From:
[email protected]";
//enviar email
$sql="select * from clientes";
$r=mysql_query($sql) or die("no se puede hacer la consulta $sql");
$total=mysql_num_rows($r);
$f=mysql_fetch_assoc($r);
do {
$mensaje="<pre>$mensaje</pre>";
$para=$f['email'];
mail($para,$tema,$mensaje,$header) or die("<script language='JavaScript' type='text/JavaScript'>
window.alert('Problemas con el servidor SMTP');
</script><meta http-equiv='refresh' content='0;URL=principal.php'>");
} while ($f=mysql_fetch_assoc($r);
Así es como yo lo haría, te he cambioa el while por un do while y mysql_fetch_array por mysql_fetch_assoc