Email — ИИ отправляет и получает письма
Email — AI Sends and Receives Mail — easy-to-understand guide based on official docs
Email — ИИ отправляет и получает письма
Представьте: вы отправляете письмо своему ИИ-агенту, и он отвечает — прямо в той же переписке. Никаких модных чат-приложений, никаких бот-API, никакого дополнительного софта. Просто обычная электронная почта. Именно это делает адаптер Email gateway для Hermes.
В этой статье мы разберём, как его настроить, как он работает под капотом и как защитить свой почтовый ящик.
Почему именно Email?
Электронная почта универсальна. У каждого есть адрес. Подключив Hermes к вашему почтовому ящику через стандартные IMAP (для получения) и SMTP (для отправки), вы получаете разговорного ИИ, который работает с Gmail, Outlook, Yahoo, Fastmail или любым провайдером, поддерживающим эти протоколы.
И вот что самое приятное: ноль внешних зависимостей. Адаптер использует встроенные модули Python — imaplib, smtplib и email. Никаких дополнительных пакетов, никаких сторонних сервисов.
Примечание: это отличается от встроенного навыка Himalaya email, который позволяет агенту управлять почтовым ящиком через терминальные команды. Для того навыка требуется внешний CLI
himalaya. Этот gateway-адаптер — более простой и самодостаточный путь.
Перед началом работы
Вам понадобятся три вещи:
- Отдельный почтовый ящик для вашего агента (пожалуйста, не используйте личную почту)
- Включённый IMAP на этом аккаунте
- Пароль приложения, если вы используете Gmail или любого провайдера с двухфакторной аутентификацией
Для Gmail: включите 2FA, затем создайте пароль приложения на myaccount.google.com/apppasswords. Вы получите 16-значный пароль — используйте его вместо обычного.
Для Outlook/Microsoft 365: включите 2FA, создайте пароль приложения в разделе «Дополнительные параметры безопасности» и используйте outlook.office365.com для IMAP и smtp.office365.com для SMTP.
Для других провайдеров проверьте их документацию на предмет хостов и портов IMAP/SMTP (обычно 993 для IMAP SSL, 587 для SMTP STARTTLS).
Шаг 1: Настройка Hermes
Самый простой способ — мастер настройки:
hermes gateway setup
Выберите Email в меню и следуйте подсказкам. Он спросит ваш адрес, пароль приложения, хосты IMAP/SMTP и разрешённых отправителей.
Предпочитаете ручную настройку? Добавьте это в ~/.hermes/.env:
# Обязательные параметры
EMAIL_ADDRESS=hermes@gmail.com
EMAIL_PASSWORD=abcd efgh ijkl mnop # Пароль приложения, не обычный
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_SMTP_HOST=smtp.gmail.com
# Безопасность (рекомендуется)
EMAIL_ALLOWED_USERS=your@email.com,colleague@work.com
# Необязательные параметры
EMAIL_IMAP_PORT=993 # По умолчанию: 993
EMAIL_SMTP_PORT=587 # По умолчанию: 587
EMAIL_POLL_INTERVAL=15 # Секунд между проверками ящика
EMAIL_HOME_ADDRESS=your@email.com # Адрес доставки по умолчанию для cron-задач
Шаг 2: Запуск Gateway
hermes gateway # Запуск в фоновом режиме
hermes gateway install # Установка как пользовательский сервис
sudo hermes gateway install --system # Linux: системный сервис с автозапуском
При запуске адаптер проверяет соединения IMAP и SMTP, помечает все существующие письма как «прочитанные» (чтобы обрабатывать только новые), и начинает опрос.
Как это работает
Получение сообщений. Адаптер проверяет непрочитанные письма каждые 15 секунд по умолчанию. Для каждого нового сообщения:
- Тема письма включается как контекст (например,
[Subject: Deploy to production]) - Для ответов (тема начинается с
Re:) префикс темы пропускается — контекст переписки уже есть - Вложения кэшируются локально: изображения становятся доступны для vision-инструмента, документы вроде PDF и ZIP — для доступа к файлам
- Письма только с HTML очищаются от тегов для извлечения обычного текста
- Собственные сообщения отфильтровываются, чтобы предотвратить циклы ответов
- Автоматические отправители молча игнорируются —
noreply@,mailer-daemon@,bounce@, а также письма с заголовкамиAuto-Submitted,Precedence: bulkилиList-Unsubscribe
Отправка ответов. Ответы уходят через SMTP с правильной привязкой к переписке: заголовки In-Reply-To и References сохраняют целостность диалога, тема сохраняет префикс Re: (без двойного Re: Re:), а ответы отправляются как обычный UTF-8 текст.
Файловые вложения. Хотите, чтобы агент отправил файл в ответ? Просто включите MEDIA:/path/to/file в его ответ, и файл будет прикреплён автоматически.
Пропуск вложений. Беспокоитесь о вредоносных программах или трафике? Добавьте это в config.yaml:
platforms:
email:
skip_attachments: true
Текст письма по-прежнему обрабатывается нормально — игнорируются только вложения.
Контроль доступа: строгость по умолчанию
Email по дизайну более закрыт, чем чат-платформы:
- Задан
EMAIL_ALLOWED_USERS→ обрабатываются только письма с этих адресов - Белый список не задан → неизвестные отправители молча игнорируются
EMAIL_ALLOW_ALL_USERS=true→ принимаются любые отправители (используйте с осторожностью!)platforms.email.unauthorized_dm_behavior: pair→ неизвестные отправители получают код для привязки
Золотое правило: используйте выделенный почтовый ящик и всегда настраивайте EMAIL_ALLOWED_USERS. Привязка по email — опциональна, потому что в общих ящиках часто есть посторонние непрочитанные сообщения — Hermes не должен отвечать этим контактам по умолчанию.
Устранение неполадок
| Проблема | Решение |
|---|---|
| «IMAP connection failed» при запуске | Проверьте EMAIL_IMAP_HOST и EMAIL_IMAP_PORT. Убедитесь, что IMAP включён на аккаунте (Gmail: Настройки → Пересылка и POP/IMAP) |
Заключение
Адаптер Email gateway превращает любой стандартный почтовый ящик в канал связи для вашего ИИ-агента. Никаких внешних зависимостей, никаких специальных клиентов — просто IMAP, SMTP и немного настройки. Создайте выделенный аккаунт, ограничьте список разрешённых отправителей и позвольте письмам течь.
Приятной переписки! 📧
📖 Официальная документация
Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/messaging/email