Foros del Web » Programando para Internet » PHP »

Detectar error al enviar mail

Estas en el tema de Detectar error al enviar mail en el foro de PHP en Foros del Web. Al final de mi página dispongo de un formulario el cual se envía mediante una página a la que llamo enfio_form.php, al retorno a mi ...
  #1 (permalink)  
Antiguo 29/04/2012, 07:15
Avatar de Euclides64  
Fecha de Ingreso: octubre-2010
Mensajes: 79
Antigüedad: 9 años, 1 mes
Puntos: 2
Detectar error al enviar mail

Al final de mi página dispongo de un formulario el cual se envía mediante una página a la que llamo enfio_form.php, al retorno a mi formulario como puedo saber si el mensaje ha sido enviado o no y como podría hacer para que mi página nuevamente se muestre al final donde se encuentra el formulario.
Gracias por vuestra colaboración.
  #2 (permalink)  
Antiguo 29/04/2012, 09:47
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 11 años, 3 meses
Puntos: 139
Respuesta: Detectar error al enviar mail

Respondiendo a tu pregunta " Detectar error al enviar mail " la funcion mail retorna un valor booleano.
Ej de uso.

Código PHP:
Ver original
  1. if (mail(..)){
  2. echo "Mensaje enviado";
  3. } else {
  4. echo "hubo un error al enviar el mensaje";
  5. }

Y con respecto a la otra pregunta no la entendí muy bien, me gustaría que ampliaras un poco mas mostrando el código para no responder algo sin sentido.

Saludos.
  #3 (permalink)  
Antiguo 29/04/2012, 11:01
Avatar de Euclides64  
Fecha de Ingreso: octubre-2010
Mensajes: 79
Antigüedad: 9 años, 1 mes
Puntos: 2
Respuesta: Detectar error al enviar mail

Gracias por tu respuesta.
Mi código es este:
<?php
if (!$HTTP_POST_VARS)
{
include("includes/form_index.php");
echo "<p>El E-Mail es un campo oculto y solo se indica para dar respuesta al interesado caso de que la solicite.</p>";
}
else
{
$nombre = $_POST["name"];
$email = $_POST["email"];
$url = $_POST["url"];
$message = $_POST["message"];

include("includes/enviar_form.php");

if (!mail)
{
echo "No ha sido posible enviar su cuestionario.";
}
else
{
$nombre="";
$email="";
$url="";
$message="";
include("includes/form_index.php");
echo "<br />";
echo "<h5 style=color:#900>Gracias por su comentario" . "<br />";
echo "En breve será atendido.</h5>";
}
}
?>

form_index.php dibuja el formulario.
enviar_form.php envía los datos introducidos.

Pues bien el if (!mail) no me detecta nada y siempre da por hecho el que el cuestionario ha sido enviado correctamente aunque yo inserte datos que impiden el envío del formulario y de hecho no se envían por cuanto lo compruebo en el correo que debe de recibirlos.

He cambiado mi if (!mail) por tu if (mail(..)) y no puedo continuar por cuanto me da un error de sintaxis.

Debo de estar haciendo algo mal.

Gracias por tu interés.
  #4 (permalink)  
Antiguo 29/04/2012, 11:10
Avatar de Euclides64  
Fecha de Ingreso: octubre-2010
Mensajes: 79
Antigüedad: 9 años, 1 mes
Puntos: 2
Respuesta: Detectar error al enviar mail

El segundo problema es el siguiente:

Se envíe o no se envíe el formulario por que exista error en sus datos, mi página se recarga y se visualiza en el monitor en la parte superior de la misma y yo lo que deseo es que mantenga la posición que tenia cuando se pulsó el boton de envio del formulario.
No se si me he aclarado perfectamente.

Etiquetas: formulario, mail
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:09.