Foros del Web » Programando para Internet » PHP »

Introducir php dentro de mensaje de correo electronico

Estas en el tema de Introducir php dentro de mensaje de correo electronico en el foro de PHP en Foros del Web. Estoy haciendo un login, estoy en la parte de si el user olvido su contraseña, que la nueva contraseña se la envien a su bandeja ...
  #1 (permalink)  
Antiguo 23/09/2012, 23:11
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Introducir php dentro de mensaje de correo electronico

Estoy haciendo un login, estoy en la parte de si el user olvido su contraseña, que la nueva contraseña se la envien a su bandeja de entrada, todo me anda perfecto, pero hay un problema al enviar el mensaje, parece que no capta el php metido dentro del html, que ala vez es el cuerpo del mensaje; osea usa comillas simples, Para mejor explicacion les muestro el codigo que me envia el mensaje:
Código PHP:
<?php
include_once "conexion.php";
include_once 
"function_login.php";
    
$id $_POST['email'];
    
$n 1;
    
$user strtolower($id{$n 1});
switch (
$user)
    {    
        case  
"e":
        if(
verificar_email_e($_POST['email'],$result) == 1)
        {
                
$destinatario $result->email;
                
$asunto "Cambio de contraseña";
                
$cuerpo '
                <html>
                <head>
                   <title>SOLICITUD DE CAMBIO DE CONTRASEÑA</title>
                </head>
                <body>
                <h1>SOLICITUD DE CAMBIO DE CONTRASEÑA</h1>
                <p>
                Ud acaba de solicitar el cambio de su contraseña el cual ha sido cambiado y ahora es el siguiente
                <br>
                <b>PASS:
                <? 
                    $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
                    $cad = "";
                    for($i=0;$i<12;$i++) {
                    $cad .= substr($str,rand(0,62),1);
                    }
                    echo $cad;
                ?>
                </b>
                <br>
.                CORREO DE PRUEBA
                </p>
                </body>
                </html>
                '
;
                
                
//para el envío en formato HTML
                
$headers "MIME-Version: 1.0\r\n";
                
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
                
                
//dirección del remitente
                
$headers .= "From: AREA DE SISTEMAS - UPS <[email protected]>\r\n";
                
                
//dirección de respuesta, si queremos que sea distinta que la del remitente
                
$headers .= "Reply-To: AREA DE SISTEMAS - UPS <[email protected]>\r\n";
                
                
mail($destinatario,$asunto,$cuerpo,$headers);
                echo 
'<script language = javascript>alert("Correo enviado correctamente,Fijese su bandeja")
                location.href="index.php"
                </script>'
;
        }
        else
        {
            echo 
'<script language = javascript>alert("ID incorrecto, vuelva introducir ID")
            location.href="index.php"
            </script>'
;
        }
        break;

    }
?>
La parte del problema es esta:
Código PHP:
<body>
                <h1>SOLICITUD DE CAMBIO DE CONTRASEÑA</h1>
                <p>
                Ud acaba de solicitar el cambio de su contraseña el cual ha sido cambiado y ahora es el siguiente
                <br>
                <b>PASS:
                <? 
                    $str 
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
                    
$cad "";
                    for(
$i=0;$i<12;$i++) {
                    
$cad .= substr($str,rand(0,62),1);
                    }
                    echo 
$cad;
                
?>
                </b>
                <br>
.                CORREO DE PRUEBA
                </p>
                </body>
                </html>
Ese codigo php que inserto es para que me genere una contraseña aleatoria y cuando pruebo, me envia a mi correo el mensaje de esta manera:

osea no me lee el php, ayuden please Gracias anticipadamente xD
  #2 (permalink)  
Antiguo 24/09/2012, 00:19
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Introducir php dentro de mensaje de correo electronico

Los clientes de correo no pueden ejecutar código PHP, necesitas primero crear la cadena y simplemente agregarla al código:

Código PHP:
Ver original
  1. $cadena = 'aquí tu contraseña aleatoria';
  2. $cuerpo = '<html><body>texto' . $cadena . 'mas texto</body></html>';
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 24/09/2012, 04:14
Avatar de pablogalvan  
Fecha de Ingreso: septiembre-2012
Ubicación: Sevilla Spain
Mensajes: 107
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Introducir php dentro de mensaje de correo electronico

No se si lo solucionaste.

Cómo dice triby, en la variable $cuerpo escribes el código del mensaje en html, hay no puede ir php ya que el navegador no lo intrepreta.

Hay que generar fuera la contraseña y añadirsela a cuerpo cómo texto como ves en el ejemplo de triby
__________________
Especialista SEO
Liga Rfactor

Etiquetas: email+php, enviar+mail+php, incrustar+php+mensaje, php+basedatos
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 00:23.