Files
vexplor_dev/docs/yc/IMX[체크]-imap-메일기능확장.md

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 작성, 구현 시작