Foros del Web » Programando para Internet » PHP »

Reenviar formularios con archivos adjuntos ¿se puede?

Estas en el tema de Reenviar formularios con archivos adjuntos ¿se puede? en el foro de PHP en Foros del Web. Hola a todos: Tengo una página que envía correos masivos de la siguiente manera: home.php->formulariodeenvio.php->mailer.php Donde mando variables por POST desde formulariodeenvio.php a mailer.php Pero ...
  #1 (permalink)  
Antiguo 23/07/2006, 22:07
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Reenviar formularios con archivos adjuntos ¿se puede?

Hola a todos:

Tengo una página que envía correos masivos de la siguiente manera:

home.php->formulariodeenvio.php->mailer.php

Donde mando variables por POST desde formulariodeenvio.php a mailer.php

Pero como el servidor me pone una restriccion de 150 correos por hora, he puesto que el script parta la cantidad en pedazos de 150, y lo que quiero es que se actualice la página y mande las otras tandas de correos.

He probado con:

<meta http-equiv="refresh" content="3600">

y con javascript con:

setTimeout("mailer.php",5*1000)

pero me mandan a la página misma, es decir a mailer.php pero de frente! como si la hubiera escrito en el navegador, a diferencia que cuando presiono F5 (que me funciona muy bien).

De manera que cansado de esto he probado escondiendo las variables de los POST en mailer.php:
Código PHP:
<input type="hidden" name='hora' value="<?php echo $_POST['hora']; ?>">
<input type="hidden" name='minuto' value="<?php echo $_POST['minuto']; ?>">
<input type="hidden" name="segundo" value="<?php echo $_POST['segundo']; ?>">
<input type="hidden" name='asunto' value="<?php echo $_POST['asunto']; ?>">

...

...etc
Todo comenzó a funcionar bien, ya que con javascript le ponía a que mandase a si mismo los datos que previamente le habían mandado. Lo malo viene a la hora de mandar el adjunto, ya que como el adjunto lo puse en formulariodeenvio.php y lo mandé hacia mailer.php, mailer.php ya no se envía a si mismo el adjunto!

En todo caso, lo que quisiera saber es:

1) Si hay una manera de emular el presionar el boton F5 (y si por fin con eso ya se mandaran los datos)

2) Si hay una manera de conservar el archivo adjunto para enviarlo cuantas veces quiera y no solamente cuando pase del formulariodeenvio.php a mailer.php

Disculpen si he sido muy desordenado al explicarme, pero he estado con esto todo el día y apenas si puedo pensar bien...

saludos,
__________________
Mi blog

Última edición por Galled; 24/07/2006 a las 00:47
  #2 (permalink)  
Antiguo 24/07/2006, 02:04
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Buenos días Galled

El problema que estás teniendo con el dato adjunto, creo, que es el siguiente:

Al hacerse el primer envio, se manda el archivo, el cual estaba de forma temporal almacenado en un directorio del Servidor.

Entonces, al hacerse el envio primero, dicho archivo es mandado y ya no está para siguientes reenvios.

La verdad, no se exactamente como estás tratando dicho archivo adjunto, pero yo te aconsejaría lo siguiente:

- Sube el archivo adjunto, y dejalo en un sitio FIJO del servidor.
- A la hora de mandar el archivo, mándalo con rutas absolutas para hacer referencia en tu servidor (o haz que desde el email, se acceda a él con un linck).

Especifica un poco mejor el uso que le das a tu archivo adjunto, y si lo subes o no a un directorio de tu Web.

Espero que podamos ayudarte.

Un saludo

  #3 (permalink)  
Antiguo 24/07/2006, 03:18
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Pues si, en eso tienes razón, es temporal. Pero como hago para guardarlo en un sitio fijo del servidor?

Muchas gracias
__________________
Mi blog
  #4 (permalink)  
Antiguo 24/07/2006, 03:46
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Hola de nuevo

Para poder subir fisicamente un fichero a servidor, has de usar la función que te da PHP para ello.

La función es move_uploaded_file, la cual tiene la siguiente sintaxis:

bool move_uploaded_file ( string filename, string destination )

Para más documentación, y por si encuentras alguna función que se adecue mejor a lo que quieres hacer, revisa el siguiente enlace: phpNet

Espero haberte ayudado.

Un saludo

  #5 (permalink)  
Antiguo 24/07/2006, 17:50
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Disculpa por no contestar seguido.

Ufff me has ayudado muchisimo!!! Muchisimas gracias. Ahora si envía el archivo (aunque he tenido que darle demasiados permisos en la carpeta donde se guardan esos archivos... Eso es seguridad.. como puedo hacer para mejorar eso?)
__________________
Mi blog
  #6 (permalink)  
Antiguo 24/07/2006, 17:51
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Disculpa por no haber contestado antes.

Me has ayudado muchisimo, muchas gracias.

Ya puedo enviar los adjuntos, pero he tenido que darle demasiados permisos a la carpeta de donde salen esos correos. Eso es poca seguridad no? Como puedo hacer con eso?
__________________
Mi blog
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 17:32.