O hai commesso qualche errore facendo copia/incolla o il codice è proprio sbagliato.
Nella pagina php hai
Codice PHP:
if(trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == "") {
    echo 
"<font color=\"#FF0000\" face=\"comic sans ms\" size=\"2\">[b]Tutti i campi sono obbligatori[/b]</font>";
}
else {
    
$body "Modulo inviato il $oggi da $ip - $browser \n\n";
    
$body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \nMessaggio: $_POST[messaggio]";
    
mail("$to","$soggetto","$body");
}
{
    echo 
"<h1>Messaggio inviato correttamente!</h1>\n";

echo "<h1>Messaggio inviato correttamente!</h1>\n";
è racchiuso tra due parentesi graffe che non hanno senso, inoltre come puoi dire se l'email è stata correttamente inviata se non controlli il valore ritornato dalla funzione mail()?

Codice PHP:
else {
    
$body "Modulo inviato il $oggi da $ip - $browser \n\n";
    
$body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \nMessaggio: $_POST[messaggio]";
    if(
mail("$to","$soggetto","$body")) { // gli apici non servono, li puoi togliere
        
echo "<h1>Messaggio inviato correttamente!</h1>\n";
    }