mail: distinguish xserver mailboxes in account labels
This commit is contained in:
@@ -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='アカウント',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -42,10 +42,16 @@ class MailSender(models.Model):
|
|||||||
|
|
||||||
|
|
||||||
ACCOUNT_CHOICES = [
|
ACCOUNT_CHOICES = [
|
||||||
('xserver', 'Xserver'),
|
|
||||||
('gmail', 'Gmail'),
|
('gmail', 'Gmail'),
|
||||||
('hotmail', 'Hotmail'),
|
|
||||||
('gmail_service', '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)'),
|
||||||
]
|
]
|
||||||
|
|
||||||
FEEDBACK_CHOICES = [
|
FEEDBACK_CHOICES = [
|
||||||
@@ -105,3 +111,4 @@ class MailNotificationToken(models.Model):
|
|||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.token)
|
return str(self.token)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# マスタードキュメント - メール通知関連編
|
# マスタードキュメント - メール通知関連編
|
||||||
|
|
||||||
> **最終更新**: 2026-02-25
|
> **最終更新**: 2026-03-05
|
||||||
> **対象バージョン**: Phase 1 完了時点(本番稼働中)
|
> **対象バージョン**: Phase 1 完了時点(本番稼働中)
|
||||||
> **目的**: このドキュメントだけでメール通知機能の全容を把握できること
|
> **目的**: このドキュメントだけでメール通知機能の全容を把握できること
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ Windmill スケジュール `0 */10 * * * *` で自動実行。サーバー上
|
|||||||
| フィールド | 型 | 説明 |
|
| フィールド | 型 | 説明 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `id` | BigAutoField | PK |
|
| `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 ヘッダー(重複防止に使用)|
|
| `message_id` | CharField(500, unique) | メールの Message-ID ヘッダー(重複防止に使用)|
|
||||||
| `sender_email` | EmailField | 送信者メールアドレス |
|
| `sender_email` | EmailField | 送信者メールアドレス |
|
||||||
| `sender_domain` | CharField(255) | 送信者ドメイン |
|
| `sender_domain` | CharField(255) | 送信者ドメイン |
|
||||||
@@ -597,3 +597,4 @@ curl -s -H "Authorization: Bearer $TOKEN" \
|
|||||||
|
|
||||||
本番 Windmill でのパス: `f/mail/mail_filter`
|
本番 Windmill でのパス: `f/mail/mail_filter`
|
||||||
スケジュール: `f/mail/mail_filter_schedule`
|
スケジュール: `f/mail/mail_filter_schedule`
|
||||||
|
|
||||||
|
|||||||
@@ -129,7 +129,7 @@
|
|||||||
| フィールド | 型 | 説明 |
|
| フィールド | 型 | 説明 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| id | AutoField | |
|
| id | AutoField | |
|
||||||
| account | CharField | 'xserver' / 'gmail' / 'hotmail' |
|
| account | CharField | 'gmail' / 'hotmail' / 'xserver1'〜'xserver6'(旧データは 'xserver') |
|
||||||
| message_id | CharField (unique) | メールのMessage-ID(重複防止) |
|
| message_id | CharField (unique) | メールのMessage-ID(重複防止) |
|
||||||
| sender_email | EmailField | |
|
| sender_email | EmailField | |
|
||||||
| sender_domain | CharField | |
|
| sender_domain | CharField | |
|
||||||
@@ -263,3 +263,4 @@
|
|||||||
6. **LLM判定ロジック**(Claude API呼び出し、集計文脈付き)
|
6. **LLM判定ロジック**(Claude API呼び出し、集計文脈付き)
|
||||||
7. **LINE通知**(フィードバックURL付き)
|
7. **LINE通知**(フィードバックURL付き)
|
||||||
8. **残りのメールアカウントを追加**
|
8. **残りのメールアカウントを追加**
|
||||||
|
|
||||||
|
|||||||
@@ -29,9 +29,15 @@ const FEEDBACK_LABELS: Record<string, string> = {
|
|||||||
|
|
||||||
const ACCOUNT_LABELS: Record<string, string> = {
|
const ACCOUNT_LABELS: Record<string, string> = {
|
||||||
gmail: 'Gmail',
|
gmail: 'Gmail',
|
||||||
hotmail: 'Hotmail',
|
|
||||||
xserver: 'Xserver',
|
|
||||||
gmail_service: '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 (旧データ)',
|
||||||
};
|
};
|
||||||
|
|
||||||
const FEEDBACK_OPTIONS = [
|
const FEEDBACK_OPTIONS = [
|
||||||
@@ -144,9 +150,15 @@ export default function MailHistoryPage() {
|
|||||||
>
|
>
|
||||||
<option value="">全アカウント</option>
|
<option value="">全アカウント</option>
|
||||||
<option value="gmail">Gmail</option>
|
<option value="gmail">Gmail</option>
|
||||||
<option value="hotmail">Hotmail</option>
|
|
||||||
<option value="xserver">Xserver</option>
|
|
||||||
<option value="gmail_service">Gmail (サービス用)</option>
|
<option value="gmail_service">Gmail (サービス用)</option>
|
||||||
|
<option value="hotmail">Hotmail</option>
|
||||||
|
<option value="xserver1">Xserver (akira@keinafarm.com)</option>
|
||||||
|
<option value="xserver2">Xserver (service@keinafarm.com)</option>
|
||||||
|
<option value="xserver3">Xserver (midori@keinafarm.com)</option>
|
||||||
|
<option value="xserver4">Xserver (kouseiren@keinafarm.com)</option>
|
||||||
|
<option value="xserver5">Xserver (post@keinafarm.com)</option>
|
||||||
|
<option value="xserver6">Xserver (sales@keinafarm.com)</option>
|
||||||
|
<option value="xserver">Xserver (旧データ)</option>
|
||||||
</select>
|
</select>
|
||||||
<select
|
<select
|
||||||
value={filterVerdict}
|
value={filterVerdict}
|
||||||
@@ -311,3 +323,4 @@ export default function MailHistoryPage() {
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user