-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathform_email.php
136 lines (67 loc) · 3.06 KB
/
form_email.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
if(isset($_POST['email'])) {
// Edita las dos líneas siguientes con tu dirección de correo y asunto personalizados
$email_to = "
$email_subject = "Tu Asunto de correo";
function died($error) {
// si hay algún error, el formulario puede desplegar su mensaje de aviso
echo "Lo sentimos, hubo un error en sus datos y el formulario no puede ser enviado en este momento. ";
echo "Detalle de los errores.<br /><br />";
echo $error."<br /><br />";
echo "Porfavor corrija estos errores e inténtelo de nuevo.<br /><br />";
die();
}
// Se valida que los campos del formulairo estén llenos
if(!isset($_POST['nombre']) ||
!isset($_POST['telefono']) ||
!isset($_POST['domicilio']) ||
!isset($_POST['correo']) ||
!isset($_POST['mensaje'])) {
died('Lo sentimos pero parece haber un problema con los datos enviados.');
}
//En esta parte el valor "name" nos sirve para crear las variables que recolectaran la información de cada campo
$name = $_POST['nombre']; // requerido
$telefono = $_POST['telefono']; // no requerido
$domicilio = $_POST['domicilio']; // no requerido
$correo = $_POST['correo']; // no requerido
$mensaje = $_POST['mensaje']; // requerido
$error_message = "Error";
//En esta parte se verifica que la dirección de correo sea válida
// $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
// if(!preg_match($email_exp,$email_from)) {
// $error_message .= 'La dirección de correo proporcionada no es válida.<br />';
// }
//En esta parte se validan las cadenas de texto
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$name)) {
$error_message .= 'El formato del nombre no es válido<br />';
}
if(strlen($mensaje) < 2) {
$error_message .= 'El formato del texto no es válido.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
//A partir de aqui se contruye el cuerpo del mensaje tal y como llegará al correo
$email_message = "Contenido del Mensaje.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Nombre: ".clean_string($name)."\n";
$email_message .= "Teléfono: ".clean_string($telefono)."\n";
$email_message .= "Domicilio: ".clean_string($domicilio)."\n";
$email_message .= "Email: ".clean_string($correo)."\n";
$email_message .= "Mensaje: ".clean_string($mensaje)."\n";
//Se crean los encabezados del correo
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- incluye aqui tu propio mensaje de Éxito-->
Gracias! Nos pondremos en contacto contigo a la brevedad
<?php
}
?>