gemlog/public/uk/yggmail-messenger-with-email-protocol.gmi
2025-09-11 12:43:12 +03:00

125 lines
5.9 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Yggmail - месенджер з поштовим інтерфейсом
Yggmail - це дочірній проєкт від розробників Yggdrasil, написаний на Go та має відкритий код.
* Дозволяє в декілька простих кроків розгорнути сервер для підключення будь якого поштового клієнта, сумісного з протоколами IMAP / SMTP.
* Працює без залежності від центрального серверу та виділеної адреси IP.
* Для транспорту даних використовує вбудований вузол Yggdrasil, не потребує його окремого встановлення а також може ізольовано працювати поряд з ним.
* Трафік, що передається - захищений і не потребує додаткового шифрування TLS.
З коробки, являє собою сервер, підключитись до якого можна через поштовий клієнт типу Thunderbird або DeltaChat.
Утім, від класичних поштових серверів відрізняється протоколом транспорту, тому не є сумісним зі звичайними скриньками і працює у власній мережі.
Yggmail варто сприймати саме як месенджер, оскільки він має тільки спільний поштовий інтерфейс IMAP / SMTP але іншу модель транспорту.
## Встановлення
Yggmail знаходиться на стадії розробки, тому для встановлення будемо збирати з початкового коду на останній версії Go:
=> install-latest-golang-version-on-debian-linux.gmi Встановлення останньої версії Go в Debian
Збірка Yggmail виконується наступною командою в теці і користувачем, від якого планується робота з поштою:
```
cd ~
go install github.com/neilalexander/yggmail/cmd/yggmail@latest
```
Наступним кроком, ініціюємо новий профіль:
```
yggmail -password
```
Записуємо згенеровану адресу в полі "Mail address", на неї будуть отримуватись листи і вона вказується при підключенні поштового клієнта.
Профіль користувача буде збережено до файлу "~/yggmail.db" - його можна використовувати для резервного копіювання пошти.
Щоб вказати альтернативний шлях, вказується атрибут "-database=/path/to/yggmail.db".
Довідка доступна командою:
```
yggmail -help
```
## Запуск
Запуск відбувається однойменною командою, утім декілька слів про режими підключень:
* Мультикаст
* Підключення через певний публічний пір (https://publicpeers.neilalexander.dev)
* Обидва варіанти
Відповідно:
```
yggmail -multicast
yggmail -peer=tls://...
yggmail -multicast -peer=tls://...
```
## Автозапуск
Yggmail отримує пошту тільки тоді, коли він працює та підключений до мережі.
Якщо вузол отримувача недосяжний, лист переміщується в до черги очікування і буде надіслано як тільки зв'язок між вузлами відновиться.
Тому зручно створити системний сервіс з автозапуском:
``` /etc/systemd/system/yggmail.service
[Unit]
Description=Yggmail
After=network-online.target
[Service]
Type=simple
ExecStart=/home/user/go/bin/yggmail -peer=tcp://... 2>&1
Restart=always
[Install]
WantedBy=multi-user.target
```
Активуємо сервіс:
```
systemctl daemon-reload
systemctl enable yggmail
systemctl start yggmail
```
Перевіряємо:
```
netstat -tulpn | grep LISTEN
```
## Підключення поштового клієнта
Yggmail прослуховує порти:
* 1025 - SMTP / TCP
* 1143 - IMAP / TCP
В залежності від поштового клієнта, при створенні нового підключення скриньки, вказуються наступні дані:
* Логін - адреса, наприклад "123abc@yggmail"
* Пароль - пароль, вказаний при виконанні команди "yggmail -password"
* SMTP сервер - localhost
* SMTP порт - 1025
* IMAP сервер - localhost
* IMAP порт - 1143
Якщо сервер працює на віддаленому VPS, на ньому потрібно відкрити відповідні порти, а "localhost" замінити на його IP.
Єдиною рекомендацією можна додати, що не варто відправляти пошту самому собі для тестування, наразі це не працює.
Щоб перевірити роботу Yggmail - відправляйте пошту з іншого вузла або залиште вашу адресу в коментарях - можливо хтось вам відповість!
## Посилання
=> https://github.com/neilalexander/yggmail Проєкт на GitHub
=> https://matrix.to/#/#yggmail:matrix.org Канал в Matrix
## Дивіться також
=> yggdrasil-is-network-with-distributed-routing.gmi Yggdrasil - мережа з децентралізованим роутингом