Foros del Web » Programando para Internet » PHP »

mandar mail

Estas en el tema de mandar mail en el foro de PHP en Foros del Web. Miren este mail que mando, lo hace sin problemas. lo que necesito es algo asi: Nro. Sol. Estado Empresa Autorizada Proyecto 27 Atrasada Acme 28/10/2008 ...
  #1 (permalink)  
Antiguo 04/11/2008, 14:15
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 20 años, 1 mes
Puntos: 3
mandar mail

Miren este mail que mando, lo hace sin problemas.
lo que necesito es algo asi:

Nro. Sol. Estado Empresa Autorizada Proyecto

27 Atrasada Acme 28/10/2008 Fase 2
25 Atrasada Ameco 29/10/2008 Fase 2

etc..

y me repite todo el texto. les dejo el codigo, por favor me ayudan!!!

Código PHP:
<?
if (strstr($PHP_SELF, "/am_modules/"))  die ("Usted no puede accesar este archivo directamente...");


include_once(
"../am_core/mysql.lib.php");
include_once(
"../am_config.php");
//include_once("../am_core/mysql.lib.php");
include_once("../am_valusu.php");
$conn = db_connect($config["host"],$config["database"],$config["user"],$config["password"]) or die( db_error() );

echo 
"<table border=0 width=60%><tr>"; 

echo
"</table>
"
;
//$fechan = date("d/m/Y");
 
$fech_actu = date("d-m-Y"); // fecha actual
 
$f_ni_aaa = date("Y"); // Año actual
 
$f_ni_mmm = date("m"); // Mes actual
 
$f_ni_ddd = date("d"); // Dia actual

 
$time = time(); // Timestamp Actual
 
$restar = (24*60*60)*2; // (horas*minutos*segundos)*2 -> numero de segundos en dos dias

 
$time_ante = $time-$restar;

 
$fech_ante = date("d-m-Y",$time_ante); // fecha con dos dias menos
 
$f_ni_aa_ante = date("Y",$time_ante); // Año con dos dias menos
 
$f_ni_mm_ante = date("m",$time_ante); // Mes con dos dias menos
 
$f_ni_dd_ante = date("d",$time_ante); // 2 dias antes de hoy
 
 
$hoy=$f_ni_aa_ante.$f_ni_mm_ante.$f_ni_dd_ante;
 
 
$proyecto_actual= ("SELECT `ins_proyecto`,`ins_estado`, COUNT(*) AS 'ameco' FROM `am_inspeccion` WHERE (ins_estado like 'Q') GROUP BY `ins_proyecto`");
  
$ret      = db_query($proyecto_actual) or die(db_error());
  
