Foros del Web » Programando para Internet » PHP »

Problema al enviar E-mail por php

Estas en el tema de Problema al enviar E-mail por php en el foro de PHP en Foros del Web. Primero os dejo el codigo Código PHP: $msgHeader  .=  "MIME-Version: 1.0\n" ;                   $msgHeader  .=  "Content-type: text/html; charset=us-ascii\n" ;  #PAGINA A LA QUE REDIRIGE EL MAIL, (ABAJO).                   $msgBody  = "<html><head><title>Registro de usuario.</title> <body>Para finalizar el registro e introducir tu contraseña, haz click <a href='http://www.ligabenidorm.com/reg_nuevo_usuario.php?p=$pass'>aqui</a> </body> </head></html>" ;                   $recepient =  ...
  #1 (permalink)  
Antiguo 05/01/2009, 12:09
Avatar de ToLeR  
Fecha de Ingreso: noviembre-2008
Ubicación: Laboratorio La Ratonera
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 1
Problema al enviar E-mail por php

Primero os dejo el codigo

Código PHP:
$msgHeader .= "MIME-Version: 1.0\n";
                 
$msgHeader .= "Content-type: text/html; charset=us-ascii\n"#PAGINA A LA QUE REDIRIGE EL MAIL, (ABAJO).
                 
$msgBody ="<html><head><title>Registro de usuario.</title> <body>Para finalizar el registro e introducir tu contraseña, haz click <a href='http://www.ligabenidorm.com/reg_nuevo_usuario.php?p=$pass'>aqui</a> </body> </head></html>";
                 
$recepient'[email protected]';
                 
$subject'Registro de Usuario';        
                 
$a=mail($recepient,$subject$msgBody$msgHeader); 
El problema, esque en local me produce un error logico al no tener el fichero php.ini para enviar mails:

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\murada\funciones.php on line 103

Todo normal. Pero cuando lo subo a remoto no me produce ningun error, todo funciona segun lo esperado y no se envia ningun mail. La cuenta de correo [email protected] esta creada correctamente.

Creeis que sera la culpa de mi proveedor de servicios de internet o deberia modificar yo algo?????

Gracias de antemano.
  #2 (permalink)  
Antiguo 05/01/2009, 12:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al enviar E-mail por php

agrega un..

Código PHP:
ini_set('display_errors'true);
error_reporting(E_ALL); 
al comienzo de tu script, así veremos que errores no te muestra (ya que es obvio que los hay)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/01/2009, 12:33
Avatar de ToLeR  
Fecha de Ingreso: noviembre-2008
Ubicación: Laboratorio La Ratonera
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Problema al enviar E-mail por php

Gracias patektrueke.

Estos son los errores que "puedo" ver ahora:

Notice: Undefined index: pass in /homepages/0/d262291584/htdocs/funciones.php on line 61

Notice: Use of undefined constant result - assumed 'result' in /homepages/0/d262291584/htdocs/funciones.php on line 82

Notice: Undefined variable: msgHeader in /homepages/0/d262291584/htdocs/funciones.php on line 103


El primero no lo entiendo.
El segundo creo que tiene que ver con una comparación sobre una consulta a la base de datos, creo que no esta muy bien puesto, pero hace su funcion:
Código PHP:
if (result==1){
        
$error=mysql_error();
        echo
"ERROR:$error";
}else{ 
Y supongo que el tercer error sera al que vamos. Estas son las lineas:
Código PHP:
$msgHeader .= "MIME-Version: 1.0\n";
                 
$msgHeader .= "Content-type: text/html; charset=us-ascii\n"#PAGINA A LA QUE REDIRIGE EL MAIL, (ABAJO). 
mmmmmmm, creo que es porque estoy concatenando sin que hubiera nada..... Voy a probar.
  #4 (permalink)  
Antiguo 05/01/2009, 12:41
Avatar de ToLeR  
Fecha de Ingreso: noviembre-2008
Ubicación: Laboratorio La Ratonera
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Problema al enviar E-mail por php

Ya e encontrado el error. Era muy tonto....

$recepient= '[email protected]';

Esta era la dirección de correo desde la que se envia el correo, no la que lo recibe.
Me faltaba parte tambien de la cabecera $msgHeader, introducir el from y la dirección de correo desde la que se envia.

Gracias de todas formas, siempre se aprende algo.
  #5 (permalink)  
Antiguo 05/01/2009, 12:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al enviar E-mail por php

el primero, localiza la linea y la posteas....

segundo, result ¿no es una variable?? (entonces debería ser $result)

tercero es un mal habito concatenar una variable sin asignar, mira, eso debe hacerse así...

Código PHP:
$msg 'cadena'// o NULL
$msg .= 'foo';
// etc.. 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 05/01/2009, 12:58
Avatar de ToLeR  
Fecha de Ingreso: noviembre-2008
Ubicación: Laboratorio La Ratonera
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Problema al enviar E-mail por php

Bhuaa menuda empanada, si es un lobo me come....jeje

Pues esta es la linea del primer error:

Código PHP:
 $pass=$_POST['pass']; 
Ya se donde esta el error, esta variable ya no la paso por el formulario y se me habia quedado por hay sin quitar....

Menudos errores mas tontos, demasiado cansancio ya...

Muchas gracias.
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 01:38.