# 보관함 서버 잠긴 봉투를 받는 사람이 접속할 때까지 잠시 맡아 두는 우체통입니다. 봉투 속은 기기끼리만 풀 수 있어서 서버는 내용을 읽지 못합니다. ## 실행 (파이썬만 있으면 됨) python3 mailbox_server.py --port 8080 --db mailbox.sqlite3 ## 컨테이너로 실행 podman build -t fm-mailbox -f Containerfile . podman run -d -p 8080:8080 -v fm-data:/data fm-mailbox ## 시험 python3 test_mailbox.py ## 알아둘 점 - 저장 방식은 `mailbox_store.py` 의 `MailboxStore` 약속만 지키면 바꿀 수 있습니다 (클라우드로 옮길 때 이 파일만 교체). - 기본: 우편함은 처음 연 기기의 비밀값에 묶입니다(번호를 먼저 선점당할 수 있음). - 문자 확인을 켜면(`--sms-webhook <주소>` + `--require-verify`) 문자로 번호를 확인한 기기만 우편함을 열 수 있어 선점이 막힙니다. 문자 발송은 웹훅 하나(`POST {"to":"+82...","text":"..."}`, 선택적으로 `--sms-webhook-token`)라 업체에 묶이지 않습니다. `phone_verify.py` 의 `SmsSender` 를 바꾸면 다른 방식도 쓸 수 있습니다. 시험용 `--sms-log` 는 실서비스에서 쓰지 마세요. - 인터넷에 열 때는 앞에 HTTPS 를 붙이세요 (Caddy, nginx 등). - 봉투는 30일 안에 못 받아 가면 정리되고, 받는 사람 한 명당 5000통까지 맡습니다.