$num_resp = db_num_rows($ret);
     while( 
$row=db_fetch_array($ret) ){

//while ($row=db_num_rows($proyecto_actual)){

   
$y = $row[0];
   
$x = $row[1];
   echo 
$proyecto_actual;

   echo 
"<tr>$y $x</tr>";
   echo 
"<br>";


   
$sel_sql = "select * from am_inspeccion where (ins_estado like 'Q') order by ins_folio desc";

   echo 
$sel_sql;
   echo 
"<br>";

   
$resultado = db_query($sel_sql) or die(db_error());

   
$num_resp = db_num_rows($resultado);
   
   
   echo 
"<tr>Inspecciones x mandar: $num_resp </tr>";
   echo 
"<br>";


// Formato para mandar mail a distintos proyectos.
if($f_proyecto==$uno)     $mail=$mail1;
if(
$f_proyecto==$dos)     $mail=$mail2;
if(
$f_proyecto==$tres)    $mail=$mail3;
if(
$f_proyecto==$cuatro)  $mail=$mail4;
if(
$f_proyecto==$cinco)   $mail=$mail5;
if(
$f_proyecto==$seis)    $mail=$mail6;
if(
$f_proyecto==$siete)   $mail=$mail7;
if(
$f_proyecto==$ocho)    $mail=$mail8;
if(
$f_proyecto==$nueve)   $mail=$mail9;
if(
$f_proyecto==$dies)    $mail=$mail10;



      
$i       = $row1["ins_folio"];
      
$empresa  = $row1["ins_nomemp"];
      
$f_fecing1  = $row1["ins_fecing1"];
      
$f_proyecto = $row1["ins_proyecto"];


      
$header = 'From: ' . "System Inspec." . " \r\n";
      
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
      
$header .= "Mime-Version: 1.0 \r\n";
      
$header .= "Content-Type: text/plain";

      
$mensaje .= "Sr. MANDANTE \r\n";
      
$mensaje .= " \r\n";
      
//$mensaje .= "Hay"; 
      
$mensaje .= "Hay N " . $num_resp . " a espera solicitando su Aprobación \r\n";
      
$mensaje .= "A contuniación un detalle de las solicitudes: \r\n";

      
$mensaje=""; 

   while( 
$row1=db_fetch_array($resultado) ){

      
$mensaje .= "Empresa:       " . $empresa . "       Folio: " . $i . " \r\n";


      
//Manda el Mail48


      //$mensaje .= " \r\n";
     // $mensaje .= "La Solicitud N " . $i . " esta solicitando su Aprobación \r\n";
     // $mensaje .= "Realizada por la empresa " . $f_empresa . " \r\n";
    //  $mensaje .= "Requiere ser procesada por el sotfware \r\n";
      //$mensaje .= "Autorizado el dia: " . $f_fecing1 . " \r\n";;
    //  $mensaje .= "Este mensaje fue enviado el " . date('d/m/Y', time());
    //  $mensaje .= " \r\n";
   //   $mensaje .= " " . $f_proyecto . "\r\n";

    //  $mensaje .= "Puede acceder desde este link http://www.ameco.cl/index.php \r\n\n\n";

                                       //$para = '[email protected],[email protected]';
      
$para   = "$mail_mandante1,$mail_admin1";
      
$asunto = 'Nuevas Solicitudes x Autorizar';

   }
       
//  echo $para;
    //  echo "<br><tr>mail:</tr>";
    //  echo "<tr>$mensaje</tr>";
   //   echo "<br>";

   
mail($para, $asunto, utf8_decode($mensaje), $header);




}

?>
muchas gracias
  #2 (permalink)  
Antiguo 04/11/2008, 17:40
Avatar de yo777  
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: mandar mail

Cita:
Iniciado por hulray Ver Mensaje
Miren este mail que mando, lo hace sin problemas.
lo que necesito es algo asi:

Nro. Sol. Estado Empresa Autorizada Proyecto

27 Atrasada Acme 28/10/2008 Fase 2
25 Atrasada Ameco 29/10/2008 Fase 2

etc..

y me repite todo el texto. les dejo el codigo, por favor me ayudan!!!

Código PHP:
<?
if (strstr($PHP_SELF, "/am_modules/"))  die ("Usted no puede accesar este archivo directamente...");


include_once(
"../am_core/mysql.lib.php");
include_once(
"../am_config.php");
//include_once("../am_core/mysql.lib.php");
include_once("../am_valusu.php");
$conn = db_connect($config["host"],$config["database"],$config["user"],$config["password"]) or die( db_error() );

echo 
"<table border=0 width=60%><tr>"; 

echo
"</table>
"
;
//$fechan = date("d/m/Y");
 
$fech_actu = date("d-m-Y"); // fecha actual
 
$f_ni_aaa = date("Y"); // Año actual
 
$f_ni_mmm = date("m"); // Mes actual
 
$f_ni_ddd = date("d"); // Dia actual

 
$time = time(); // Timestamp Actual
 
$restar = (24*60*60)*2; // (horas*minutos*segundos)*2 -> numero de segundos en dos dias

 
$time_ante = $time-$restar;

 
$fech_ante = date("d-m-Y",$time_ante); // fecha con dos dias menos
 
$f_ni_aa_ante = date("Y",$time_ante); // Año con dos dias menos
 
$f_ni_mm_ante = date("m",$time_ante); // Mes con dos dias menos
 
$f_ni_dd_ante = date("d",$time_ante); // 2 dias antes de hoy
 
 
$hoy=$f_ni_aa_ante.$f_ni_mm_ante.$f_ni_dd_ante;
 
 
$proyecto_actual= ("SELECT `ins_proyecto`,`ins_estado`, COUNT(*) AS 'ameco' FROM `am_inspeccion` WHERE (ins_estado like 'Q') GROUP BY `ins_proyecto`");
  
