2.2 KiB
2.2 KiB
name, description, type
| name | description | type |
|---|---|---|
| IMX[체크] IMAP 메일 기능 확장 | 구현 및 검증 체크리스트 | checklist |
IMX 체크리스트 — IMAP 메일 기능 확장
공정 상태: 0%
구현 체크리스트
Unit A — 백엔드 서비스
userMailImapService.ts:listFolders()추가userMailImapService.ts:streamMailsByFolder()추가userMailImapService.ts:moveMail()추가userMailImapService.ts:downloadAttachment()추가userMailSmtpService.ts신규 생성 (nodemailer 기반)- TypeScript 에러 없음
Unit B — 백엔드 컨트롤러/라우트
userMailController.ts:listFolders,streamFolderMails,moveMail,downloadAttachment,sendMail핸들러userMailRoutes.ts: 5개 신규 라우트 등록- TypeScript 에러 없음
Unit C — 프론트엔드 API
userMail.ts:getUserMailFolders()추가userMail.ts:streamFolderMails()추가userMail.ts:moveUserMail()추가userMail.ts:sendUserMail()추가userMail.ts: 첨부파일 다운로드 URL 헬퍼 추가
Unit D — 프론트엔드 UI (TipTap 설치 포함)
- TipTap 패키지 설치 (
@tiptap/react,@tiptap/starter-kit,@tiptap/extension-link) - 좌측 패널: 폴더 목록 + 미읽음 수
- 폴더 클릭 → 해당 폴더 메일 스트리밍
- 메일 상세: 답장/전달/이동/삭제 버튼
- ComposeDialog: TipTap 에디터 + to/cc/subject
- 답장/전달 시 원문 인용 자동 삽입
- 첨부파일 목록 + 다운로드 링크
- TypeScript 에러 없음
검증 체크리스트
- 폴더 목록이 좌측 패널에 표시됨 (INBOX, Sent, Trash 등)
- 폴더 클릭 시 해당 폴더 메일이 로드됨
- 메일 삭제 버튼 클릭 → Trash로 이동됨
- 메일 이동 드롭다운 → 다른 폴더로 이동됨
- 첨부파일 있는 메일에서 다운로드 버튼 동작
- 새 메일 작성 → 발송 성공
- 답장 → To 자동 입력, 원문 인용 포함
- 전달 → 원문 전체 포함
변경 이력
| 일자 | 내용 |
|---|---|
| 2026-03-27 | PCC 작성, 구현 시작 |