elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Envio de mails cada cierto tiempo (No Spam)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Envio de mails cada cierto tiempo (No Spam)  (Leído 10,379 veces)
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Envio de mails cada cierto tiempo (No Spam)
« en: 30 Agosto 2010, 21:45 pm »

Buenas, tengo usuarios registrados en mi web y una base de datos que tiene eventos con su correspondiente dia. Queria saber si hay forma que llegado ese dia (o un par de horas antes a ese dia), se envie un mail automaticamente con el evento que le corresponde a ese dia. Hay forma de hacerlo?

Gracias.


En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #1 en: 30 Agosto 2010, 21:47 pm »

Toma el dia y hora, y compárala con el dia y hora que quieres que se envie, si la condición es correcta, ps envia el mail....



En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #2 en: 30 Agosto 2010, 22:02 pm »

Si, ya lo habia pensado comprar la fecha del servidor con la fecha del evento, pero como hago un scrip que este comprobando todo el tiempo y automaticamente la fecha y hora del servidor?
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #3 en: 30 Agosto 2010, 22:24 pm »

Yo haría algo así,
Esto para que se refresque la pagina, cada x tiempo.
Código
  1. <meta http-equiv='refresh' content='5;url=index.php'>

y esto, para agregar minutos e identificar a que hora se enviará el proximo correo,
Código
  1. function addMinuts($sMins){# Function to add minutes to the current time
  2.  $sAddition = strtotime($sStart .' + '.$sMins.' mins');
  3.  $sTime = (date('H:i:s', $sAddition));
  4.  return $sTime;
  5. }
  6.  
  7. echo '<b>Fecha actual:</b> '.date('H:i:s');
  8. echo '<br>';
  9. echo '<b>Proximo correo:</b> '.addMinuts(60);

PoC:
Código:
Fecha actual: 16:23:48
Proximo correo: 17:23:48

Nota: Ahora solo te falta ponerle la condición de la hora en la que quieres enviar el correo.
« Última modificación: 30 Agosto 2010, 22:26 pm por Shell Root » En línea

Te vendería mi talento por poder dormir tranquilo.
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #4 en: 30 Agosto 2010, 23:01 pm »

Gracias por su respuestas, pero tengo una duda:

Citar
<meta http-equiv='refresh' content='5;url=index.php'>

con este meta el usuaria no tendria que estar 5 segundos para actualizar la web? o no estoy entendiendo muy bien el funcionamiento de este meta?

Yo lo que quiero es que sin que ningun usuario, ni el administrador del sitio ingresen a la web, el sistema chekea solo si es el dia para enviar el mail o no. Gracias nuevamente.
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #5 en: 30 Agosto 2010, 23:03 pm »

mmm Sí, tiene que estar el usuario en la pagina. Pues, entonces realiza una aplicación de escritorio, xD. .NET, por ejemplo.
En línea

Te vendería mi talento por poder dormir tranquilo.
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #6 en: 30 Agosto 2010, 23:12 pm »

Hice un script similar, la idea de refrescar la pagina es muy buena xD....

time_script.php
Código
  1. <?php
  2.  
  3. class ejecucion {
  4. private $validar;
  5. private $seg;
  6. private $archivo;
  7.  
  8. public function refresh($seg, $archivo){
  9. $this->seg = $seg;
  10. $this->archivo = $archivo;
  11. }
  12.  
  13. public function time_script($mes,$dia,$hora,$min){
  14. $fecha = time ();
  15. if(date('n',$fecha) == $mes && date('j',$fecha) == $dia && date('H',$fecha) == $hora && date('i',$fecha) == $min){
  16. $this->validar = true;
  17. return $this->validar;
  18. }else{
  19. sleep($this->seg);
  20. header ("Location: ".$this->archivo);
  21.  
  22. }
  23. }//Fin del metodo time_script
  24. }//Fin de la clase ejecucion
  25. ?>

mail.php

Código
  1. <?php
  2. include('time_script.php');
  3.  
  4. $new = new ejecucion;
  5. $new->refresh(5, 'mail.php');//Refresco cada 5 segundo el archivo mail.php
  6. $resultado = $new->time_script(8,30,17,11);//Mes, Dia, hora y minuto
  7. if($resultado){
  8. echo "Enviando correo";
  9. }
  10.  
  11. ?>
  12.  
  13.  


Citar
Yo lo que quiero es que sin que ningun usuario, ni el administrador del sitio ingresen a la web, el sistema chekea solo si es el dia para enviar el mail o no. Gracias nuevamente.

Usa cron...
http://es.wikipedia.org/wiki/Cron_(Unix)
« Última modificación: 30 Agosto 2010, 23:13 pm por ~ Yoya ~ » En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #7 en: 31 Agosto 2010, 01:33 am »

Gracias ~ Yoya ~ por los script y voy a averiguar un poco mas acerca del cron, que algo habia escuchado. Si me sale lo que quiero hacer despues lo pongo para sumar al foro xD
En línea

mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #8 en: 31 Agosto 2010, 01:50 am »

~ Yoya ~  estuve mirando lo del cron job y esta bueno, pero no hace lo que quiero. Ya que al cron le tenes que especificar una fecha que siempre sera la misma para ese archivo (el .php que contiene el script) y yo lo que quiero es que se ejecute el script segun el registro de fecha que tengo en la BD.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Envio de mails cada cierto tiempo (No Spam)
« Respuesta #9 en: 31 Agosto 2010, 02:19 am »

ps que el cron active mi script y haci mi script se mantiene ejecutandose...
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejecutar labels cada cierto tiempo « 1 2 »
Programación Visual Basic
El anonimato 13 7,883 Último mensaje 22 Febrero 2011, 06:18 am
por ignorantev1.1
[postfix] no salen todos mis mails, solo cierto numero [solucionado]
Redes
Diabliyo 2 4,902 Último mensaje 6 Mayo 2011, 16:54 pm
por Diabliyo
Enviar mails desde VB6 sin ir a spam folder
Programación Visual Basic
extreme69 2 3,266 Último mensaje 21 Julio 2011, 05:42 am
por extreme69
Mi PC se congela cada cierto tiempo.
Hardware
Taker54 2 3,258 Último mensaje 11 Mayo 2020, 17:12 pm
por Taker54
MOVIDO: Mi PC se congela cada cierto tiempo.
Dudas Generales
Songoku 0 2,314 Último mensaje 11 Mayo 2020, 11:53 am
por Songoku
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines