Allora,
sostanzialmente si tratta di controllare PRIMA dell'invio il valore di $mail, $subject e $body.
SE tutti e tre i valori NON sono vuoti, allora spedisci la mail, altrimenti reindirizza l'utente alla pagina di errore, che in codice si traduce:
Codice PHP:
//se tutte e tre le variabili non sono vuote ( != "" )
if($mail != "" && $subject != "" && $body != "") {
       
//spedisci mail e indirizza alla pagina di ringraziamento
       
if(mail("$mail","$subject","$body"))
            
header"Location: grazie.htm" );

} else {
      
//reindirizza alla pagina di errore
      
header("Location: errore.htm");

In questo modo la mail viene inviata solamente se tutti e tre i campi sono stati riempiti!