Coloca el código PHP debajo del formulario:
Código PHP:
Ver original<FORM id="contacto" name="contacto" method="POST">
<p>
<label>Nombre <input name="nombre" type="text" id="nombre"
size="42"/></label>
</p>
<p><label>E-mail <input name="mail" type="text" id="mail" size="43"/></label>
</p>
<p><label>Mensaje<br>
<textarea name="mensaje" cols="40" rows="8" id="mensaje"></textarea></label>
</p>
<p><input type="submit" name="Submit" value="Enviar"/></p>
</FORM>
<?php
if ($_POST) {
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$asunto = 'Asunto del mail recibido';
echo mail($para, $asunto, utf8_decode($mensaje), $header) ?
'Mensaje enviado correctamente' : 'No se pudo enviar el mensaje'; }
?>
La diferencia está en que deberás verificar que se hayan recibido datos a través del método POST, tal y como lo hago en la condición, además, quité el atributo
action del formulario para que la recepción de datos se haga en el mismo archivo, aunque también hay otras formas.
Saludos