Si, .. así sería:
formulario.php
Código PHP:
<?
session_Start();
$_SESSION['control']='da igual el valor';
// tu formulario ...
?>
proceso.php
Código PHP:
<?
session_Start();
if (!isset($_SESSION['control'])){
die ("Acceso no permitido");
}
// tu actual código de proceso de envio de tu e-mail
?>
Se trata como veras de crear una variable de sesión en tu script de formulario y verificar su existencia (con eso sobra) en el script de proceso. Si la variable de sesión no existe es por qué se accedió directamente a "procesar.php".
En las FAQ's de este foro PHP tienes más información sobre sesiones (que són, teoría y algo de ejemplos básicos).
Un saludo,