Skip to main content

Навык: ALOR Mail

alor-mail — встроенный навык для работы с корпоративной почтой ALOR через IMAP и SMTP. Он нужен, когда Велесу нужно посмотреть новые письма, найти письмо по отправителю или теме, прочитать выбранное сообщение, кратко пересказать переписку или подготовить ответ.

Когда он полезен

Типичные запросы:
  • «Покажи последние письма в корпоративной почте».
  • «Найди письма от mustyatsa@alorbroker.ru».
  • «Прочитай письмо с таким UID».
  • «Сделай краткое резюме этой переписки».
  • «Подготовь ответ на письмо».
  • «Отправь письмо такому-то адресату» — только после явного подтверждения, если пользователь заранее не попросил немедленную отправку.

Как устроено подключение

Навык сначала смотрит переменные окружения ALOR_MAIL_*. Если они не заданы, он берёт настройки из существующего раздела channels.email в конфигурации Велеса. Используются те же данные, что и у почтового канала:
  • imapHost, imapPort, imapUsername, imapPassword, imapMailbox, imapUseSsl;
  • smtpHost, smtpPort, smtpUsername, smtpPassword, smtpUseTls, smtpUseSsl;
  • fromAddress.
Такой подход позволяет не заводить отдельные пароли для навыка, если почтовый канал уже настроен. Пароли можно и нужно хранить в зашифрованном хранилище секретов Велеса:
  • для существующего почтового канала: channels.email.imapPassword и channels.email.smtpPassword;
  • для отдельных переменных навыка: skills.alor-mail.env.ALOR_MAIL_PASSWORD и skills.alor-mail.env.ALOR_MAIL_SMTP_PASSWORD.
Адрес, сервер, порт, ящик и отображаемое имя не являются секретами и могут оставаться обычными настройками.

Переменные окружения

Для отладки или отдельного развёртывания можно задать явные значения:
ALOR_MAIL_ADDRESS="user@example.com"
ALOR_MAIL_USERNAME="DOMAIN\\username"
ALOR_MAIL_PASSWORD="..."
ALOR_MAIL_DISPLAY_NAME="Имя отправителя"
ALOR_MAIL_IMAP_HOST="mail.example.com"
ALOR_MAIL_IMAP_PORT="993"
ALOR_MAIL_IMAP_SSL="true"
ALOR_MAIL_SMTP_HOST="mail.example.com"
ALOR_MAIL_SMTP_PORT="465"
ALOR_MAIL_SMTP_USERNAME="DOMAIN\\username"
ALOR_MAIL_SMTP_PASSWORD="..."
ALOR_MAIL_SMTP_STARTTLS="false"
ALOR_MAIL_SMTP_SSL="true"
ALOR_MAIL_DEFAULT_MAILBOX="INBOX"
ALOR_MAIL_INSECURE_SSL=true можно использовать только для внутреннего сервера со сломанным сертификатом и только если понятен сетевой риск.

Команды

Основной скрипт:
veles/skills/alor-mail/scripts/alor_mail.py
Примеры:
python scripts/alor_mail.py check
python scripts/alor_mail.py mailboxes
python scripts/alor_mail.py list --limit 10 --mailbox INBOX
python scripts/alor_mail.py search --query 'UNSEEN' --limit 10
python scripts/alor_mail.py search --query 'FROM "mustyatsa@alorbroker.ru"' --limit 10
python scripts/alor_mail.py read --uid 12345 --mailbox INBOX
python scripts/alor_mail.py send --to someone@example.com --subject "Тема" --body "Текст письма"
Поиск использует обычный синтаксис IMAP, а не операторы Gmail. Для дат нужен формат DD-Mon-YYYY, например SINCE 01-Jun-2026.

Безопасность

  • Содержимое почты считается личным и конфиденциальным.
  • Сначала нужно получать заголовки и короткие сведения, а полные тела читать только для выбранных сообщений.
  • Нельзя печатать большие тела писем без явного запроса.
  • Нельзя записывать пароль в файлы навыка или открытым текстом в config.json; используйте секреты Велеса.
  • Перед отправкой письма Велес должен показать черновик и получить подтверждение, если пользователь не попросил немедленную отправку.
  • Удаление, архивирование, перенос писем, отметка прочитанным и флаги не реализованы по умолчанию.

Связанные страницы