Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-05-2007
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
Enviar correo a muchos....

Hola amigos del club, como puedo enviar un corrreo a un grupo de empleados la información de un volante de descuentos. ese volante se encuentra en la base de datos en una vista, pero no tengo idea de como poder enviarselos a todos los empleados con sus respectivo descuentos, desde ya muchas gracias..

Nota: aqui hay un servidor de correo.
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #2  
Antiguo 28-05-2007
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Poder: 19
fer21unmsm Va por buen camino
Hola Ronimax, esa información a enviar va a ser la misma para todos, va a variar los descuentos por cada empleado, sobre que delphi, base de datos trabajas, cual es tu servidor de correo (exchange(windows), Sendmail(linux), etc?), puedes utilizar los componentes indy para eso. Puedes brindar algunos datos adicionales, como los que te pregunto arriba.

Saludos cordiales.
__________________
"La información tiene más valor cuando se comparte"
Responder Con Cita
  #3  
Antiguo 29-05-2007
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
los descuentos varian para cada empleado, uso delphi 7, la base de datos es Sql server 2000 y el servidor de correo es exchange para windows.
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #4  
Antiguo 30-05-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Aqui te dejo un código muy util para programas de este tipo:

Código Delphi [-]
procedure 
email2(host:string; nombre:string; password:string; port:integer; desde:string;
    hasta:string; asunto:string; cuerpo:string; adjunto:string);
  var
      IDSMTP1: TIDSMTP;  // Componente de envio de correo
      mensaje: TIdMessage;
      dirs:String;
      c:Integer;
  begin
  IDSMTP1:=TIDSMTP.Create(nil);
  IdSMTP1.AuthenticationType :=atLogin;
  IdSMTP1.UserId := nombre;
  IdSMTP1.Password := password;
  IdSMTP1.Host := host;
  IdSMTP1.Port := port;
  MENSAJE:=TIDMESSAGE.CREATE(nil);

  with Mensaje do
  begin
     Body.Add('Por este medio le enviamos la información solicitada de sus embarques.');
     Body.Add(' Esperamos le sea de la mayor utilidad y le reiteramos nuestro compromiso de servirle.');
     Body.Add('Atentamente');

dirs:='';
    From.Text := desde;
    Replyto.EMailAddresses:='mailer@tuservidor.com'; //aqui le pones lo que corresponda

   

    Recipients.EMailAddresses :=  dirs; //aqui van las direcciones.;
    Subject := asunto;
    Priority := TIdMessagePriority(mpHighest);//prioridad del mensaje
    CCList.EMailAddresses :='empleado1@tuempresa.com'; //con copia para quien quieras
    BccList.EMailAddresses := '';
    TIdAttachment.Create(Mensaje.MessageParts,adjunto);
  end; //configuracion server smtp
  with idsmtp1 do
  begin
   try
      Connect;
      try
        // Envio el mensaje.
        Send(Mensaje);
      finally
        Disconnect;
      end;
  //    MessageDlg('Enviado Correctamente', mtInformation, [mbOK], 0);
    except
       // Capturo algunas excepciones que pueden ocurrir
      ON E: EIdProtocolReplyError do begin
      MessageDlg('No se ha podido enviar el email.' + #13 +
            'Incorrecto el email o el usuario o la password.', mtError, [mbOK], 0);
      end;
      on E: EFOpenError do begin
      MessageDlg('No se ha podido enviar el email.' + #13 +
            'Fichero Adjunto desconocido o erróneo.', mtError, [mbOK], 0);
      end;
      on E: EIdSocketError do begin
      MessageDlg('No se ha podido enviar el email.'+ #13 +
            'Host desconocido o incorrecto.', mtError, [mbOK], 0);
      end
      else begin
      MessageDlg('Fallo en el envio de email', mtError, [mbOK], 0);
      end;
    end;
  end;
  IDSmtp1.Free;
  Mensaje.Free;
  ENd;

Para usarlos simplemente obtienes el query con los datos de los empleados (incluyendo sus mails) y la recorres mandandoles a cada uno su mail con ayuda de esta función.

Si es el mismo mail para todos, simplemente creas una lista con los mails de todos: 'mail1@miempresa.com; mail2@miempresa.com; mail3@miempresa.com...' y la usas para enviar el correo, asi solo tienes que mandar la instruccion una sola vez y el servidor se encarga del resto.

Si los mails son diferentes hay que mandar uno por uno.

Ojala te sirva
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ENVIAR CORREO mi cuenta de correo es GMAIL ASAPLTDA PHP 1 16-11-2006 00:54:03
enviar correo madmai Varios 0 07-10-2006 23:43:59
enviar correo pipecato Varios 1 28-04-2006 13:08:05
Problemas al Enviar Correo con Ciertas Dir. de Correo AGAG4 Internet 2 01-02-2006 20:37:42
Enviar Correo manuelpr Internet 7 17-12-2003 19:34:43


La franja horaria es GMT +2. Ahora son las 18:01:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi