Foros del Web » Programando para Internet » PHP »

importar datos para envío de adjuntos

Estas en el tema de importar datos para envío de adjuntos en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/06/2013, 09:39
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 10 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
  #2 (permalink)  
Antiguo 21/06/2013, 13:36
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: importar datos para envío de adjuntos

si dejamos de lado el tema de la programación tranquilamente puedes hacer una combinación de correspondencia usando un cliente de correo como Outlook o Thunderbird; así aprovechas la información que ya tienes en excel.

p.d. para Thunderbird puedes usar el complemento Mail Merge
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 26/06/2013, 11:41
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: importar datos para envío de adjuntos

Gracias jcxnet, tengo un excel que envía los datos como lo quiero, solo que no logro hacer que lo haga en cada celda, tengo que cambiarlo manual directo en el VB.

Aun estoy en pruebas con esto del PHP, no soy nada bueno para este ni para el excel, pero no pienso dejarlo por ahora...

De nuevo Gracias jcxnet y si me atoro ire a preguntarle a los que le saben al excel.

Perdonen mi tardanza en la respuesta.

Etiquetas: adjuntos, formulario, html
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 06:11.