Gmail 알림 메일과 남은 기간 안내 메시지 추가

메일 확인 링크로 생존 확인을 갱신하고, 화면 토스트 대신 남은 기간별 안내 문구를 표시합니다.
This commit is contained in:
2026-06-10 13:52:15 +09:00
parent 5f9f10f305
commit d56c6ea1ac
14 changed files with 584 additions and 38 deletions

View File

@@ -184,10 +184,18 @@ Docker에서는 `docker-compose.yml`도 함께 확인합니다.
```bash
cat > .env <<'EOF'
RESET_TOKEN=여기에-긴-비밀-토큰
PUBLIC_BASE_URL=https://collection.sori.studio
MAIL_ENABLED=true
MAIL_SMTP_USER=zenn.message@gmail.com
MAIL_SMTP_PASS=구글-앱-비밀번호
MAIL_TO=zenn.message@gmail.com
MAIL_CONFIRM_TOKEN=긴-랜덤-확인-토큰
EOF
```
`.env` 파일이 없으면 Docker Compose 실행 시 `RESET_TOKEN` 설정 오류가 납니다.
`.env` 파일이 없거나 `RESET_TOKEN`이 없으면 Docker Compose 실행 시 오류가 납니다.
메일 알림을 켜면 마지막 확인 이후 60일, 75일, 89일에 Gmail로 안내 메일이 한 번씩 발송됩니다. 메일 버튼은 `/confirm?token=...` 링크로 바로 생존 확인을 갱신합니다.
### 5-7. Docker 실행
@@ -227,6 +235,12 @@ http://NAS_IP:40100
| `port` | `40100` | 웹 포트 |
| `recent_traces_limit` | `5` | 최근 흔적 개수 |
| `reset_token` | `""` | 초기화 API 보호 토큰 |
| `public_base_url` | `https://collection.sori.studio` | 메일 확인 링크 공개 URL |
| `mail_enabled` | `false` | Gmail 알림 메일 사용 여부 |
| `mail_smtp_user` | `""` | Gmail SMTP 계정 |
| `mail_smtp_pass` | `""` | Gmail 앱 비밀번호 |
| `mail_to` | `zenn.message@gmail.com` | 알림 수신 주소 |
| `mail_confirm_token` | `""` | 메일 확인 링크 보호 토큰 |
### 6-2. 화면 문구 (`public/custom.js`)
@@ -254,6 +268,12 @@ http://NAS_IP:40100
- `BACKGROUND`
- `RESET_TOKEN`
- `TZ`
- `PUBLIC_BASE_URL`
- `MAIL_ENABLED`
- `MAIL_SMTP_USER`
- `MAIL_SMTP_PASS`
- `MAIL_TO`
- `MAIL_CONFIRM_TOKEN`
---