No comprendo bien que es lo que te está fallando, pero intenta de usar el primer ejemplo con esta consulta:
Código PHP:
$sql = "
select
distinct email
from
tabla1
where
exists(
Select
1
from
tabla2
where
correo = tabla1.email
)
";
$result=mysql_query($sql,$link);
while($row = mysql_fetch_array($result)) {
echo $row["email"];
}
Si fallan los resultados probala directamente a MYSQL (con SqlYog, SqlFront, MysqlBrowser, PhpMyAdmin, etc) y fijate que resultados te está dando.