Foros del Web » Programando para Internet » PHP »

Mandar código PHP por mail.

Estas en el tema de Mandar código PHP por mail. en el foro de PHP en Foros del Web. Buenos días... Tengo una página web escrita en PHP y quiero mandarla por mail, usando la funcion mail(). Digamos, que realice lo mismo que hace ...
  #1 (permalink)  
Antiguo 28/02/2005, 02:40
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
Mandar código PHP por mail.

Buenos días...

Tengo una página web escrita en PHP y quiero mandarla por mail, usando la funcion mail().

Digamos, que realice lo mismo que hace el Outlook cuando pones enviar pagina web...

Lo ideal sería que automaticamente pase todo el php a html y ahi se hace facil, pero lo dificil es hacer esto generico, ya que el contenido del php va cambiando.

Saludos.

PD: espero que haya una solucion facil, porque ya estoy cansado... :(
__________________
Ignacio
  #2 (permalink)  
Antiguo 28/02/2005, 02:49
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 20 años, 4 meses
Puntos: 3
¿Quieres enviar la página que se está mostrando o el código php?
Si quieres enviar la página que estás viendo, tendrás que mandarla en html, pues es como está escrita.
Si lo que quieres en mandar el código que la genera yo usaría SMTP y lo adjuntaría.
En http://www.phpclasses.org hau clases que hacen estas cosas.
Suerte
dobeto
  #3 (permalink)  
Antiguo 28/02/2005, 08:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes llamar a tu pagina .??? (da igual si es .php o lo que sea) para tomarla hacia una variable con las funciones del buffer de control de PHP:

Código PHP:
<?
ob_start
();
include(
"nose.php");
$html=ob_get_contents();
ob_end_clean();


// envias tu e-mail .. en $html tienes el HTML de esa página que llamastes por el include y capturastes con las funciones del buffer de salida de PHP.
mail(.....$html....);
Un saludo,
  #4 (permalink)  
Antiguo 28/02/2005, 11:43
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
Bueno, es interesante lo que me dices...

pero ahora el mail llega totalmente en blanco....

ups, que será?

estas son mis cabeceras:

$cabecera = "From:$SenderFrom<$EmailFrom>\n";
$cabecera .= "Reply-to:$EmailReplyTo\nbcc:$EmailTo\n";
$cabecera .= "MIME-Version: 1.0\n";
$cabecera .= "Content-type: text/html; charset=iso-8859-1";
__________________
Ignacio
  #5 (permalink)  
Antiguo 28/02/2005, 13:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. antes de "esperar" como te llega el e-mail .. evalua que sucede .. ya te comenté que en $html tienes el HTML resultante de llamara a tu nose.php .. así que empieza por hacer un:

echo $html;

ahí debes ver tu página HTML tal cual verias si llamas a nose.php ...

Para más información sobre el tema del control del buffer de PHP (de salida):
http://www.php.net/manual/en/ref.outcontrol.php

Un saludo,
  #6 (permalink)  
Antiguo 28/02/2005, 13:29
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
No se que pasa Cluster... el HTML me lo muestra, pero el PHP no me lo compila para nada, nada de nada de PHP, ni variables, ni funciones ni nada pero las tablas, y html si lo pasa, no se porque, tenes idea que puede ser?

Saludos.
__________________
Ignacio
  #7 (permalink)  
Antiguo 28/02/2005, 13:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Compila? .. PHP sólo interpreta ..

Pon el código que uses .. completo ... tanto de tu script que llamas por esa vía como el script que va a tomarlo y enviarlo por e-mail ..

Un saludo,
  #8 (permalink)  
Antiguo 28/02/2005, 14:02
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
mando el mail

mando el mail

Código PHP:
<?php
require( "../variables.php" );
dbConnect();
ob_start(); 
include(
"../email.php"); 
$html_email=ob_get_contents(); 
ob_end_clean(); 

$SenderFrom "Newsletter | B&A";        
$EmailFrom $SitioEmail;    
$EmailReplyTo $SitioEmail;    
$dbport "3306";

        
// Security
        
$subject strip_tags($asunto);
        
$TEXTMailText stripslashes($mensaje); 
        
        
$query "SELECT * FROM blanco_newsletter";
        
$result mysql_query$query);
        
        if (
$row mysql_fetch_array($result))
        {            
            
$EmailTo $row["email"];
            
$ok true;
        }
        
        while (
$row mysql_fetch_array($result))
        {
            
$EmailTo .= ", " $row["email"];
            
$ok true;
        }
                
        if ((
$mailtype=="text") && ($ok))
        {
            
$Message $TEXTMailText;
            
//$Message .= $TXTfooter;
            
            
$sent mail($SenderFrom."<".$EmailFrom.">"$subject$Message"From:$SenderFrom<$EmailFrom>\nReply-to:$EmailReplyTo
                    \nbcc:$EmailTo"
);
        }
        elseif ((
$mailtype=="html") && ($ok))
        {

            
            
$Message $mensaje// Send HTML mail as it was entered in multi line text box
            
$Message .= $HTMLfooter;
            
            
$sheader "From:$SenderFrom<$EmailFrom>\n";
            
$sheader .= "Reply-to:$EmailReplyTo\nbcc:$EmailTo\n";
            
$sheader .= "Content-type: text/html; charset=iso-8859-1\n";
            
$sheader .= "MIME-Version: 1.0";

              
            
$sent mail($SenderFrom."<".$EmailFrom.">"$subject$html_email$sheader);    
        }

