Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2013, 09:39
albemartinez
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 11 meses
Puntos: 1
importar datos para envío de adjuntos

Buenas...

Intento hacer algo que me facilite la existencia:

Cada determinado tiempo necesito enviar un documento adjunto a un listado de correos, a cada correo le corresponde un adjunto distinto y dependiendo la fecha es un adjunto determinado. Es decir, a la persona 1 se le manda el adjunto 1 y a la persona 2 el adjunto 2 y así progresivamente.

La base con los datos necesarios esta en un Excel y los adjuntos en mi maquina. Lo primero que hice fue una macro de excel que se conecte mediante SMTP y haga el envio de los mails, eso va bien, pero ahora busco hacerlo en linea... entonces.

Tengo un HTML para subir un archivo CSV al servidor.

Código HTML:
<html>
<form action="subida.php" method="post" enctype="multipart/form-data">
  <input name="archivo" type="file" size="35" />
  <input name="enviar" type="submit" value="Upload File" />
  <input name="action" type="hidden" value="upload" />     
</form>
</html> 
Después, con PHP, leo los datos que contiene el archivo y tengo campos para aumentar el asunto y el mensaje y a cada conjunto de datos (nombre, correo y ruta del adjunto) le agrego un botón para enviar por mail esa información...

Código PHP:
<?php
$status 
"";
if (
$_POST["action"] == "upload") {
    
// obtenemos los datos del archivo
    
$tamano $_FILES["archivo"]['size'];
    
$tipo $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
      
    if (
$archivo != "") {
        
// guardamos el archivo a la carpeta files
        
$destino =  "files/".$archivo;
        if (
copy($_FILES['archivo']['tmp_name'],$destino)) {
            
$status "Archivo subido: <b>".$archivo."</b>";
        } else {
            
$status "Error al subir el archivo";
        }
    } else {
        
$status "Error al subir archivo";
    }
}
echo 
$status ;
echo 
'
<html>
<body>

<div>
      <form method="post" name="FormularioContacto" id="FormularioContacto">

<p>Asunto</p>
 <p><textarea size="50" maxlength="300" name="asunto" id="asunto"></textarea></p>
 <p>Mensaje</p>
 <p><textarea  rows="10" cols="40" name="mensaje" id="mensaje"></textarea></p>
 

</body>
</html>'
;
$asun=$_POST["asunto"];
$mens=$_POST["mensaje"];


$subido fopen"files/".$archivo"r" );
 
    
// Leer la primera línea:
     
$aDatos fgetcsv$subido100",");
    
print_r$aDatos );
    echo 
"<br />";
    
// Tras la lectura anterior, el puntero ha quedado en la segunda línea:
     
$aDatos fgetcsv$subido100"," );
    
print_r$aDatos );
    echo 
"<br />-------------------------------------<p />";
    
// Volvemos a situar el puntero al principio del archivo:
    
fseek($subido0);
    
// Recorremos el archivo completo:
     
while( feof($subido) == false )
     {
         
$aDatos fgetcsv$subido100",");
        echo 
'<form name="ID" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>" enctype="multipart/form-data">';
        echo 
"Nombre: ".$aDatos[0]."<br />";
        echo 
"Correo: ".$aDatos[1]."<br />";
        echo 
"Adjunto: ".$aDatos[2]."<br />";
    
mail($aDatos[1], $asun$mens);
        echo 
'<input type="submit" value="Enviar"></form><br />';
    }
Lo que quiero que haga:

Que recoja de mi maquina el adjunto que se debe enviar
Que se envíe uno por uno la información

Hasta ahora "parece" que hace el envío pero veo el destinatario y no llega nada, ademas, le doy enviar al primero y me cambia de pagina y ya no se ven los siguientes...

Alguna sugerencia???

PD: NO soy ni de cerca programador, esto lo hago de forma autodidacta, por aquello de que me empiecen con tecnicismos que les agradeceré mucho pero seguro me dejarían igual de confundido

Gracias