$ret      = db_query($proyecto_actual) or die(db_error());
  
$num_resp = db_num_rows($ret);
     while( 
$row=db_fetch_array($ret) ){

//while ($row=db_num_rows($proyecto_actual)){

   
$y = $row[0];
   
$x = $row[1];
   echo 
$proyecto_actual;

   echo 
"<tr>$y $x</tr>";
   echo 
"<br>";


   
$sel_sql = "select * from am_inspeccion where (ins_estado like 'Q') order by ins_folio desc";

   echo 
$sel_sql;
   echo 
"<br>";

   
$resultado = db_query($sel_sql) or die(db_error());

   
$num_resp = db_num_rows($resultado);
   
   
   echo 
"<tr>Inspecciones x mandar: $num_resp </tr>";
   echo 
"<br>";


// Formato para mandar mail a distintos proyectos.
if($f_proyecto==$uno)     $mail=$mail1;
if(
$f_proyecto==$dos)     $mail=$mail2;
if(
$f_proyecto==$tres)    $mail=$mail3;
if(
$f_proyecto==$cuatro)  $mail=$mail4;
if(
$f_proyecto==$cinco)   $mail=$mail5;
if(
$f_proyecto==$seis)    $mail=$mail6;
if(
$f_proyecto==$siete)   $mail=$mail7;
if(
$f_proyecto==$ocho)    $mail=$mail8;
if(
$f_proyecto==$nueve)   $mail=$mail9;
if(
$f_proyecto==$dies)    $mail=$mail10;



      
$i       = $row1["ins_folio"];
      
$empresa  = $row1["ins_nomemp"];
      
$f_fecing1  = $row1["ins_fecing1"];
      
$f_proyecto = $row1["ins_proyecto"];


      
$header = 'From: ' . "System Inspec." . " \r\n";
      
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
      
$header .= "Mime-Version: 1.0 \r\n";
      
$header .= "Content-Type: text/plain";

      
$mensaje .= "Sr. MANDANTE \r\n";
      
$mensaje .= " \r\n";
      
//$mensaje .= "Hay"; 
      
$mensaje .= "Hay N " . $num_resp . " a espera solicitando su Aprobación \r\n";
      
$mensaje .= "A contuniación un detalle de las solicitudes: \r\n";

      
$mensaje=""; 

   while( 
$row1=db_fetch_array($resultado) ){

      
$mensaje .= "Empresa:       " . $empresa . "       Folio: " . $i . " \r\n";


      
//Manda el Mail48


      //$mensaje .= " \r\n";
     // $mensaje .= "La Solicitud N " . $i . " esta solicitando su Aprobación \r\n";
     // $mensaje .= "Realizada por la empresa " . $f_empresa . " \r\n";
    //  $mensaje .= "Requiere ser procesada por el sotfware \r\n";
      //$mensaje .= "Autorizado el dia: " . $f_fecing1 . " \r\n";;
    //  $mensaje .= "Este mensaje fue enviado el " . date('d/m/Y', time());
    //  $mensaje .= " \r\n";
   //   $mensaje .= " " . $f_proyecto . "\r\n";

    //  $mensaje .= "Puede acceder desde este link http://www.ameco.cl/index.php \r\n\n\n";

                                       //$para = '[email protected],[email protected]';
      
$para   = "$mail_mandante1,$mail_admin1";
      
$asunto = 'Nuevas Solicitudes x Autorizar';

   }
       
//  echo $para;
    //  echo "<br><tr>mail:</tr>";
    //  echo "<tr>$mensaje</tr>";
   //   echo "<br>";

   
mail($para, $asunto, utf8_decode($mensaje), $header);




}

?>
muchas gracias
No entiendo bien tu pregunta, tu problema es el formato del cuerpo del correo? quieres alinearlo en columnas? si es así, necesitas que sea html, y editar el formato dentro de una <table>, poner tus encabezados fuera del while y dentro que se generen los renglones de tantas empresas haya en la consulta.
  #3 (permalink)  
Antiguo 04/11/2008, 17:49
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 18 años
Puntos: 5
Respuesta: mandar mail

como te ha dicho yo777 necesitas poner el correo con html para hacerlo con tablas
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:36.