TEmailInfo = record
Index: Integer;
UID: string;
PartNumber: string;
TransferEncoding: string;
FileName: string;
end;
PEmailInfo = ^TEmailInfo;
TAttachInfo = record
Index: Integer;
end;
PAttachInfo = ^TAttachInfo;
TForm1 = Class(TForm)
..
lstMailBox: TListBox;
lstMailList: TListView;
lstAttachList: TListView;
private
public
SelectMsg: TIdMessage;
end;
//lstMailList의 OnSelectItem 이벤트를 추가합니다.
procedure TForm1.lstMailListSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
var
I: Integer;
AttachItem: TListItem;
AttachInfo: PAttachInfo;
begin
SelectMsg.Clear;
lstAttachList.Clear;
IdIMAP4.UIDRetrieve(PEmailInfo(Item.Data).UID, SelectMsg);
for I := 0 to SelectMsg.MessageParts.Count - 1 do begin
if SelectMsg.MessageParts.Items[I] is TIdText and (Length(Trim(TIdText(SelectMsg.MessageParts.Items[I]).Body.Text)) > 0) then begin
//메일 내용일 경우 출력
Memo1.Text := TIdText(SelectMsg.MessageParts.Items[I]).Body.Text;
end else
if SelectMsg.MessageParts.Items[I] is TIdAttachmentFile then begin
GetMem(AttachInfo, SizeOf(TAttachInfo));
//MessagePart에서 첨부파일에 해당하는 인덱스 저장
AttachInfo.Index := I;
AttachItem := lstAttachList.Items.Add;
AttachItem.Caption := TIdAttachmentFile(SelectMsg.MessageParts.Items[I]).FileName;
AttachItem.Data := AttachInfo;
end;
end;
end;
2017/10/11 - [Delphi/꿀Tip] - [E-Mail] Mail에 로그인 하기 - 1
2017/10/13 - [Delphi/꿀Tip] - [E-Mail] 메일함 목록 불러오기 - 2
2017/10/25 - [Delphi/꿀Tip] - [E-Mail] 메일함의 메일 리스트 불러오기 - 3
2019/09/21 - [Delphi/꿀Tip] - [E-Mail] 첨부파일 다운로드 하기 - 5
반응형