2011-05-08 31 views
5

Tôi đã tự hỏi nếu có ai biết làm thế nào để có được email từ triển vọng ví dụ với sự giúp đỡ của mã Delphi. Điều tôi muốn nhận được là mọi phần của email như, chủ đề, người gửi, tệp đính kèm, v.v.Nhận email từ triển vọng với delphi

Trân trọng!

Trả lời

4

Ví dụ này cho bạn thấy cách sử dụng thành phần TOutlookApplication được cung cấp Delphi để gửi email với Outlook. Nó sẽ giúp bạn có một ý tưởng về những thông tin có sẵn cho các mục thư.

Detecting mailboxes in outlook sẽ cho bạn biết nơi bạn có thể tìm thấy email hiện có trong bất kỳ hộp thư Outlook nào.

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

Bạn có thể sử dụng tự động hóa OLE tiêu chuẩn để truy cập vào Outlook:

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

Bạn cũng có thể có một cái nhìn tại TurboPower OfficePartner mà là một cách dễ dàng để tích hợp với Office. Tôi đã không xem xét dự án này cho các lứa tuổi, do đó, nó có thể là lỗi thời, nhưng trên trang chủ hoạt động mới nhất chỉ là một vài tháng trước đây ...

Các vấn đề liên quan