Ver Mensaje Individual
  #1  
Antiguo 14-08-2013
smessina smessina is offline
Miembro
 
Registrado: ene 2006
Posts: 51
Reputación: 19
smessina Va por buen camino
Enviar Mail con Imagen Adjunta desde Ms Outlook

Hola : antes que nada gracias por su tiempo, necesito si alguien tiene un ejemplo de Enviar una Imagen incrustada ( osea el mail en formato html) a través del Ms Outlook .
Uso Delphi 7 y no me sirve mandar los mails por Indy porque se demoran mucho y me pidieron que ponga los mails en la bandeja de salida del Ms Outlook .

La Manera en que mando Mails en texto plano es la Siguiente
Código Delphi [-]
Function tfppal.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
 Outlook := CoOutlookApplication.Create;
 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.BCC := 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;
Responder Con Cita