mirror of
https://gitverse.ru/kpa39l/email-local-archive.git
synced 2026-09-29 09:15:11 +00:00
Initial commit: Hermes skill email-local-archive
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
# Jino (jino.ru) — настройка почтового ящика в Himalaya
|
||||
|
||||
## Серверы
|
||||
|
||||
| Протокол | Сервер | Порт | Шифрование | Аутентификация |
|
||||
|----------|--------|------|------------|----------------|
|
||||
| IMAP | mail.jino.ru | 143 | STARTTLS | PLAIN, CRAM-MD5 |
|
||||
| IMAP SSL | mail.jino.ru | 993 | TLS | PLAIN, CRAM-MD5 |
|
||||
| POP3 SSL | mail.jino.ru | 995 | TLS | USER/PASS |
|
||||
| SMTP | smtp.jino.ru | 587 | STARTTLS | PLAIN, LOGIN, CRAM-MD5 |
|
||||
| SMTP SSL | smtp.jino.ru | 465 | TLS | PLAIN, LOGIN, CRAM-MD5 |
|
||||
|
||||
**Логин:** полный email `hermes@nixg.ru` (не local-part без домена — сервер вернёт "Email not valid").
|
||||
|
||||
## Himalaya config
|
||||
|
||||
```toml
|
||||
[accounts.jino-hermes]
|
||||
email = "hermes@nixg.ru"
|
||||
display-name = "Hermes Agent"
|
||||
default = false
|
||||
|
||||
backend.type = "imap"
|
||||
backend.host = "mail.jino.ru"
|
||||
backend.port = 993
|
||||
backend.encryption.type = "tls"
|
||||
backend.login = "hermes@nixg.ru"
|
||||
backend.auth.type = "password"
|
||||
backend.auth.raw = "PASSWORD_HERE"
|
||||
|
||||
folder.aliases.inbox = "INBOX"
|
||||
|
||||
[accounts.jino-hermes.message.send]
|
||||
backend.type = "smtp"
|
||||
backend.host = "smtp.jino.ru"
|
||||
backend.port = 465
|
||||
backend.encryption.type = "tls"
|
||||
backend.login = "hermes@nixg.ru"
|
||||
backend.auth.type = "password"
|
||||
backend.auth.raw = "PASSWORD_HERE"
|
||||
```
|
||||
|
||||
## Диагностика
|
||||
|
||||
### Быстрая проверка IMAP (Python)
|
||||
|
||||
```python
|
||||
import imaplib
|
||||
M = imaplib.IMAP4_SSL('mail.jino.ru', 993)
|
||||
try:
|
||||
M.login('hermes@nixg.ru', 'PASSWORD')
|
||||
print('OK')
|
||||
M.logout()
|
||||
except Exception as e:
|
||||
print(f'Login failed: {e}')
|
||||
```
|
||||
|
||||
### Быстрая проверка SMTP (Python)
|
||||
|
||||
```python
|
||||
import smtplib
|
||||
S = smtplib.SMTP('smtp.jino.ru', 587, timeout=15)
|
||||
S.ehlo()
|
||||
S.starttls()
|
||||
S.ehlo()
|
||||
try:
|
||||
S.login('hermes@nixg.ru', 'PASSWORD')
|
||||
print('SMTP OK')
|
||||
except Exception as e:
|
||||
print(f'SMTP login error: {e}')
|
||||
S.quit()
|
||||
```
|
||||
|
||||
### Проверка POP3
|
||||
|
||||
```python
|
||||
import poplib
|
||||
P = poplib.POP3_SSL('mail.jino.ru', 995, timeout=15)
|
||||
try:
|
||||
P.user('hermes@nixg.ru')
|
||||
P.pass_('PASSWORD')
|
||||
msgs, _ = P.stat()
|
||||
print(f'POP3 OK, {msgs} messages')
|
||||
P.quit()
|
||||
except Exception as e:
|
||||
print(f'POP3 error: {e}')
|
||||
```
|
||||
|
||||
### Просмотр IMAP-возможностей сервера
|
||||
|
||||
```python
|
||||
M = imaplib.IMAP4_SSL('mail.jino.ru', 993)
|
||||
M.capability()
|
||||
print(M.capabilities) # выведет: IMAP4 IMAP4REV1 UIDPLUS CHILDREN NAMESPACE QUOTA IDLE AUTH=PLAIN AUTH=CRAM-MD5
|
||||
M.shutdown()
|
||||
```
|
||||
|
||||
## Типовые проблемы
|
||||
|
||||
### "Login failed" на всех протоколах
|
||||
|
||||
1. **Ящик не активирован** — Jino (и особенно хостинг-аккаунты на nixg.ru) могут требовать первый вход через панель управления или webmail
|
||||
2. **Неправильный пароль** — сбросить в cp.jino.ru → Почта → нужный ящик → Изменить пароль
|
||||
3. **Доступ по протоколам отключён** — в панели Jino нужно проверить, что IMAP/POP3/SMTP включены для ящика
|
||||
4. **Сервер ждёт активации** — на новых доменах почта может не работать до завершения регистрации/верификации
|
||||
|
||||
Если логин не проходит через `himalaya` — **проверить вручную через Python** (см. выше). Python показывает ту же ошибку, но без дополнительных слоёв (Rust-клиент himalaya может добавить свою обёртку).
|
||||
|
||||
### "Email not valid"
|
||||
|
||||
Логин передан без доменной части (только `hermes`, а не `hermes@nixg.ru`). Jino IMAP требует полный email.
|
||||
|
||||
## Множественные аккаунты в Himalaya
|
||||
|
||||
Конфиг может содержать сколько угодно аккаунтов. Для переключения:
|
||||
|
||||
```bash
|
||||
# Через --account (порядок аргументов важен):
|
||||
himalaya --account hermes envelope list --limit 10
|
||||
|
||||
# Или временно сделать default и вернуть обратно:
|
||||
vim ~/.config/himalaya/config.toml
|
||||
# выставить default = true у нужного аккаунта
|
||||
```
|
||||
Reference in New Issue
Block a user