Este es un link permanente de Aplicacion para enviar correos cada cierto tiempo.
Puedes volver a ver el tema completo o ir al Servicios Webs
20/04/2007 18:16:26
chio_laley
Fecha de registro: 11/04/2007
0 post en este tema
1 post en servicios webs
3 posts en todos los foros
Aplicacion para enviar correos cada cierto tiempo
Responder  Citar

Hola como estan? amigos de ASP.net.
Tengo my site que es un boletin electronico, es sobre LA FACULTADDE LETRAS  de mi universidad. Hay dos tipos de usuarios: administradores y lectores. Los administradores seeran los profesores (puede haber varios administradores).

Estops profesores pueden publicar dos tipos de documentos: publicaciones y novedades.
Cada vez q un profesor registra una pub o una novedad, el sistemas tiene q enviar un email a cada lector, informandole que la seccion  e publicaciones fue actualizada.

Tengo que tener en cuenta las limitaciones q me puso el Hosting. solo puedo enviar 2000 email al dia.

y no se como hacerlo, se me ocurrieron ideas pero las descarte.
Puesto que imaginense q hubiera simultaneamente dos profesores q esten ingresando sus publicaciones, los correos pasarian a algo asiu como una cola de correos, tendria q tenere en cuenta a los profes que estan enviando sus publiaciones y q se encuentren en otro sitio...mi problema tambien seria como y cuando activar el mecanismo, habia intentado usar un reloj y ademas q pasa si el profe cierra su navegador. se seguiria enviando los correos????
al parecer toda esta implementacion viene desde el servidor, pense q tal vez podia hacerlo todo en sql server 2000 (en algo asi como un procedimiento almacenado), se podra porgramar en sql?

Trabajo en visual studio 2003 .et framework 1.1, c #
porfa si alguien tuviera una idea o sugerencia me la podria hacer llegar

Bueno esto es lo q basicamente intente:

este es un script en lado cliente en javascript:, pero a manera de ejempo estaba haciendo q me envie cada hora 100 correos noma(como prueba)
function mostrar(){

 serverdate.setSeconds(serverdate.getSeconds()+1)
 var hora=serverdate.getHours();
 var minutos=serverdate.getMinutes();
 var segundos=serverdate.getSeconds();
 if(<%=inicio%>==1)
  {
  if(auxiliar==)
  {
                                                 auxiliar=0;   
                              <%=EnvioMasivo()%>//se va al servidor y envia a los siguientes 100/
                             <%=permiso=1%>
                      }
         else
         {auxiliar=auxiliar+1;} 
 }  
}

 window.onload=function(){
 setInterval("mostrar()", 1000)
 }


y este en el lado schrap:


Basicamente es esto:

public void EnvioMasivo()
  {
                  
   DataSet dtListaCorreos = new DataSet();
   
   dtListaCorreos=usu.ListarCorreosTodosUsuarios();
   num=dtListaCorreos.Tables[0].Rows.Count;
   if(num==0)
   {
    inicio=0;
    permiso=0;
    usu.RestaurarCorreosUsuario();//volverlos todos a 0    
   }
   else
   {
    DataRow dr;
    int i=0;
    while(i<num)
    {
     dr=dtListaCorreos.Tables[0].Rows[i];
     string aux=dr["nom_correo"].ToString();
     if(i==0)
     { cadenaCorreosUsuarios=aux+","; }
     else
     {
      if(i!=99)
      {cadenaCorreosUsuarios=cadenaCorreosUsuarios+aux+",";}
      else
      {cadenaCorreosUsuarios=cadenaCorreosUsuarios+aux; }
     }
     i++;
    } 
    EnviarCorreo();
   }
  }


las variables de inicio es cuando se clikeo en el boton guardar
y el otro, permiso es 0 cuando esta todavia en el intevalo de tiempo y es 1 cuando ya paso 1 hora.

Practicamente este codigo esta descartado puesto q pasaria si el profesor cierra su navegador????, se seguira enviando los correeos???? o el mecanismo se desactiva???

Pense tambien hacer una tabla y asi poder manejar a la cnatidad de persona s q reciebieron el correo.
bueno, comoles decia cualkier sugerencia sera muy bien recibida
gracias
Rocio Baez
De veras q este codigo me trae dolores de cabeza,