Hola,
acá te dejo un link dentro del foro de un usuario que expone su formulario, son todos "iguales", lo que cambia en general es la cantidad y nombres de los parámetros que se quieren ingresar.
Para hacer funcionar un formulario se precisa
lenguaje de servidor, ejemplo en este caso Php, aparte de código Html, css y javascript (se suele usar para validar los datos de entrada, ejemplo que ponga el mail correcto, etc), como decís, se suele usar también
al menos dos hojas, una Html que contenga el diseño de tu formulario (con el css incluido así como el javascript o pueden estar en hojas separadas), la otra hoja o documento es el Php. Se puede hacer todo en una, pero es mejor separar el código por tema de prolijidad.
Tu Html invocará al documento Php a través del encabezado
El método post mandará los datos ocultos en el request al servidor,
si usas GET los parámetros serán visualizados en la url del navegador, esto se suele evitar, por eso
lo más común es POST. Junto con el código que te adjunté del otro hilo es fácil que puedas adaptarlo y hacerlo funcionar, otra cosa es que
tu servidor debe tener la función php mail habilitada, saludos