> ## Documentation Index
> Fetch the complete documentation index at: https://docs.velesagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Навык: ALOR Mail

> Описание навыка для чтения, поиска и отправки корпоративной почты ALOR через IMAP и SMTP с настройками из почтового канала Велеса.

# Навык: ALOR Mail

`alor-mail` — встроенный навык для работы с корпоративной почтой ALOR через IMAP и SMTP.

Он нужен, когда Велесу нужно посмотреть новые письма, найти письмо по отправителю или теме, прочитать выбранное сообщение, кратко пересказать переписку или подготовить ответ.

***

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

Типичные запросы:

* «Покажи последние письма в корпоративной почте».
* «Найди письма от [mustyatsa@alorbroker.ru](mailto: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`.

Адрес, сервер, порт, ящик и отображаемое имя не являются секретами и могут оставаться обычными настройками.

***

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

Для отладки или отдельного развёртывания можно задать явные значения:

```bash theme={null}
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` можно использовать только для внутреннего сервера со сломанным сертификатом и только если понятен сетевой риск.

***

## Команды

Основной скрипт:

```text theme={null}
veles/skills/alor-mail/scripts/alor_mail.py
```

Примеры:

```bash theme={null}
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`; используйте секреты Велеса.
* Перед отправкой письма Велес должен показать черновик и получить подтверждение, если пользователь не попросил немедленную отправку.
* Удаление, архивирование, перенос писем, отметка прочитанным и флаги не реализованы по умолчанию.

***

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

* [Навык: ALOR Calendar](/skills/alor_calendar_ru)
* [Каналы и интеграции](/channels_ru)
* [Секреты и токены](/basics/secrets_ru)