if (
$sent) {
header "Location: index.php?mensaje=El Mailing se mando correctamente." );
} else {
header "Location: index.php?mensaje=Ocurrió un error. Vuelva a intentarlo." );
}
?>
__________________
Ignacio
  #9 (permalink)  
Antiguo 28/02/2005, 14:04
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
defino $html_email en email.php

Código PHP:
<?
html_email 
'
require( "variables.php" );
dbConnect();

$tabla3 = "blanco_fechas";
$consulta3 = mysql_query( "SELECT * FROM $tabla3 " ) or error( mysql_error() );    
$renglon3 = mysql_fetch_array( $consulta3 );

function fecha1(){
    
    $tabla2 = "blanco_fechas";
    $consulta2 = mysql_query( "SELECT * FROM $tabla2 " ) or error( mysql_error() );    
    $renglon2 = mysql_fetch_array( $consulta2 );

    $mes = array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",7=>"Julio",
                 8=>"Agosto",9=>"Septiembre",10=>"Octubre",11=>"Noviembre",12=>"Diciembre");
    $dia = array("Domingo", "Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
    $diames = date("j", $renglon2[fecha1]);
    $nmes = date("n", $renglon2[fecha1]);
    $ndia = date("w", $renglon2[fecha1]);
    $nano = date("Y", $renglon2[fecha1]);
    
    return $dia[$ndia]." ".$diames." de ".$mes[$nmes]." de ".$nano;    
}

function fecha2(){
    
    $tabla2 = "blanco_fechas";
    $consulta2 = mysql_query( "SELECT * FROM $tabla2 " ) or error( mysql_error() );    
    $renglon2 = mysql_fetch_array( $consulta2 );

    $mes = array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",7=>"Julio",
                 8=>"Agosto",9=>"Septiembre",10=>"Octubre",11=>"Noviembre",12=>"Diciembre");
    $dia = array("Domingo", "Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
    $diames = date("j", $renglon2[fecha2]);
    $nmes = date("n", $renglon2[fecha2]);
    $ndia = date("w", $renglon2[fecha2]);
    $nano = date("Y", $renglon2[fecha2]);
    
    return $dia[$ndia]." ".$diames." de ".$mes[$nmes]." de ".$nano;    
}

function fecha3(){
    
    $tabla2 = "blanco_fechas";
    $consulta2 = mysql_query( "SELECT * FROM $tabla2 " ) or error( mysql_error() );    
    $renglon2 = mysql_fetch_array( $consulta2 );

    $mes = array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",7=>"Julio",
                 8=>"Agosto",9=>"Septiembre",10=>"Octubre",11=>"Noviembre",12=>"Diciembre");
    $dia = array("Domingo", "Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
    $diames = date("j", $renglon2[fecha3]);
    $nmes = date("n", $renglon2[fecha3]);
    $ndia = date("w", $renglon2[fecha3]);
    $nano = date("Y", $renglon2[fecha3]);
    
    return $dia[$ndia]." ".$diames." de ".$mes[$nmes]." de ".$nano;    
}

