PHP - Funcion mail()

 
Vista:

Funcion mail()

Publicado por Susana (1 intervención) el 26/01/2009 10:28:03
Hola a todos, tengo este archivo que recibe los datos de un formulario y los envia a una direccion de correo. La pagina la tengo subida a internet a un servidor gratuito pero la funcion mail() no me funciona, me podriais indicar si es problema de algun puerto o que el codigo no este bien escrito?

<?php
//recuperamos los datos del formulario que llegan por post
$nombre = $_POST['nombre'];
$numpedido = $_POST['numpedido'];
$empresa = $_POST['empresa'];
$telefono = $_POST['telefono'];
$mail = $_POST['email'];
$incidencia = $_POST['incidencia'];

//creamos la cabecera del mensaje
$header = 'From: ' . $mail . " ";
$header .= "X-Mailer: PHP/" . phpversion() . " ";
$header .= "Mime-Version: 1.0 ";
$header .= "Content-Type: text/plain";

//creamos el cuerpo del mensaje
$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " ";
$mensaje .= "E-mail: " . $mail . " ";
$mensaje .= "Incidencia: " . $incidencia . " ";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Incidencia';

if(mail($para, $asunto, $mensaje, $header))
{
header("Location:../data/archivoError/mensajeEnviado.html");
//echo 'Mensaje enviado. En breve nos pondremos en contacto con Usted';
} else {
header("Location:../data/archivoError/mensajeErroneo.html");
//echo 'Error el enviar el mensaje. Pruebe mas tarde';
}
?>

Gracias

PD: antes de subirla a internet he probado con un programa servidor en mi ordenado y tampoco me funciona, por eso pense que tendria problema con el puerto smtp, pero al estar ya en la red tampoco funciona.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Funcion mail()

Publicado por El tecla (45 intervenciones) el 27/01/2009 23:50:22
susana quizas podrias cambiar este pedazo de codigo:

-----------------------------------------------------------------
if(mail($para, $asunto, $mensaje, $header))
{
header("Location:../data/archivoError/mensajeEnviado.html");
//echo 'Mensaje enviado. En breve nos pondremos en contacto con Usted';
} else {
header("Location:../data/archivoError/mensajeErroneo.html");
//echo 'Error el enviar el mensaje. Pruebe mas tarde';
}
----------------------------------------------------------------

y dejar solo:

mail($para, $asunto, $mensaje, $header)

Para que te muestre el error que se produce
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion mail()

Publicado por susana (1 intervención) el 31/01/2009 20:12:03
He quitado el codigo que me dices y al enviar el formulario lo que me devuelve es una pagina en blanco, es decir, se sigue sin ejecutar la funcion mail(), ya que en el codigo que yo le estoy poniendo lo unico es que me redirreciona a una pagina html

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion mail()

Publicado por El tecla (45 intervenciones) el 01/02/2009 06:14:09
Susana, la verdad que si no te devuelve nada pueden ser dos opciones:

1- Tengas desactivadas las notificaciones de errores, proba de provocar algun error a ver si te tira los errores.

2- Que este mandando el mail pero que sea bloquedo por algun filtro anti spam (es muy comun cuando se mandan mails de dominios propios que no son reconocidos por nuestro proovedore de correo como hotmail, yahoo, gmail, etc)

Espero te sirva de algo

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar