Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 31-01-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
Código Delphi [-]
Uses Outlook2000
...
Function Tfrm.EnviarCorreo(const Titulo, Mensaje, NombreArchivo, NombreArchivoCompleto, 
                                      CorreoDestino, CorreoAlterno: String; AutoEnvio: Boolean): Boolean;
var
Outlook: _Application;
AFolder : MAPIFolder;
ANameSpace : _NameSpace;
AMailItem : _MailItem;
AAttachments : Attachments;
AppWasRunning: boolean; //Comprobar ejecución de outlook
lcid: integer; //ID usuario
Unknown: IUnknown;
Resultado: HResult;
begin
 lcid := LOCALE_USER_DEFAULT;
 //----
 Resultado := GetActiveObject(CLASS_OutlookApplication, nil, Unknown);
 if (Resultado = MK_E_UNAVAILABLE) or (AppWasRunning) then
  Outlook := CoOutlookApplication.Create
 else begin
  OleCheck(Resultado); // Comprobar que se generó el objeto
  OleCheck(Unknown.QueryInterface(_Application, Outlook));
  AppWasRunning := True; // Establece que outlook esta ejecutándose
 end;
 //Obtener Sesión
 ANameSpace := Outlook.Get_Session;
 //Obtener bandeja de entrada
 AFolder := ANameSpace.GetDefaultFolder(olFolderInbox);

 //Muestra la carpeta de entrada
 //AFolder.Display;

 //Genera un nuevo correo
 AMailItem := (Outlook.CreateItem(olMailItem) as MailItem);
 AMailItem.To_ := CorreoDestino;
 AMailItem.CC := CorreoAlterno;
 AMailItem.Subject := Titulo;
 AMailItem.Body := Mensaje;

 AAttachments := AMailItem.Get_Attachments;

 //Agregar adjuntos en caso de que existan
 if (Length(NombreArchivoCompleto) > 0) then begin
  AAttachments.Add(NombreArchivoCompleto,$00000001 ,
  Length(Mensaje)+1,NombreArchivo);
 end;

 AMailItem.Save;
 If AutoEnvio then begin
   Try
    AMailItem.Send;
    Result := True;
    except on E:EExternal do begin
      Result := False;
    end;
   end;
 end else begin
  try
   AMailItem.Display(0);
   Result := True;
   except on E:EExternal do begin
    Result := False;
    Raise;
   end;
  end;
 end;
 //MessageDlg('Correo Enviado Correctamente',mtinformation,[mbok],0);
 // Outlook.Quit; //Cierra Outlook
end;

No recuerdo de donde exactamente obtuve ese código, pero me funciona en todas las versiones del Outlook 2000, 2003 y 2007.
__________________

Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 email usando OUTLOOK 2003 Jose Manuel Internet 48 10-08-2012 05:41:56
Problema con Outlook Ofice 2003 y MailItem fredo Servers 4 29-01-2008 16:54:38
Enviar email usando OUTLOOK 2003 - 2ª Parte itsi Internet 1 20-10-2007 01:10:33
Acceder a datos existentes de outlook 2003 saldanaluis Varios 1 18-05-2007 18:25:16
Pasar citas a Outlook 2003 aircraft API de Windows 0 03-07-2006 13:51:26


La franja horaria es GMT +2. Ahora son las 00:38:58.


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