
No consigo enviar correo.
Publicado por bruno (2 intervenciones) el 27/06/2016 09:48:25
Hola a todos, ante mano agradecer la ayuda que me podáis prestar.
El problema que tengo es el siguiente intento enviar un correo usando php pero no hay manera, os dejo las dos partes tanto la de html como la de php y espero que me podáis decir donde tengo el fallo, más una ves gracias por vuestro tiempo.
parte html
parte php
El problema que tengo es el siguiente intento enviar un correo usando php pero no hay manera, os dejo las dos partes tanto la de html como la de php y espero que me podáis decir donde tengo el fallo, más una ves gracias por vuestro tiempo.
parte html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<h2><span>Formulario</span></h2>
<script type="text/javascript" src="js/form-validation.js"></script>
<form id="ContactForm" action="enviar.php" method="post" onSubmit="return validate()">
<fieldset>
<div>
<div class="wrapper">
<span>Nombre:</span><input type="text" class="input" name="name">
</div>
<div class="wrapper">
<span>Email:</span><input type="text" class="input" name="email">
</div>
<div class="textarea_box">
<span>Consulta:</span><textarea name="mensaje" cols="1" rows="1"></textarea>
</div>
<button id="boton" value="enviar" type="submit"><a href="enviar.php"</a> </button>
<!-- <a href="enviar.php" onClick="document.getElementById('ContactForm').submit()">Send</a> -->
</div>
</fieldset>
</form>
parte 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
<?
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars(str_replace(" ","",$_POST['email']));
$mensaje = htmlspecialchars($_POST['mensaje']);
function comprobar_email($email){
//compruebo unas cosas primeras
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
//miro si tiene caracter .
if (substr_count($email,".")>= 1){
//obtengo la terminacion del dominio
$term_dom = substr(strrchr ($email, '.'),1);
//compruebo que la terminación del dominio sea correcta
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
//compruebo que lo de antes del dominio sea correcto
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
if ($caracter_ult != "@" && $caracter_ult != "."){
return true;
}
else {
return false;
}
}
}
}
}
}
if (empty($name) || empty($mensaje)) {
echo "Rellene todos los campos del formulario, Volver al <a href=\"contacto.html\">contacto</a>";
}
else
{
if (strlen ($name) > '100') {
echo "El Nombre no debe superar los 100 caracteres";
}
else
{
if (strlen ($mensaje) > '10000') {
echo "Mensaje muy grande";
}
else
{
if (comprobar_email($email)) {
$remitente = ""; /* Correo a donde se enviara el mensaje */
$destinatario = ""; /* Correo que envia el mensaje, es util para que no envie siempre el mensaje a correo no deseado */
$headers = "MIME-Version: 1.0 \r\n";
$headers .= "From: $destinatario \r\n";
$headers .= "Reply-To: $remitente \r\n";
$headers .= "Return-path: $remitente \r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1 \r\n";
$body = "
<table><tr><td width=\"150\" valign=\"top\"><strong>Nombre:</strong></td><td> ".$name."</td></tr>"."
<tr><td valign=\"top\"><strong>Email:</strong></td><td> ".$email."</td></tr>"."
<tr><td valign=\"top\"><strong>Mensaje:</strong></td><td>".$mensaje."</td></tr></table>";
mail($remitente,"Consulta",$body, $headers);
echo "Gracias por contactar con nosotros, le responderemos en la menor brevedad posible.";
} else
{
echo "Esta mal escrito el mail, por favor volver a <a href=\"contacto.html\" >FORM</a>";
}
}
}
}
?>
Valora esta pregunta


0