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: 18 años, 2 meses
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$asuntoutf8_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: 16 años, 4 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$asuntoutf8_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: 16 años, 1 mes
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 13:01.