서류발급 발송

서류발급 요청

불러오는 중...

가이드

개요 사용법 슬랙 연동 시스템 구조 문제 해결 알려진 제한 · 보류 사항

개요

서류발급 요청(출석부·수강증명서·수강증명원)을 목록으로 확인하고, 담당자가 첨부파일과 함께 훈련생 이메일로 바로 발송할 수 있게 해주는 시스템입니다. 발송 이력은 자동으로 기록되어 같은 요청을 실수로 두 번 보내는 것을 막아주고, 발송이 끝나면 원본 구글시트의 상태도 함께 갱신됩니다.

사용법

1. 로그인

비밀번호로 로그인합니다. 슬랙 링크로 들어오면 이 단계 없이 바로 목록이 뜹니다.

2. 목록에서 선택

기본적으로 "미완료만 보기"가 켜져 있어 처리할 건만 보입니다. 과정별로 묶여 있고, 훈련생을 클릭하면 상세화면이 열립니다.

3. 첨부 후 발송

출석부 PDF를 선택하고 "메일 발송"을 누르면 실제 이메일이 나갑니다. 처리 중에는 버튼에 작은 스피너가 돕니다 — 파일이 클수록 시간이 걸릴 수 있습니다. 첨부파일은 10MB를 넘으면 거부되니, 큰 파일은 압축하거나 나눠서 올려주세요.

4. 발급 완료

출석부만 요청된 건은 발송 성공 시 자동으로 완료 처리됩니다. 수강증명서 등 다른 서류가 함께 걸린 건은, 그 서류 처리(모두싸인 등)까지 끝난 뒤 "발급 완료" 버튼을 직접 눌러야 합니다. 실수로 눌렀다면 같은 버튼을 한 번 더 누르면 "확인중" 상태로 되돌아갑니다.

서류발급 요청 ☑ 미완료만 보기
AI 심화 캠프 7회차
홍 홍길동 출석부 수강증명서 ✓
김 김민준 출석부
UXUI 디자인 부트캠프 14회차
이 이서연 수강증명원 ✓
홍
홍길동
AI 심화 캠프 7회차
✓ 발급 완료
출석부 수강증명서
📅 2026-05-01 ~ 2026-07-31
✉️ example@example.com
LX 김강사 OP 박운영
OP 메모를 입력하세요
발급 완료 메모 저장

실제 화면 예시 — 이름·과정명·이메일은 전부 가상 데이터입니다.

슬랙 연동

"훈련생 서류발급" 워크플로에 새 요청이 올라오면 "발송하러 가기" 버튼이 함께 붙습니다. 원래는 이 버튼이 해당 훈련생 화면으로 바로 열리는 걸 목표로 했지만, 슬랙 워크플로 빌더의 버튼 URL 입력창이 여러 줄짜리 값을 못 받아들여서(실제 클릭 테스트로 확인), 지금은 목록 화면으로 들어온 뒤 직접 선택하는 방식으로 되어 있습니다. "미완료만 보기" 필터가 기본으로 켜져 있어 찾기는 어렵지 않습니다.

시스템 구조

슬랙 워크플로 "발송하러 가기" 버튼 서류발급 발송 (이 시스템) GAS 웹앱 요청 목록 읽기/쓰기 구글시트 서류발급 요청 원장 NHN Cloud 이메일 실제 발송 처리 훈련생 이메일함 Cloudflare KV 중복발송 방지 마커

슬랙 버튼을 누르면 이 시스템으로 들어와 목록을 확인하고, 발송하면 NHN Cloud를 거쳐 실제 이메일이 나갑니다. 발송 여부는 Cloudflare KV에 별도로 기록해 시트 갱신이 실패해도 중복발송을 막고, 시트 읽기/쓰기는 항상 GAS 웹앱을 경유합니다.

문제 해결

