Skip to main content
メールと通知 / 受信メール

受信メール

受信メールからチケットの作成や返信を直接行えます。EscalatedはMailgunPostmarkAWS SESのWebhookと、フォールバックとしてのIMAPポーリングをサポートしています。

仕組み

  1. メールプロバイダーがサポートアドレス(例:support@yourapp.com)でメッセージを受信
  2. プロバイダーがWebhook経由でアプリに転送(またはIMAPポーリングで取得)
  3. Escalatedがペイロードを正規化し、件名のリファレンス(例:[ESC-00001])またはIn-Reply-Toヘッダーでスレッドマッチを確認
  4. 一致したメールは返信を追加、一致しないメールは新しいチケットを作成(不明な送信者にはゲストチケット)

設定

管理設定で受信メールを有効にし、アダプターを設定するか、環境変数で設定します。管理設定は環境変数/設定ファイルの値よりも優先されます。

WebhookのURL

メールプロバイダーの受信Webhookを以下のURLに向けてください。これらのルートは認証不要です(署名検証を使用します)。

プロバイダー Webhook URL
Mailgun POST /support/inbound/mailgun
Postmark POST /support/inbound/postmark
AWS SES POST /support/inbound/ses

IMAPポーリング

Webhookをサポートしないメールプロバイダーの場合は、IMAPポーリングコマンドをスケジュールで使用してください。

機能

  • 件名リファレンスとIn-Reply-To / Referencesヘッダーによるスレッド検出
  • 不明な送信者向けのゲストチケット(表示名の自動生成付き)
  • メール返信到着時の解決済みまたはクローズ済みチケットの自動再オープン
  • Message-IDヘッダーによる重複検出(重複処理の防止)
  • サイズとファイル数の制限が設定可能な添付ファイル処理
  • 監査ログ -- すべての受信メールがデバッグとコンプライアンスのために記録
  • 管理者設定可能 -- すべての設定を管理パネルから管理(環境変数/設定ファイルのフォールバック付き)

設定

# .env
ESCALATED_INBOUND_EMAIL=true
ESCALATED_INBOUND_ADDRESS=support@yourapp.com

# Mailgun
ESCALATED_INBOUND_ADAPTER=mailgun
ESCALATED_MAILGUN_SIGNING_KEY=your-signing-key

# Postmark
ESCALATED_INBOUND_ADAPTER=postmark
ESCALATED_POSTMARK_INBOUND_TOKEN=your-token

# AWS SES
ESCALATED_INBOUND_ADAPTER=ses
ESCALATED_SES_TOPIC_ARN=arn:aws:sns:us-east-1:...

# IMAP
ESCALATED_INBOUND_ADAPTER=imap
ESCALATED_IMAP_HOST=imap.gmail.com
ESCALATED_IMAP_USERNAME=support@yourapp.com
ESCALATED_IMAP_PASSWORD=your-app-password

IMAPポーリング

// routes/console.php
Schedule::command('escalated:poll-imap')->everyMinute();