
08/09/2005, 03:27
|
 | | | Fecha de Ingreso: diciembre-2004
Mensajes: 11
Antigüedad: 20 años, 2 meses Puntos: 0 | |
Gracias funciona bien como tu dijiste, aunque he tenido que limpiar mas codigo ahora funciona perfectamente o por lo menos a mi me funciona, lo pongo por si alguien quiere usarlo.
mail.php Código PHP: <?php
/*Función para validar e-mail con Exprexiones Regulares*/
function check_email($email) {
//caracteres permitidos en el nombre: 0-9a-Z-._ en el host: 0-9a-Z-. entre los 2: @
if (!preg_match('/^[0-9a-zA-Z\.\-\_]+\@[0-9a-zA-Z\.\-]+$/', $email))
return False;
//Nombre debe empezar con algún caracter alfanumerico
if ( preg_match('/^[^0-9a-zA-Z]|[^0-9a-zA-Z]$/', $email))
return False;
//Nombre debe terminar con algún caracter alfanumerico
if (!preg_match('/([0-9a-zA-Z_]{1})\@./',$email) )
return False;
//Host debe empezar con algún caracter alfanumerico
if (!preg_match('/.\@([0-9a-zA-Z_]{1})/',$email) )
return False;
#Par .- or -. or -- or .. no permitidos
if ( preg_match('/.\.\-.|.\-\..|.\.\..|.\-\-./',$email) )
return False;
#Par ._ or -_ or _. or _- or __ no permitidos
if ( preg_match('/.\.\_.|.\-\_.|.\_\..|.\_\-.|.\_\_./',$email) )
return False;
#Host debe terminar con '.' más 2-5 alfa para TopLevelDomain
if (!preg_match('/\.([a-zA-Z]{2,5})$/',$email) )
return False;
return True;
}
/*Si se le dio al boton submit*/
if (isset($_POST['submit'])) {
//revisa si no estan vacios los campos
if (!empty($_POST['nombre']) && !empty($_POST['asunto']) && !empty($_POST['mensaje'])) {
//revisa si el e-mail es valido
if (check_email($_POST['email'])) {
//asigno variables para el envio
$para = "[email protected]";
$email = $_POST['email'];
$nombre = $_POST['nombre'];
$asunto = $_POST['asunto'];
$mensaje="$nombre (".$_SERVER['REMOTE_ADDR'].")envia el siguiente mensaje \n".$_POST['mensaje'];
$headers = "From: $nombre \r\n";
$headers.= "To:$para\r\n";
//envio el mail
if (mail($para,$asunto,$mensaje,$headers)) {
//si se pudo enviar
echo "<script language=\"javascript\" type=\"text/javascript\">alert ('Gracias por tus comentarios')</script>";}
else{
//si no se pudo enviar
echo "<script language=\"javascript\" type=\"text/javascript\">alert('Error: El e-mail no pudo ser enviado')</script>";}
}
else{
//si el e-mail no es valido
echo "<script language=\"javascript\" type=\"text/javascript\">alert('El e-mail debe ser valido')</script>";}
}else{
//si algun campo quedo vacio
echo "<script language=\"javascript\" type=\"text/javascript\">Alert('Debes rellenar todos los campos')</script>";}
}else{
?>
<form action="<?php $PHP_SELF ?>" method=post>
Nombre: <input type=text name="nombre" size=16>
<br />
Tu Email: <input type=text name="email" size=16>
<br />
Asunto: <input type=text name="asunto" size=16>
<br />
Comentarios:<br /> <textarea name="mensaje" cols=50 rows=8></textarea>
<br />
<input type=submit value="Enviar" name="submit">
</form>
Aqui va el form con el atributo name correspondiente en cada campo
<?php
}?> |