비밀번호가 계속 틀렸다고 나와요
정확히 입력했는데도 안 되면, 여러 번 틀려서 잠깐 잠겨있을 수 있습니다("너무 많이 틀렸습니다" 메시지가 뜨면 안내된 시간만큼 기다렸다가 다시 시도해 주세요). 그래도 안 되면 비밀번호 자체를 담당자에게 다시 확인해 주세요.
첨부파일이 안 올라가요
파일 용량이 10MB를 넘으면 업로드가 거부됩니다. 더 작게 압축하거나 나눠서 첨부해 주세요.
목록이 뜨는 데 가끔 오래 걸려요
구글시트와 연결하는 부분(GAS)이 오래 안 쓰이다 첫 요청을 받으면 "잠깐 깨어나는" 지연이 있을 수 있습니다. 이 경우 시스템이 자동으로 몇 초 안에 다시 시도하니 대부분 저절로 해결됩니다. 그래도 안 뜨면 새로고침 버튼을 눌러주세요.
발송 버튼을 눌렀는데 화면이 멈춘 것 같아요
파일을 업로드하는 중일 수 있습니다. 버튼 옆에 작은 원이 돌고 있는지 확인해 주세요 — 돌고 있다면 정상적으로 처리 중인 것입니다. 큰 PDF일수록 시간이 걸립니다.
"오늘 발송 한도를 초과했습니다"라는 메시지가 떠요
하루에 보낼 수 있는 이메일 수에 상한이 있습니다(기본 30건, 필요시 관리자가 조정 가능). 정상적인 대량 발급이면 관리자에게 한도 상향을 요청하고, 짐작 가는 이유가 없다면 비정상적으로 반복 발송되고 있지 않은지 먼저 확인해 주세요. 한도는 다음날 자동으로 초기화됩니다.
"요청 보안 확인 실패"라는 메시지가 떠요
브라우저 탭을 오래 열어두면 발생할 수 있습니다. 새로고침 버튼을 한 번 눌러주세요.
발송은 됐는데 시트 상태가 안 바뀌어요
메일은 이미 나갔으니 다시 보내지 마세요(발송 기록은 별도로 안전하게 남아있어 중복발송 걱정 없습니다). 시트 갱신은 잠깐의 지연이면 자동으로 재시도되지만, 그래도 이 안내가 계속 뜨면 자동 재시도로도 안 풀린 것이니 새로고침 후 상세화면에서 "발급 완료" 버튼을 직접 눌러주세요.
시트 쪽에서 "권한이 없습니다" 같은 오류가 나요
이 시스템이 쓰는 구글시트에 담당자 계정의 편집자 권한이 있는지 먼저 확인해 주세요.

알려진 제한 · 보류 사항

상태는 두 단계뿐

"확인중/발급 완료" 두 단계만 지원합니다. 이 시스템이 연결된 구글시트가 체크박스 하나로만 상태를 저장하는 구조라, 애초에 세 단계 이상을 구분해서 저장할 방법이 없습니다. 실제로 운영해보니 두 단계만으로도 업무에 지장이 없어, 시트 구조를 바꾸면서까지 세분화하지는 않기로 했습니다.

감사로그에 담당자명 미표시

이 시스템은 담당자별 개인 로그인이 아니라 공용 비밀번호 하나를 여러 담당자가 함께 쓰는 구조라, 로그인 시점에 "누가" 들어왔는지 구분할 정보 자체가 없습니다. 그래서 처리 기록에 담당자명을 자동으로 남길 수 없고, 이건 개인별 로그인 체계를 새로 만들지 않기로 한 원래 방침과 맞물려 있어 필요해지면 별도로 다시 설계해야 합니다.

외부 접근 제한 미도입

이미 비밀번호+세션+여러 번 틀리면 잠기는 로그인 제한으로 막고 있고, 이 시스템이 다루는 정보(서류발급 요청)가 결제·의료 정보급으로 민감하지는 않아서, 별도 출입증 같은 걸 더 붙이는 비용(사내 인증 시스템 연동 등 실제 개발이 필요)보다 지금 방어 수준으로 충분하다고 판단했습니다. 사고가 나거나 더 민감한 정보를 다루게 되면 다시 검토합니다.