function fecha4(){
    
    $tabla2 = "blanco_fechas";
    $consulta2 = mysql_query( "SELECT * FROM $tabla2 " ) or error( mysql_error() );    
    $renglon2 = mysql_fetch_array( $consulta2 );

    $mes = array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",7=>"Julio",
                 8=>"Agosto",9=>"Septiembre",10=>"Octubre",11=>"Noviembre",12=>"Diciembre");
    $dia = array("Domingo", "Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
    $diames = date("j", $renglon2[fecha4]);
    $nmes = date("n", $renglon2[fecha4]);
    $ndia = date("w", $renglon2[fecha4]);
    $nano = date("Y", $renglon2[fecha4]);
    
    return $dia[$ndia]." ".$diames." de ".$mes[$nmes]." de ".$nano;    
}

function fecha5(){
    
    $tabla2 = "blanco_fechas";
    $consulta2 = mysql_query( "SELECT * FROM $tabla2 " ) or error( mysql_error() );    
    $renglon2 = mysql_fetch_array( $consulta2 );

    $mes = array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",7=>"Julio",
                 8=>"Agosto",9=>"Septiembre",10=>"Octubre",11=>"Noviembre",12=>"Diciembre");
    $dia = array("Domingo", "Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
    $diames = date("j", $renglon2[fecha5]);
    $nmes = date("n", $renglon2[fecha5]);
    $ndia = date("w", $renglon2[fecha5]);
    $nano = date("Y", $renglon2[fecha5]);
    
    return $dia[$ndia]." ".$diames." de ".$mes[$nmes]." de ".$nano;    
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Mailing Blanco y Asoc. - Vista Previa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">
<!--
.texto1 {
    font-size: 12px;
    font-style: normal;
    line-height: normal;
    color: #FFFFFF;
    text-decoration: none;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: normal;
}
.fecha {
    font-size: 10px;
    font-style: normal;
    line-height: normal;
    color: #FFFFFF;
    text-decoration: none;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: normal;
}

body {
    background-color: #000000;
    background-image: URL(fondo3.gif);
    background-repeat:   repeat-y;
    background-position: center top;
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
.texto2 {

    font-size: 11px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    color: #FFFFFF;
    text-decoration: none;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}
.desarrollo1 {

    font-size: 11px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    color: #F9D004;
    text-decoration: underline;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}
.desarrollo2 {


    font-size: 10px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    color: #F9D004;
    text-decoration: none;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}
.texto3 {


    font-size: 10px;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    color: #FFFFFF;
    text-decoration: none;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}
.blanca {
    color: #FFFFFF;
    font-color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 16px;
    text-decoration: none;
    text-align: left;
    font-weight: normal;
}
-->
</style>
</head>
<body>
<table width="606" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#000000">
  <tr>
    <th colspan="2" scope="col"><img src="http://www.marcoscantori.com.ar/blanco/top.jpg" width="606" height="115"></th>
  </tr>
  <tr>
    <td width="34" background="http://www.marcoscantori.com.ar/blanco/line1.jpg">&nbsp;</td>
    <td width="572" valign="top"><table width="100%"  border="0" cellspacing="5" cellpadding="0">
        <tr>
          <th width="19" valign="top" scope="col"><img src="http://www.marcoscantori.com.ar/blanco/iten.jpg" width="18" height="18"></th>
          <th width="249" align="left" valign="top" scope="col"><table width="100%"  border="0" cellspacing="1" cellpadding="0">
              <tr>
                <td><p class="texto1"><strong>D&iacute;a y hora de emisi&oacute;n:<br>
                </strong><span class="fecha"><?php echo fecha1(); ?> - <?php echo $renglon3[hora1];?><br>
                  <?php echo fecha2(); ?> - <?php echo $renglon3[hora2];?><br>
                  <?php echo fecha3(); ?> - <?php echo $renglon3[hora3];?><br>
                  <?php echo fecha4(); ?> - <?php echo $renglon3[hora4];?><br>
                <?php echo fecha5(); ?> - <?php echo $renglon3[hora5];?></span></p>                  </td>
              </tr>
            </table></th>
          <th width="18" valign="top" scope="col"><img src="http://www.marcoscantori.com.ar/blanco/iten.jpg" width="18" height="18"></th>
          <th width="106" align="left" valign="top" scope="col"><table width="100%"  border="0" cellspacing="1" cellpadding="0">
              <tr>
                <td align="left" valign="top"><p class="texto1"><strong>Conducci&oacute;n:<br>
                </strong>Luis Blanco</p></td>
              </tr>
            </table></th>
          <th width="18" valign="top" scope="col"><img src="http://www.marcoscantori.com.ar/blanco/iten.jpg" width="18" height="18"></th>
          <th width="127" align="left" valign="top" scope="col"><table width="100%"  border="0" cellspacing="1" cellpadding="0">
              <tr>
                <td align="left"><p class="texto1"><strong>Canal:</strong></p></td>
              </tr>
              <tr>
                <td align="center"><img src="http://www.marcoscantori.com.ar/blanco/rural.jpg" width="92" height="49"></td>
              </tr>
            </table></th>
        </tr>
      </table>
      <table width="100%"  border="0" cellspacing="0" cellpadding="5">
        <tr>
          <th scope="col"> <?php
            $tabla1 = $dbPref."mailing";
            $consulta = mysql_query( "SELECT * 
                                      FROM $tabla1
                                      ORDER BY `id` DESC " ) or error( mysql_error() );    
while ($renglon = mysql_fetch_array( $consulta ))
{
?>
            <table width="100%" border="0" cellspacing="0" cellpadding="3">
              <tr>
                <td width="170"><img src="http://www.marcoscantori.com.ar/blanco/firmafoto.php?image=<?php echo $renglon[id];?>foto170x100.jpg" width="170" height="100"></td>
                <td valign="top"><p class="blanca"><?php echo $renglon[titulo];?></p></td>
              </tr>
            </table>
            <?php
}
?>
          </th>
        </tr>
      </table></td>
  </tr>
  <tr>
    <td colspan="2"><img src="http://www.marcoscantori.com.ar/blanco/line2.jpg" width="606" height="27"></td>
  </tr>
      </table></td>
  </tr>
</table>
</body>
</html>
'
;
?>
__________________
Ignacio
  #10 (permalink)  
Antiguo 28/02/2005, 14:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. es completamente normal que no te funcione ..

No captastes la idea que quería transmitirte ..

email.php debe quedar como tal .. sin meter tu código en una variable .. y menos tipo:

$html='algo $variable';

Si tu usas comillas simples en la asignación de una variable (en su caso dobles.. y cuando requieras comillas dobles dentro de ese echo "" usa el \" para hacer referencia) .. no se interpreta tu código PHP que tengas (variables) .. sobre otro código (funcioens ..etc) ahí dará un error .. no se puede ejecutar todo eso así...

Un saludo,
  #11 (permalink)  
Antiguo 28/02/2005, 14:54
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
EXCELENTEEEEEE

tenías que haberme explicado eso antes... ahora me anda de pelo, lo que yo quería, el php se ve todo y manda perfectamente

lo que no se me ven son los css, y eso que los declare en la misma pagina, no se porque,

saludos
__________________
Ignacio
  #12 (permalink)  
Antiguo 01/03/2005, 05:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. ese tema ya no es cosa de PHP (que se interpreten tus CSS o no ...)

No sé con que cliente de correo estás visualizando ese e-mail en HTML .. pero ten presente que muchos clientes (sobre todo web-mail) el e-mail en sí forma parte de una página HTML común con sus própios <html> .. <head> .. y demás .. por ende .. tu en tu <body> de esa "página" de ese "webmail" tu "anidas" otros <html><head> ... etc .. Eso cara a HTML no es correcto y se interpreta sólo las primeras cabeceras .. así que tus CSS definidos en el "<head>" tuyo no son tomados encuenta .. Tal vez podrías probar (para evitar esos problemas) a incrustrar el CSS dentro del tag HTML y no como una "class" definida en el <head> ...

Un saludo,
  #13 (permalink)  
Antiguo 01/03/2005, 10:29
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
Bueno, Cluster, solucionaste todo mis problemas, te agredezco eternamente.

Gracias, enserio, quedo endeudado contigo (una vez más).

Saludos.
__________________
Ignacio
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 16:13.