Most form inputs are always set, even if not filled up, so you must check for the emptiness too.
Since !empty() is already checks for both, you can use this:
if (!empty($_POST["mail"])) {
echo "Yes, mail is set";
} else {
echo "No, mail is not set";
}