Email & Notifications / Inbound Email
Getting Started
Tickets & Conversations
Automation & Workflows
Email & Notifications
Входящая электронная почта
Создавайте тикеты и отвечайте на них прямо из входящих писем. Escalated поддерживает вебхуки Mailgun, Postmark, AWS SES и опрос IMAP в качестве запасного варианта.
Как это работает
- Ваш почтовый провайдер получает сообщение на адрес поддержки (например,
support@yourapp.com) - Провайдер пересылает его в ваше приложение через вебхук (или опрос IMAP забирает его)
- Escalated нормализует данные и проверяет соответствие цепочки через ссылку в теме (например,
[ESC-00001]) или заголовкиIn-Reply-To - Совпавшие письма добавляют ответ; несовпавшие создают новый тикет (или гостевой тикет для неизвестных отправителей)
Конфигурация
Включите входящую почту и настройте адаптер в настройках администрирования или через переменные окружения. Настройки администрирования имеют приоритет над значениями окружения/конфигурации.
URL-адреса вебхуков
Укажите URL входящего вебхука вашего почтового провайдера на эти адреса. Эти маршруты не требуют аутентификации (вместо неё используется проверка подписи).
| Провайдер | URL вебхука |
|---|---|
| Mailgun | POST /support/inbound/mailgun |
| Postmark | POST /support/inbound/postmark |
| AWS SES | POST /support/inbound/ses |
Опрос IMAP
Для почтовых провайдеров без поддержки вебхуков используйте команду опроса 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();