从delphi获取outlook的电子邮件
问题描述:
我想知道是否有人知道如何从Delphi获取电子邮件,例如在Delphi代码的帮助下。 我想获得的是电子邮件的每一个部分一样,主题,发件人,附件等从delphi获取outlook的电子邮件
祝商祺!
答
这个例子说明如何使用TOutlookApplication组件Delphi使用Outlook发送电子邮件。它应该让你知道什么信息可用于邮件项目。
Detecting mailboxes in outlook会告诉你,你可以找到当前在任何Outlook邮箱中的电子邮件。
function Send: boolean;
var
Outlook: TOutlookApplication;
olNameSpace: NameSpace;
MailIt: TMailItem;
AttachedFile: OleVariant;
i: integer;
emailaddress: string;
begin
Result := true;
Outlook := TOutlookApplication.Create(nil);
try
Outlook.ConnectKind := ckNewInstance;
try
Outlook.Connect;
try
olNameSpace := Outlook.GetNamespace('MAPI');
olNameSpace.Logon('', '', False, False);
try
for i := 0 to FNewUsers.Count - 1 do begin
MailIt := TMailItem.Create(nil);
MailIt.ConnectTo(Outlook.CreateItem(olMailItem) as MailItem);
try
emailaddress := TStapper(FNewUsers.Items[i]).Email;
if emailaddress = '' then begin
emailaddress := C_MailUnknownAddress;
end;
MailIt.Recipients.Add(emailaddress);
MailIt.Subject := C_MailSubject;
MailIt.Body := Format(C_MailBody,
[TStapper(FNewUsers.Items[i]).UserId,
TStapper(FNewUsers.Items[i]).Password]);
MailIt.Save;
finally
MailIt.Free;
end;
end;
finally
olNameSpace.Logoff;
end;
finally
Outlook.Disconnect;
end;
finally
Outlook.free;
end;
except
on E: Exception do begin
Result := false;
end;
end;
end;
答
您可以使用标准OLE自动化访问Outlook:
var
Outlook: OLEVariant;
begin
try
Outlook:=GetActiveOleObject('Outlook.Application') ;
except
Outlook:=CreateOleObject('Outlook.Application') ;
end;
//...
end;
您也可以看看TurboPower OfficePartner这是与Office集成的简便方法。我还没有看过这个项目的年龄,所以它可能是过时的,但在头版最近的活动是几个月前...