mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-18 22:12:40 +00:00
125 lines
5.9 KiB
Text
125 lines
5.9 KiB
Text
# 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 - мережа з децентралізованим роутингом
|