Ver Mensaje Individual
  #3  
Antiguo 13-12-2011
Avatar de KingOfDragons
KingOfDragons KingOfDragons is offline
Miembro
 
Registrado: abr 2008
Ubicación: culiacan, sinaloa
Posts: 72
Reputación: 17
KingOfDragons Va por buen camino
Disculpa no se a que te refieres específicamente pero hay va lo que necesito, Tengo un sistema que registra las novedades en una empresa X, y lo que necesito hacer es que cuando se registre una novedad nueva que cumpla con los parámetros X y Z, envié un correo a un listado de usuario, el problema principal es que en la maquina donde se registran estos eventos no cuenta con Internet y quisiera que otra computadora lo hiciera y que fuera transparente para el usuario de ese equipo, mi idea principal es que se ejecutara como un servicio de windows pero mi delphi no tiene la opción para crear programas como servicios, la otra opción era ejecutar el programa al iniciar el programa pero me gustaría que se quedara minimizado y se quedara como si fuera el msn y que el usuario no intervenga para nada con el sistema, les paso el código que uso para el envió del correo

Esta función me permite saber si esta conectado el cable o esta conectado a una red inalambrica, Aclaro para que funcione la funcion InternetGetConnectedState hay que incluir en el uses "WinInet"

Código Delphi [-]
function IsConnected: boolean;
const
  // local system uses a modem to connect to the Internet.
  INTERNET_CONNECTION_MODEM      = 1;
  // local system uses a local area network to connect to the Internet.
  INTERNET_CONNECTION_LAN        = 2;
  // local system uses a proxy server to connect to the Internet.
  INTERNET_CONNECTION_PROXY      = 4;
  // local system's modem is busy with a non-Internet connection.
  INTERNET_CONNECTION_MODEM_BUSY = 8;

var
  dwConnectionTypes : LongWORD;
begin
  dwConnectionTypes := INTERNET_CONNECTION_MODEM +
                       INTERNET_CONNECTION_LAN +
                       INTERNET_CONNECTION_PROXY;
  Result := InternetGetConnectedState(@dwConnectionTypes,0);
end;

y con esta función reviso y hay Internet y envió el correo

Código Delphi [-]
Function TDataModule7.sendMail(Asunto,bODY:string):Boolean;
Var
  hSession: HInternet;
begin
 If IsConnected then
  begin
    hSession := InternetOpen(PChar(application.title),INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
    If Assigned(InternetOpenURL(hSession, pChar('Http://www.google.com'), nil, 0, 0, 0)) then
    begin
      idMessage.FromList.EMailAddresses := 'Y@gmail.com';
      idMessage.From.Name:='Nombre Cuenta';
      idMessage.Recipients.EMailAddresses := 'X@hotmail.com';
      idMessage.Subject := Asunto;
      idMessage.Body.Add(Body);
      idSMTP.Username := 'x';
      idSMTP.Password := '123456';
    try
      idSMTP.Connect;
      if idSMTP.Connected then
      begin
        idSMTP.Send(IdMessage);
        Result:=True;
      end
      Else
        Result:=False;
    finally
      if idSMTP.Connected then
        idSMTP.Disconnect;
    end;

  end
  else
    Result:=False;
  end
  else
    Result:=False;
end;

De antemano muchísimas gracias por su poyo, Saludos

Última edición por KingOfDragons fecha: 13-12-2011 a las 02:53:53.
Responder Con Cita