Foros del Web » Programando para Internet » PHP »

sobre función mail()

Estas en el tema de sobre función mail() en el foro de PHP en Foros del Web. Hola amigos... he visto que la función mail devuelve TRUE si lo ha enviado bien, o FALSE si no lo ha podido hacer... La cuestión ...
  #1 (permalink)  
Antiguo 12/11/2004, 07:25
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
sobre función mail()

Hola amigos...

he visto que la función mail devuelve TRUE si lo ha enviado bien, o FALSE si no lo ha podido hacer...

La cuestión es que mi@ permite o nop el uso de esa función cuando le place... entonces... cómo detectar cuando devuelve false?? y cómo hacer para que no aparezca el mensaje de error en la web??

Código PHP:
Warningmail() has been disabled for security reasons in /home/webcindario/nippon-tour/web/enviar_rec.php on line 96 
gracias!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #2 (permalink)  
Antiguo 12/11/2004, 08:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes usar una @ delante de mail() .. eso "oculta" los mensajes de error de PHP (pero no el error en sí .. sigue estándo ahí), con eso + usado bajo un if() puedes personalizar tu mensaje de error o resto de proceso alternativo.

Código PHP:
if (@mail(.....)){
  echo 
"Email enviado con exito";
} else {
  echo 
"email NO se envió";
}

echo 
"que llegue a su destinatario finalmente es otro tema .. Por lo menos PHP entregó el e-mail al MTA de este servidor para su depacho"
Un saludo,
  #3 (permalink)  
Antiguo 12/11/2004, 11:27
 
Fecha de Ingreso: mayo-2004
Mensajes: 51
Antigüedad: 19 años, 11 meses
Puntos: 0
Por cierto esto de lo de mi arroba me tiene preocupado pues yo tenia mis codigos que trabajaban normalmente en miarroba enviado mails normalmente, pero como hace 3 semanas creo, empezaron a salirme este error: "Warning: mail() has been disabled for security reasons in "

Creo que al parecer la funcion email has sido deshabilitada, y ya no se podra enviar mail de esa forma, habra alguna otra manera de enviar un mail teniendo deshabilitada esa funcion en miarroba??
  #4 (permalink)  
Antiguo 12/11/2004, 13:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cattt .. los problemas concretos con cierto proveedor (de hosting) deberías resolverlos con ellos (en sus foros .. o en el foro de "Dominios y Hosting" al menos ..).

Intenta contrartar un servicio de hosting y así poder exigir por tus derechos además de ganar en funcionalidades .. hoy por hoy hay mucha oferta y realmente económica en algunos casos ..

Un saludo,
  #5 (permalink)  
Antiguo 13/11/2004, 14:47
 
Fecha de Ingreso: mayo-2004
Mensajes: 51
Antigüedad: 19 años, 11 meses
Puntos: 0
Cluster yo solo preguntaba, solo aprovechando el paso de este mensaje ok, yo tengo mi hosting ya contratado del dominio que te di en el mensaje privado que te envie, te acuerdas?, solo que tengo en miarroba algunas paginas que me extraño que no pueda enviar mails, en fin como tu dices consultare a los foros de ellos.....
por cierto ahorita acabo de enterarme por otro post de esta web sobre http://*****/ parece ser bastante economica, solo que su panel de control no me convence mucho........ en fin esto es otro tema, punto final.

Chau

Última edición por Cluster; 13/11/2004 a las 16:58
  #6 (permalink)  
Antiguo 15/11/2004, 03:00
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Gracias Cluster, suponfgo que puedo poner un if con un mail ficticio para ver si se manda y mostrar el formulario o que habra el outlook ;) gracias!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #7 (permalink)  
Antiguo 15/11/2004, 06:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No, X3mdesign

La función mail() entrega un "true" si consigue entregar el e-mail a enviar al "cartero" (tu MTA que use tu servidor y esté configurado PHP para usarlo) .. Pero que el "cartero" llegue a la casa de tu destinatario a entregar el e-mail eso no lo decide PHP ni la función mail .. por lo cual ese tipo de comprobaciones no puedes hacerlas así. PHP siempre dirá "true" .. el e-mail se envió si tu MTA funciona (si el servidor SMTP o lo que uses en ese servidor funciona y PHP puede conectarse a el).

Un saludo,
  #8 (permalink)  
Antiguo 15/11/2004, 07:11
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Pues, acabo de hacer lo que te he comentado y si no funciona, me sale el código pretendido en el IF debe ser porque está bloqueado directamente... lo he puesto así:

Código PHP:
if (@mail("[email protected]","Prueba","prueba")){
    //muestra formulario
}else{
    $subject2=html_entity_decode($subject2);
    $mens2="Tu amigo $tuDatos te envía este articulo $titulo ($link $titulo). \n\n Comentarios: $Comentarios \n\n El equipo Nippon-Tour.";
    $mens2=str_replace("<br />","\n",$mens2);
    $mens2=str_replace(" ","%20",$mens2);
?>
    Lo sentimos pero no se ha podido mandar el formulario correctamente, pincha <a href="<?php echo "mailto:$Emails?subject=$subject2&?body=$mens2"?>">aquí</a> para hacerlo manualmente.
y por lo visto chuta :)
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
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 18:22.