프로젝트 배경
1) 문제점 - "권한 없음" 한 줄 뒤에 실제로는 서로 다른 여러 사정이 섞여 있었다 - 기능 자체가 꺼진 경우, 연동이 아예 없는 경우, 연동은 있는데 그 연동의 발송 가능 여부를 확인할 길이 없는 경우가 전부 같은 문구로 뭉개지고 있었다. - 메일 발송은 취소가 없는 행위다. AI가 없는 주소를 그럴듯하게 만들어 그대로 내보내면 되돌릴 방법이 없다. - 구독 단위가 아닌 기능(멘션 자동완성 같은 전
프로젝트 성과
권한 판정을 두 값에서 세 값으로 바꿔 "모름"을 정직하게 남김
저장된 연동 권한 문자열을 읽는 함수가 이제 허용/모름/차단 세 상태를 돌려준다.
재시도로 낫지 않는 실패를 그 순간 기록으로 승격
발송 시 구글이 권한 부족 오류를 돌려주면, 그 자리에서 연동의 권한 상태를 곧바로 갱신해 남긴다.
대리 발송에서 인증 토큰과 실행 이력을 서로 다른 축으로 분리
동료의 메일 연동을 빌려 대신 보내는 기능에서, 전송은 항상 연동 소유자의 인증으로 서버가 대신 수행하고 요청한 사람에게는 어떤 토큰도 노출하지 않는다. 다만 책임소재를 묻기 위해 로그를 남겨 둔다.
핵심 기능
진행 단계
채널별 실측과 실패 시나리오 정리
2026.08.
메일·메신저·통화·도메인 네 채널의 실제 사용 흐름을 훑으며 "권한이 없다"는 한 문구 뒤에 몇 가지 서로 다른 상태가 섞여 있는지부터 확인했다.
프로젝트 상세
한 회사의 대내외 소통 채널 네 가지 - 개인 Gmail 연동 메일함, 채널·DM·스레드가 있는 사내 메신저, 상담 콜백과 음성 안내 발신 기록, 보유 도메인의 메일 인증(SPF/DKIM/DMARC) 점검 - 을 하나의 구독 단위 뒤에 묶어 만들었다. 백엔드는 Python·Django·PostgreSQL, 화면은 TypeScript와 Next.js App Router로 세웠고, Gmail API·Google






