El primer código que expusiste me daba error de Sintaxis. Ahora, con el código expuesto por "lordchile" no ha devuelto ningún error (de Sintaxis, analizandolo con DzSoftPHP).
Ahora, no he probado el código porque sería absurdo :P, pero te dejó una modificación para ver si te funciona (además de haber arreglado algunos detalles por ahí):
Código PHP:
<html>
<head>
<title></title>
</head>
<html>
<head>
<meta http-equiv="Content-Language" content="es">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Agradecemos su comentario</title>
</head>
<body background="bg.jpg" >
<?PHP
$nombre = $_POST["txtNombre"];
$dir = $_POST["txtDireccion"];
$tel = $_POST["txtTelefono"];
$comp = $_POST["txtCompania"];
$correo = $_POST["txtMail"];
$art = $_POST["art"];
$msj = $_POST["txtMsg"];
$cont = $_POST["opc1"];
$asunto = "Comentario página";
$cuerpo = "nombre:".$nombre."\nDireccion:".$dir."\nTelefono:".$tel."\nCompañia:".$comp."\nE-mail:".$correo."\nArticulo:".$art."\nContacta:".$cont."\n\nmensaje:".$msj;
$sheader="From:".$correo."\nReply-To:".$correo."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
if (@mail("[email protected]",$asunto,$cuerpo,$sheader)){
echo '<p align="center">Su mensaje se ha enviado exitósamente.</p>';
}else{
echo '<p align="center">Ha ocurrido un error en el envio del mensaje. Disculpe las molestias.</p>';
}
?>
<img src="banner.jpg">
</body>
</html>
EDITADO
lordchile tiene razón :P, ya me ha ocurrido en otras ocasiones, y cuando te das cuenta qué es lo que fue, es realmente desesperante (x_X), auqne a tí de cualquier modo te iba a dar error por los puntos.