Foros del Web » Programando para Internet » PHP »

No mostrar mensaje de error al enviar email

Estas en el tema de No mostrar mensaje de error al enviar email en el foro de PHP en Foros del Web. Hola, como hago para que no se muestre el error que se produce al enviar un email, desde mi pagina, si hubo algun error con ...
  #1 (permalink)  
Antiguo 30/04/2009, 08:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 122
Antigüedad: 15 años, 5 meses
Puntos: 4
Pregunta No mostrar mensaje de error al enviar email

Hola, como hago para que no se muestre el error que se produce al enviar un email, desde mi pagina, si hubo algun error con la casilla de correo ?

Porque por mas que en mi pagina tengo:
if(!$mail->Send()) {
$mail->ErrorInfo; $errorenvio=$mail; $envio="false"; } else { $envio="true"; }
//

(1) if (strcmp($envio,"true")==0) { ?>El email se ha enviado correctamente.<?php } else { ?>No se ha podido hacer el envio.<?php } ?>


Igualmente, arriba de la pagina , en la parte de la "respuesta" del script de php se muestra lo que debajo describo y es lo que quiero ocultar porque ya, en la pagina (1) mostre un mensaje de q hubo un error:

Warning: fsockopen() [function.fsockopen]: unable to connect to mail.xxxxxxxxxxxxx.com:25 (Connection refused) in /......./class.smtp.php on line 123

En class.smtp.php de esa linea tengo:

118 /* connect to the smtp server */
119 $this->smtp_conn = fsockopen($host, // the host of the server
120 $port, // the port to use
121 $errno, // error number if any
122 $errstr, // error message if any
123 $tval); // give up after ? secs

Alguna sugerencia..? Les agradezco...
  #2 (permalink)  
Antiguo 30/04/2009, 08:24
Avatar de felipetibata  
Fecha de Ingreso: julio-2007
Ubicación: Bogotá
Mensajes: 86
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: No mostrar mensaje de error al enviar email

anteponga un @ al comando que quiere que no le genere salida de errores en el navegador.
@mail(...)
__________________
www.luisfelipetibata.com
  #3 (permalink)  
Antiguo 30/04/2009, 08:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No mostrar mensaje de error al enviar email

primero, no hagas lo que te sugieren... jamas uses el operador @

ya que sirve para ocultar los errores, no para solucionarlos...

(es mas... te reto a que coloques el @ antes del fscokopen() y verás que se pone peor la cosa...)


no edites una clase sin saber lo que haces.... como veo que usas PHPMailer, el error es claro:

"...no se puede conectar a mail.xxxxxx.com:25 (Conexión rechazada)..."


osea, no es un problema de programación...

Edito: ahora que lo pienso, en tu caso si puede ser necesario que uses.. @

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 30/04/2009, 19:32
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: No mostrar mensaje de error al enviar email

mrmaria:

Coincido en que no pongas @.

Maneja los errores desde php.ini asi.

error_reporting = E_ALL

display_errors = Off

; Log errors into a log file (server-specific log, stderr, or error_log (below))
; As stated above, you're strongly advised to use error logging in place of
; error displaying on production web sites.
log_errors = On

Para hacer tus pruebas es recomendable que pongas en On los
display_errors.

Saludos
Franco
  #5 (permalink)  
Antiguo 02/05/2009, 13:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 122
Antigüedad: 15 años, 5 meses
Puntos: 4
Pregunta Respuesta: No mostrar mensaje de error al enviar email

Gracias por las respuestas !

FRANCO, me dices que cambie en el PHP.ini, pero asi como a mi desde mi PC me da este error, a cualquier otro usuario desde otra PC le va a dar el mismo error, con lo cual, si cambio en mi PHP.ini (localhost), esa solucion solo va a servir para cuando yo abra la pagina desde mi PC, pero el mensaje de error va a persistir y otro usuario desde otra PC diferente lo va a ver, y eso es lo que yo no quiero: q no se vea el error.
La solucion no deberia venir del lado del servidor, o programando yo con algun comando..?????
ummm no me queda muy claro..
  #6 (permalink)  
Antiguo 02/05/2009, 13:18
Avatar de MILLANJG  
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: No mostrar mensaje de error al enviar email

Buenas tardes. necesito una ayuda rapidito, entiendo que no va con el tema en discución se lo voy ha pegar aqui: "Para pasar la ruta al Google Earth buscamos X:\Garmin\Logs
Buscamos el ultimo gps.bin modificado.
Teniendo el Nutrak, vamos a Inicio, ejecutar "CMD" entramos en la carpeta donde esta el nutrack y habiendo previamente pegado el archivo .bin en la misma ejecutamos:
nutrack.exe gps.bin.
Esto nos va a generar un archivo GPX. Abrimos el Google Earth y le ponemos el .gpx.

lo que esta en rojo es lo que no entiendo.
saludo
  #7 (permalink)  
Antiguo 02/05/2009, 13:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: No mostrar mensaje de error al enviar email

hola estoy usando este codigo.... pero no me funciona... alguien podria ayudarme.. estoy trabajando en una aplicacion web de c# 08 y framerwork 3.5...

protected void Button1_Click(object sender, EventArgs e)
{
try
{
MailAddress de = new MailAddress("ferafera28 + gmail.com", "Latin ID S. A. de C. V.");
MailAddress para = new MailAddress("ferafera28" + (char)64 + "gmail.com", "marketing latin ID");
System.Net.Mail.MailMessage mensaje = new System.Net.Mail.MailMessage(de, para);
// mensaje.Bcc.Add(txtEmail.Text);
mensaje.Subject = "Bienvenido al grupo de distribuidores de Latin ID - prueba";
mensaje.BodyEncoding = System.Text.Encoding.Default;
mensaje.IsBodyHtml = false;
mensaje.Body = "<p>Pon tu mensaje aquí, por ejemplo: \'Cómo carajos que no llega mi email\'</p>";
mensaje.IsBodyHtml = true;
SmtpClient cliente = new SmtpClient("smtp.gmail.com");
cliente.Port = 587;
cliente.Credentials = new System.Net.NetworkCredential("[email protected] ", "cualquiercosa");
cliente.EnableSsl = true;

cliente.Send(mensaje);
// procesado = true;
}
catch (Exception ex)
{
// lblError.Text = ex.Message;

}
...

NO envia nada.... no hace nada.... :s
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 14:28.