Outlook Object Model: detectar si se ha enviado un correo electrónico
Tengo el siguiente código en mi aplicación de prueba de Delphi 2006 BDS:
procedure TForm1.Button1Click(Sender: TObject);
const
olMailItem = 0;
var
Outlook: OleVariant;
vMailItem: variant;
begin
Outlook := CreateOleObject('Outlook.Application');
vMailItem := Outlook.CreateItem(olMailItem);
try
vMailItem.Recipients.add('[email protected]');
vMailItem.Display(True); -- outlook mail message is displayed modally
except
end;
VarClear(Outlook);
end;
Necesito poder detectar si el usuario envió el correo electrónico desde la pantalla de Outlook. Intenté el siguiente código:
if vMailItem.Sent then
...
Pero recibió el mensaje de error "El elemento se ha movido o eliminado". Supongo que esto se debe a que el elemento de correo se ha movido a la carpeta de elementos enviados. ¿Cuál es la mejor manera de detectar si el usuario envió el correo electrónico? Además, si el usuario envió el correo electrónico, también necesitaría poder ver el cuerpo del correo electrónico.
Gracias por adelantado