Ir al contenido


Foto

Enviar Mail con Imagen Adjunta desde Ms Outlook


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 smessina

smessina

    Member

  • Miembros
  • PipPip
  • 11 mensajes

Escrito 13 agosto 2013 - 06:36

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



delphi
  1. Function tfppal.EnviarCorreo(const Titulo, Mensaje, NombreArchivo, NombreArchivoCompleto, CorreoDestino, CorreoAlterno: String; AutoEnvio: Boolean): Boolean;
  2. var
  3. Outlook: _Application;
  4. AFolder : MAPIFolder;
  5. ANameSpace : _NameSpace;
  6. AMailItem : _MailItem;
  7. AAttachments : Attachments;
  8. AppWasRunning: boolean; //Comprobar ejecución de outlook
  9. lcid: integer; //ID usuario
  10. Unknown: IUnknown;
  11. Resultado: HResult;
  12. begin
  13. lcid := LOCALE_USER_DEFAULT;
  14. //----
  15. {Resultado := GetActiveObject(CLASS_OutlookApplication, nil, Unknown);
  16.  if (Resultado = MK_E_UNAVAILABLE) or (AppWasRunning) then
  17.   Outlook := CoOutlookApplication.Create
  18.  else begin
  19.   OleCheck(Resultado); // Comprobar que se generó el objeto
  20.   OleCheck(Unknown.QueryInterface(_Application, Outlook));
  21.   AppWasRunning := True; // Establece que outlook esta ejecutándose
  22.  end;        }
  23. //Obtener Sesión
  24. Outlook := CoOutlookApplication.Create;
  25. ANameSpace := Outlook.Get_Session;
  26. //Obtener bandeja de entrada
  27. AFolder := ANameSpace.GetDefaultFolder(olFolderInbox);
  28.  
  29. //Muestra la carpeta de entrada
  30. //AFolder.Display;
  31.  
  32. //Genera un nuevo correo
  33. AMailItem := (Outlook.CreateItem(olMailItem) as MailItem);
  34. AMailItem.To_ := CorreoDestino;
  35. AMailItem.BCC := CorreoAlterno;
  36. AMailItem.Subject := Titulo;
  37. AMailItem.Body := Mensaje;
  38.  
  39. AAttachments := AMailItem.Get_Attachments;
  40.  
  41. //Agregar adjuntos en caso de que existan
  42. if (Length(NombreArchivoCompleto) > 0) then begin
  43.   AAttachments.Add(NombreArchivoCompleto,$00000001 ,
  44.   Length(Mensaje)+1,NombreArchivo);
  45. end;
  46.  
  47. AMailItem.Save;
  48. If AutoEnvio then begin
  49.   Try
  50.     AMailItem.Send;
  51.     Result := True;
  52.     except on E:EExternal do begin
  53.       Result := False;
  54.     end;
  55.   end;
  56. end else begin
  57.   try
  58.   AMailItem.Display(0);
  59.   Result := True;
  60.   except on E:EExternal do begin
  61.     Result := False;
  62.     Raise;
  63.   end;
  64.   end;
  65. end;
  66. // MessageDlg('Correo Enviado Correctamente',mtinformation,[mbok],0);
  67. //  Outlook.Quit; //Cierra Outlook
  68. end;



  • 0




IP.Board spam blocked by CleanTalk.