Se isset $ _POST

Eu tenho um formulário em uma página que envia para outra página. Lá, ele verifica se o email de entrada está preenchido. Se sim, faça alguma coisa e, se ela não estiver preenchida, faça outra coisa. Eu não entendo porque sempre diz que está definido, mesmo se eu enviar um formulário vazio. O que está faltando ou errado?

step2.php:

<form name="new user" method="post" action="step2_check.php"> 
    <input type="text" name="mail"/> <br />
    <input type="password" name="password"/><br />
    <input type="submit"  value="continue"/>
</form>

step2_check:

if (isset($_POST["mail"])) {
    echo "Yes, mail is set";    
} else {    
    echo "N0, mail is not set";
}

questionAnswers(13)

yourAnswerToTheQuestion