sidebar_position: 7 title: "Email" description: "Set up Hermes Agent as an email assistant via IMAP/SMTP" lang: ru
Настройка электронной почты
Hermes может получать электронные письма и отвечать на них, используя стандартные протоколы IMAP и SMTP. Отправьте электронное письмо на адрес агента, и он ответит в цепочке — никакого специального клиента или API-интерфейса бота не требуется. Работает с Gmail, Outlook, Yahoo, Fastmail или любым провайдером, поддерживающим IMAP/SMTP.
ℹ️ Info
Нет внешних зависимостей Адаптер электронной почты использует встроенные модули Python `imaplib`, `smtplib` и `email`. Никаких дополнительных пакетов или внешних услуг не требуется.Предварительные условия
- Выделенная учетная запись электронной почты для вашего агента Hermes (не используйте личный адрес электронной почты).
- IMAP включен в учетной записи электронной почты. – Пароль приложения при использовании Gmail или другого поставщика услуг с двухфакторной аутентификацией.
Настройка Gmail
- Включите двухфакторную аутентификацию в своей учетной записи Google.
- Перейдите в Пароли приложений
- Создайте новый пароль приложения (выберите «Почта» или «Другое»).
- Скопируйте 16-значный пароль — вы будете использовать его вместо обычного пароля.
Outlook / Microsoft 365
- Зайдите в Настройки безопасности
- Включите 2FA, если она еще не активна.
- Создайте пароль приложения в разделе «Дополнительные параметры безопасности».
- Хост IMAP:
outlook.office365.com, хост SMTP:smtp.office365.com
Другие провайдеры
Большинство провайдеров электронной почты поддерживают IMAP/SMTP. Проверьте документацию вашего провайдера на наличие: - Хост и порт IMAP (обычно порт 993 с SSL) - Хост и порт SMTP (обычно порт 587 с STARTTLS) - Требуются ли пароли приложений
Шаг 1: Настройте Гермес
Самый простой способ:
hermes gateway setup
Выберите Электронная почта в меню платформы. Мастер запросит ваш адрес электронной почты, пароль, хосты IMAP/SMTP и разрешенных отправителей.
Ручная настройка
Добавьте в ~/.hermes/.env:
# Required
EMAIL_ADDRESS=hermes@gmail.com
EMAIL_PASSWORD=abcd efgh ijkl mnop # App password (not your regular password)
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_SMTP_HOST=smtp.gmail.com
# Security (recommended)
EMAIL_ALLOWED_USERS=your@email.com,colleague@work.com
# Optional
EMAIL_IMAP_PORT=993 # Default: 993 (IMAP SSL)
EMAIL_SMTP_PORT=587 # Default: 587 (SMTP STARTTLS)
EMAIL_POLL_INTERVAL=15 # Seconds between inbox checks (default: 15)
EMAIL_HOME_ADDRESS=your@email.com # Default delivery target for cron jobs
Шаг 2: Запустите шлюз
hermes gateway # Run in foreground
hermes gateway install # Install as a user service
sudo hermes gateway install --system # Linux only: boot-time system service
При запуске адаптер: 1. Тестирует соединения IMAP и SMTP. 2. Помечает все существующие входящие сообщения как «просмотренные» (обрабатывает только новые письма). 3. Начинает опрос новых сообщений.
Как это работает
Получение сообщений
Адаптер опрашивает папку «Входящие» IMAP на предмет НЕВИДИМЫХ сообщений через настраиваемый интервал (по умолчанию: 15 секунд). Для каждого нового письма:
- Тема включается в качестве контекста (например,
[Subject: Deploy to production]). - Ответные письма (тема начинается с
Re:) пропускайте префикс темы — контекст цепочки уже установлен. - Вложения кэшируются локально:
- Изображения (JPEG, PNG, GIF, WebP) → доступны для инструмента машинного зрения.
- Документы (PDF, ZIP и т. д.) → доступны для доступа к файлам
- Сообщения электронной почты только в формате HTML имеют удаленные теги для извлечения обычного текста.
- Самосообщения отфильтровываются, чтобы избежать зацикливания ответов.
- Автоматические отправители/отправители ответов молча игнорируются —
noreply@,mailer-daemon@,bounce@,no-reply@и электронные письма с заголовками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
Если этот параметр включен, вложенные и встроенные части пропускаются перед декодированием полезных данных. Основной текст электронного письма по-прежнему обрабатывается нормально.
Контроль доступа
Доступ к электронной почте осуществляется по той же схеме, что и на всех других платформах Hermes:
EMAIL_ALLOWED_USERSset → обрабатываются только письма с этих адресов.- Белый список не установлен → неизвестные отправители получают код сопряжения.
EMAIL_ALLOW_ALL_USERS=true→ принимается любой отправитель (используйте с осторожностью)
:::предупреждение
Всегда настраивайте EMAIL_ALLOWED_USERS. Без него любой, кто знает адрес электронной почты агента, сможет отправлять команды. По умолчанию агент имеет доступ к терминалу.