Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Email

Подключение PRX к любому провайдеру электронной почты через IMAP для получения и SMTP для отправки с поддержкой IDLE push для доставки в реальном времени.

Предварительные требования

  • Почтовый аккаунт с включённым доступом IMAP и SMTP
  • Имена хостов и порты серверов IMAP/SMTP
  • Учётные данные электронной почты (имя пользователя и пароль или пароль приложения)

Быстрая настройка

1. Включение доступа IMAP

Для большинства провайдеров:

  • Gmail: включите IMAP в настройках Gmail > Пересылка и POP/IMAP, затем сгенерируйте пароль приложения
  • Outlook: IMAP включён по умолчанию; используйте пароль приложения, если включена 2FA
  • Самохостинг: убедитесь, что ваш почтовый сервер поддерживает IMAP

2. Конфигурация

toml
[channels_config.email]
imap_host = "imap.gmail.com"
imap_port = 993
smtp_host = "smtp.gmail.com"
smtp_port = 465
username = "[email protected]"
password = "your-app-password"
from_address = "[email protected]"
allowed_senders = ["[email protected]"]

3. Проверка

bash
prx channel doctor email

Справочник конфигурации

ПолеТипПо умолчаниюОписание
imap_hostStringобязательныйИмя хоста IMAP-сервера (например, "imap.gmail.com")
imap_portu16993Порт IMAP-сервера (993 для TLS)
imap_folderString"INBOX"Папка IMAP для опроса новых сообщений
smtp_hostStringобязательныйИмя хоста SMTP-сервера (например, "smtp.gmail.com")
smtp_portu16465Порт SMTP-сервера (465 для implicit TLS, 587 для STARTTLS)
smtp_tlsbooltrueИспользовать TLS для SMTP-подключений
usernameStringобязательныйИмя пользователя для аутентификации IMAP/SMTP
passwordStringобязательныйПароль электронной почты или пароль приложения
from_addressStringобязательныйАдрес отправителя для исходящих писем
idle_timeout_secsu641740Таймаут IDLE в секундах перед переподключением (по умолчанию: 29 минут согласно RFC 2177)
allowed_senders[String][]Разрешённые адреса или домены отправителей. Пусто = запрещено всем. "*" = разрешить всем
default_subjectString"PRX Message"Тема по умолчанию для исходящих писем

Возможности

  • IMAP IDLE — push-уведомления в реальном времени о новых письмах (RFC 2177), без задержки опроса
  • TLS-шифрование — подключения к серверам IMAP и SMTP зашифрованы через TLS
  • Разбор MIME — обработка составных писем, извлечение текстового содержимого и вложений
  • Фильтрация по доменам — разрешение целых доменов (например, "@company.com") в списке разрешённых отправителей
  • Автоматическое переподключение — восстановление IDLE-подключения после 29-минутного таймаута
  • Треды ответов — ответ в исходном почтовом треде с корректными заголовками In-Reply-To

Ограничения

  • Обрабатываются только письма в настроенной IMAP-папке (по умолчанию: INBOX)
  • HTML-письма обрабатываются как простой текст (HTML-теги удаляются)
  • Большие вложения могут не обрабатываться полностью в зависимости от ограничений памяти
  • Некоторые провайдеры требуют паролей приложений при включённой 2FA
  • Поддержка IDLE зависит от IMAP-сервера; большинство современных серверов её поддерживают

Устранение неполадок

Не удаётся подключиться к IMAP-серверу

  • Проверьте корректность imap_host и imap_port для вашего провайдера
  • Убедитесь, что доступ IMAP включён в настройках почтового аккаунта
  • При использовании Gmail сгенерируйте пароль приложения (обычные пароли блокируются при 2FA)
  • Проверьте, что TLS не блокируется файрволом

Письма не обнаруживаются

  • Проверьте корректность imap_folder (по умолчанию: "INBOX")
  • Убедитесь, что адрес или домен отправителя указан в allowed_senders
  • Некоторые провайдеры могут иметь задержку перед появлением писем в IMAP

Ответы не отправляются

  • Проверьте настройки smtp_host, smtp_port и smtp_tls для вашего провайдера
  • Проверьте учётные данные SMTP (те же username/password, что и для IMAP, или отдельные SMTP-учётные данные)
  • Просмотрите журналы сервера для причин отклонения SMTP (например, ошибки SPF/DKIM)

Released under the Apache-2.0 License.