Bueno primero que todo tu eres el que plantea tus diseños al hacer un formulario de contacto se pueden implementar algunas cosas como soluciones de seguridad y demas por el estilo como es validación del mail que ingresa el usuario que sea válido etc...
Una manera sencilla de hacerlo es utilizando la función
mail() de php aca te dejo un ejemplo que siempre me ha funcionado, creas tu formulario con los campos titulo, mail, nombre y contenido del comentario y si quieres que despues de enviar el mensaje se vaya al index utilizas la función
header() de PHP.
Código PHP:
// OBTENER EL VALOR DE LAS VARIABLES.
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$titulo = $_POST['titulo'];
$contenido = $_POST['contenido'];
$headers .= "From: $nombre $mail\r\n";
// ENVIAR EL MAIL.
mail("[email protected]", $titulo, $contenido, $headers);
header("location: index.php");
exit();
Tambien puedes validar el correo con esta función
Código PHP:
// FUNCION VALIDAR CORREO.
function check_email_address($email)
{
// PRIMERO CHECAR QUE HAY UN SOLO SIMBOLO @ Y QUE LOS DEMAS SEAN LARGOS.
if(!ereg("^[^@]{1,64}@[^@]{1,255}$", $email))
{
// CORREO INVALIDO POR NUMERO INCORRECTO DE CARACTERES , O NUMERO INCORRECTO DE SIMBOLOS @
return false;
}
// SE DIVIDE EN PARTES PARA HACERLO MAS SENCILLO.
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for($i = 0; $i < sizeof($local_array); $i++)
{
if(!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i]))
{
return false;
}
}
// SE REVISA SI EL DOMINIO ES UNA IP. SI NO, DEBE SER UN NOMBRE DE DOMINIO VALIDO
if(!ereg("^\[?[0-9\.]+\]?$", $email_array[1]))
{
$domain_array = explode(".", $email_array[1]);
if(sizeof($domain_array) < 2)
{
return false; // NO SON SUFICIENTES PARTES O SECCIONES PARA SER UN DOMINIO.
}
for($i = 0; $i < sizeof($domain_array); $i++)
{
if(!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i]))
{
return false;
}
}
}
return true;
}
y antes de que se envie el comentario se valida de la siguiente manera
Código PHP:
if(check_email_address($mail))
{
// envias el mensaje
}
else
{
echo "la direccion de correo electronico no es valida";
exit();
}
Bueno a mas de esto validas los demas campos lo puedes hacer con la función
isset() o con
empty()
tambien puedes implementar un CAPTCHA para mas seguridad aqui te dejo un link donde explican su implementación paso a paso
CAPTCHA en PHP
Saludos.