2011-05-08 8 views
5

누군가가 델파이 코드의 도움으로 예를 들어 Outlook에서 이메일을받는 방법을 알고 있는지 궁금합니다. 내가 원하는 것은 이메일, 제목, 발신자, 첨부 파일 등의 모든 부분입니다.델파이 Outlook에서 이메일 받기

최고 감사합니다!

답변

4

이 예는 다음과 함께 제공되는 TOutlookApplication 구성 요소를 사용하는 방법을 보여줍니다. 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; 
2

당신은 Outlook을 액세스 할 표준 OLE 자동화를 사용할 수 있습니다

var 
    Outlook: OLEVariant; 
begin 
    try 
    Outlook:=GetActiveOleObject('Outlook.Application') ; 
    except 
    Outlook:=CreateOleObject('Outlook.Application') ; 
    end; 
    //... 
end; 

또한 오피스와 통합 할 수있는 쉬운 방법입니다 TurboPower OfficePartner 살펴있을 수 있습니다. 나는이 프로젝트를 오래 동안 보지 않았기 때문에 구식일지도 모릅니다. 그러나 첫 페이지에서 최근 활동은 불과 몇 달 전이었습니다 ...