Foros del Web » Programando para Internet » PHP »

problema para enviar mail

Estas en el tema de problema para enviar mail en el foro de PHP en Foros del Web. Código HTML: [PHP] <?php session_start(); //abrimos la sesion para poder despues pasar variables de una pagina a otra //datos para establecer la conexion con la ...
  #1 (permalink)  
Antiguo 09/12/2008, 06:50
 
Fecha de Ingreso: octubre-2008
Mensajes: 76
Antigüedad: 16 años
Puntos: 3
problema para enviar mail

Código HTML:
[PHP]<?php 
session_start(); //abrimos la sesion para poder despues pasar variables de una pagina a otra 

//datos para establecer la conexion con la base de mysql. 
$conexion=mysql_connect('localhost','igaco_root','cibernet77')or die ('Ha fallado la conexión: '.mysql_error()); 
mysql_select_db('igaco_sitioweb')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 



function quitar($mensaje) //funcion para quitar caracteres no permitidos 
{ 
    $nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#"); 
    $mensaje = str_replace($nopermitidos, "", $mensaje); 
    return $mensaje; 
} 
function mysql_escape($cadena) { 
    if(get_magic_quotes_gpc() != 0) { 
        $cadena = stripslashes($cadena); 
    } 
    return mysql_real_escape_string($cadena); 
}   

if (isset($_POST["password"])) { 
     
    $password = quitar($_POST["password"]); //variable que viene del campo del form pasword 
    $password2 = quitar($_POST["password2"]);//variable que viene del campo del form pasword2 
                $password = mysql_escape($password);  //aplico la funcion mysql_escape 
                $password2 = mysql_escape($password2); 

    $password = md5($password); // codificamos los password con md5 
    $password2 = md5($password2); 
    $email = $_SESSION['email']; // recogemos la variable email y username que guardamos en la sesion en el script anterior 
                $username = $_SESSION['username'];  


     
     
    // Hay campos en blanco 
    if($password==NULL|$password2==NULL) { 
        echo "un campo está vacio."; 
     
        }else{ 
                              // si coiciden los codigos de seguridad 
            if (quitar($_SESSION['tmptxt_seg']) !== quitar($_POST['tmptxt_seg'])) {  
                    echo "Introdujo mal el codigo de seguridad."; 
                 
        } else {  
         
     
        // ¿Coinciden las contraseñas? 
        if($password!=$password2) { 
            echo "Las contraseñas no coinciden"; 
            formRegistro(); 
        }else{ 
         
         
        $query = "UPDATE alumnos 
            SET password = '$password' WHERE   username = '$username' OR email ='$email' " ; 
                mysql_query($query) or die(mysql_error());     
                 
            //obtengo los datos del usuario para mandar el email     
           $query = "SELECT * FROM alumnos WHERE username='$username'"; 
$result = mysql_query($query , $conexion) or die ( mysql_error() ); 
$row = mysql_fetch_array($result); 
                 
        echo "La activacion de su nuevo password  tuvo exito."; 
	
	
             

     
          

                 
                          // Datos del email 

$nombre_origen    = $row['username']; 
$email_origen     = "[email protected]"; 
$email_copia      = "[email protected]"; 
$email_ocultos    = "[email protected]"; 
//$email_destino    = "".$row['email']."";   
$email_destino    = "[email protected]";  //cambiar esta linea por la de encima cuando se termine la aplicacion para pruebas pon tu email 


$asunto           = "Activacion del Usuario Tuvo exito, guarde este email."; 

$mensaje          = '<table width="629" border="0" cellspacing="1" cellpadding="2"> 
  <tr> 
    <td width="623" align="left"></td> 
  </tr> 
  <tr> 
    <td bgcolor="#2EA354"><div style="color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;"><strong>     Estos son sus datos  '.$row['username'].'</strong></div></td> 
  </tr> 
  <tr> 
    <td height="95" align="left" valign="top"><div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;"> USUARIO: '.$row['username'].'</strong><br><br><br> 
           
          <strong>SU EMAIL : </strong>'.$row['email'].'</strong><br><br><br> 
          <strong>REACTIVO SU NUEVA CONTRASEÑA SIN NINGUN INCIDENTE.</strong><br><br> 
          <strong>GRACIAS POR CONFIAR EN CEVIT.</strong><br> 
          <strong>PRONTO ACTUALIZAREMOS CONTENIDOS, ESTATE ATENTA/O.</strong><br> 
    </div> 
    </td> 
  </tr> 
</table>'; 

                 


$formato          = "html"; 

//*****************************************************************// 
$headers  = "From: $nombre_origen <$email_origen> \r\n"; 
$headers .= "Return-Path: <$email_origen> \r\n"; 
$headers .= "Reply-To: $email_origen \r\n"; 
$headers .= "X-Sender: $email_origen \r\n"; 
$headers .= "X-Priority: 3 \r\n"; 
$headers .= "MIME-Version: 1.0 \r\n"; 
$headers .= "Content-Transfer-Encoding: 7bit \r\n"; 

//*****************************************************************// 
  

if (@mail($email_destino, $asunto, $mensaje,"MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1"))
 { } 






} 
} 
} 
} 
else{ 
formRegistro(); 
}    
 


?> [/PHP]

no me muestras las variables en lo que es el cuerpo del mensaje .. alguien me ayuda..
  #2 (permalink)  
Antiguo 09/12/2008, 06:57
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: problema para enviar mail

¿Haz tratado imprimir las variables que llegan de la base de datos antes de enviar el correo?
  #3 (permalink)  
Antiguo 09/12/2008, 10:35
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años, 7 meses
Puntos: 33
Respuesta: problema para enviar mail

ivanber:
Prueba poniendo el mensaje asi ->
Cita:
$mensaje = "<table width='629' border='0' cellspacing='1' cellpadding='2'> <tr>
<td width='623' align='left'></td> </tr>
<tr><td bgcolor='#2EA354'><div style='color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;'><strong> Estos son sus datos '.$row['username'].'</strong></div></td> </tr> <tr>
<td height='95' align='left' valign='top'><div style=' color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;'> USUARIO: '.$row['username'].'</strong><br><br><br>
<strong>SU EMAIL : </strong>'.$row['email'].'</strong><br><br><br>
<strong>REACTIVO SU NUEVA CONTRASEÑA SIN NINGUN INCIDENTE.</strong><br><br>
<strong>GRACIAS POR CONFIAR EN CEVIT.</strong><br>
<strong>PRONTO ACTUALIZAREMOS CONTENIDOS, ESTATE ATENTA/O.</strong><br>
</div> </td> </tr>
</table>";
Saludos.
Franco
  #4 (permalink)  
Antiguo 09/12/2008, 12:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: problema para enviar mail

estas combinando comillas in adecuadamente...

abres las comillas dobles (para evaluar)

pero al intentar evaluar, sales de las comillas simples.... y concatenas??!
(y todo, sin salir de las comillas dobles)

Código PHP:
$foo "<bar>' . $candy['does'] . '</bar>"
me extraña que no te salte un error....

http://www.forosdelweb.com/f18/como-...s-bien-588701/


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

No atiendo por MP nada que no sea personal.
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:08.