59 lines
2.2 KiB
Markdown
59 lines
2.2 KiB
Markdown
---
|
|
name: IMX[체크] IMAP 메일 기능 확장
|
|
description: 구현 및 검증 체크리스트
|
|
type: 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 작성, 구현 시작 |
|