본문 바로가기

Delphi/꿀팁

[E-Mail] 메일함의 메일 리스트 불러오기 - 3

TEmailInfo = record
  Index: Integer;
  UID: string;
  PartNumber: string;
  TransferEncoding: string;
  FileName: string;
end;
PEmailInfo = ^TEmailInfo;

TForm1 = Class(TForm)
  ..
  lstMailBox: TListBox;
  lstMailList: TListView;
private
public
end;

Procedure getMailBoxList;
var
  Msg: TIdMessage;
  EmailInfo: PEmailInfo;
  Item: TListItem;
begin
  //메일함 명 입력
  IdIMAP4.SelectMailBox(lstMailBox.Items[lstMailBox.ItemIndex]);

  Msg := TIdMessage.Create(nil);

  try
    lstMailList.Items.BeginUpdate;
    try
      for I := IdIMAP4.MailBox.TotalMsgs downto 1 do begin
        //메일의 고유 ID를 가져옵니다.
        IdIMAP4.GetUID(I, UID);
      
        //고유 ID로 메일의 헤더정보를 가져옵니다.
        IdIMAP4.UIDRetrieveHeader(UID, Msg);
      
        GetMem(EmailInfo, SizeOf(TEmailInfo));
        EmailInfo.UID := UID;
        Item := lstMailList.Items.Add;
      
        //메일 제목명
        Item.Caption := Msg.Subject;
      
        //메일 리스트에 메일정보 저장
        Item.Data := EmailInfo; 
      end;
    finally
      lstMailList.Items.EndUpdate;
    end;
  finally
    Msg.Free;
  end;
end;

2017/10/11 - [Delphi/꿀Tip] - [E-Mail] Mail에 로그인 하기 - 1

2017/10/13 - [Delphi/꿀Tip] - [E-Mail] 메일함 목록 불러오기 - 2

2019/09/21 - [Delphi/꿀Tip] - [E-Mail] 메일 및 첨부파일 내용 가져오기 - 4

2019/09/21 - [Delphi/꿀Tip] - [E-Mail] 첨부파일 다운로드 하기 - 5

 

 

반응형