diff --git a/backend/apps/mail/migrations/0005_expand_mail_account_choices.py b/backend/apps/mail/migrations/0005_expand_mail_account_choices.py new file mode 100644 index 0000000..697d7c2 --- /dev/null +++ b/backend/apps/mail/migrations/0005_expand_mail_account_choices.py @@ -0,0 +1,31 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mail', '0004_rename_infoseek_to_gmail_service'), + ] + + operations = [ + migrations.AlterField( + model_name='mailemail', + name='account', + field=models.CharField( + choices=[ + ('gmail', 'Gmail'), + ('gmail_service', 'Gmail (サービス用)'), + ('hotmail', 'Hotmail'), + ('xserver1', 'Xserver (akira@keinafarm.com)'), + ('xserver2', 'Xserver (service@keinafarm.com)'), + ('xserver3', 'Xserver (midori@keinafarm.com)'), + ('xserver4', 'Xserver (kouseiren@keinafarm.com)'), + ('xserver5', 'Xserver (post@keinafarm.com)'), + ('xserver6', 'Xserver (sales@keinafarm.com)'), + ('xserver', 'Xserver (legacy)'), + ], + max_length=20, + verbose_name='アカウント', + ), + ), + ] diff --git a/backend/apps/mail/models.py b/backend/apps/mail/models.py index 618d68a..c912ffb 100644 --- a/backend/apps/mail/models.py +++ b/backend/apps/mail/models.py @@ -42,10 +42,16 @@ class MailSender(models.Model): ACCOUNT_CHOICES = [ - ('xserver', 'Xserver'), ('gmail', 'Gmail'), - ('hotmail', 'Hotmail'), ('gmail_service', 'Gmail (サービス用)'), + ('hotmail', 'Hotmail'), + ('xserver1', 'Xserver (akira@keinafarm.com)'), + ('xserver2', 'Xserver (service@keinafarm.com)'), + ('xserver3', 'Xserver (midori@keinafarm.com)'), + ('xserver4', 'Xserver (kouseiren@keinafarm.com)'), + ('xserver5', 'Xserver (post@keinafarm.com)'), + ('xserver6', 'Xserver (sales@keinafarm.com)'), + ('xserver', 'Xserver (legacy)'), ] FEEDBACK_CHOICES = [ @@ -105,3 +111,4 @@ class MailNotificationToken(models.Model): def __str__(self): return str(self.token) + diff --git a/document/11_マスタードキュメント_メール通知関連編.md b/document/11_マスタードキュメント_メール通知関連編.md index e16a446..63479e0 100644 --- a/document/11_マスタードキュメント_メール通知関連編.md +++ b/document/11_マスタードキュメント_メール通知関連編.md @@ -1,6 +1,6 @@ # マスタードキュメント - メール通知関連編 -> **最終更新**: 2026-02-25 +> **最終更新**: 2026-03-05 > **対象バージョン**: Phase 1 完了時点(本番稼働中) > **目的**: このドキュメントだけでメール通知機能の全容を把握できること @@ -92,7 +92,7 @@ Windmill スケジュール `0 */10 * * * *` で自動実行。サーバー上 | フィールド | 型 | 説明 | |---|---|---| | `id` | BigAutoField | PK | -| `account` | CharField(20) | `gmail` / `gmail_service` / `xserver` / `hotmail` | +| `account` | CharField(20) | `gmail` / `gmail_service` / `hotmail` / `xserver1`〜`xserver6`(旧データは `xserver`) | | `message_id` | CharField(500, unique) | メールの Message-ID ヘッダー(重複防止に使用)| | `sender_email` | EmailField | 送信者メールアドレス | | `sender_domain` | CharField(255) | 送信者ドメイン | @@ -597,3 +597,4 @@ curl -s -H "Authorization: Bearer $TOKEN" \ 本番 Windmill でのパス: `f/mail/mail_filter` スケジュール: `f/mail/mail_filter_schedule` + diff --git a/document/メールフィルタ/mail_filter_spec.md b/document/メールフィルタ/mail_filter_spec.md index 48c0aef..d4c3e4c 100644 --- a/document/メールフィルタ/mail_filter_spec.md +++ b/document/メールフィルタ/mail_filter_spec.md @@ -129,7 +129,7 @@ | フィールド | 型 | 説明 | |---|---|---| | id | AutoField | | -| account | CharField | 'xserver' / 'gmail' / 'hotmail' | +| account | CharField | 'gmail' / 'hotmail' / 'xserver1'〜'xserver6'(旧データは 'xserver') | | message_id | CharField (unique) | メールのMessage-ID(重複防止) | | sender_email | EmailField | | | sender_domain | CharField | | @@ -263,3 +263,4 @@ 6. **LLM判定ロジック**(Claude API呼び出し、集計文脈付き) 7. **LINE通知**(フィードバックURL付き) 8. **残りのメールアカウントを追加** + diff --git a/frontend/src/app/mail/history/page.tsx b/frontend/src/app/mail/history/page.tsx index 08fd0fa..51adafb 100644 --- a/frontend/src/app/mail/history/page.tsx +++ b/frontend/src/app/mail/history/page.tsx @@ -29,9 +29,15 @@ const FEEDBACK_LABELS: Record = { const ACCOUNT_LABELS: Record = { gmail: 'Gmail', - hotmail: 'Hotmail', - xserver: 'Xserver', gmail_service: 'Gmail (サービス用)', + hotmail: 'Hotmail', + xserver1: 'Xserver (akira@keinafarm.com)', + xserver2: 'Xserver (service@keinafarm.com)', + xserver3: 'Xserver (midori@keinafarm.com)', + xserver4: 'Xserver (kouseiren@keinafarm.com)', + xserver5: 'Xserver (post@keinafarm.com)', + xserver6: 'Xserver (sales@keinafarm.com)', + xserver: 'Xserver (旧データ)', }; const FEEDBACK_OPTIONS = [ @@ -144,9 +150,15 @@ export default function MailHistoryPage() { > - - + + + + + + + +