Суть проекта
Запуск почтового сервера на localhost через docker. Вместо localhost конечно может быть и какой нибудь VPS, но тут скорее о максимально дешевом и простом решении.
Схема для наглядности как это работает
Плюс в том, что вам не нужен сервер для этого и не нужно ковыряться и поддерживать антиспам сервисы самостоятельно.
Но, что если мой ноутбук, на котором запущен почтовый сервер, будет не в сети/выключен? - спросите вы. Это не проблема: mail proxy будет пытаться до вас достучаться в течение 5 дней, перед тем как забьет на письмо, адресованное вам. Интервал возможно будет увеличен. Это просто дефолт.
Чтобы запустить вам нужно:
- Склонировать репу
- Зайти в чат бота и изменить MX. Получить конфиг Wireguard
- Запустить скрипт ./selfymail.sh
- Добавить почтовый ящик: ./addmbox.sh mail@box.com
Все по идее, можно получать почту. на свой адрес и хранить ее у себя.
Как появилась идея? Что вдохновило?
Идея навеяна постом, где я предложил свое решение проблемы в комментариях, и получил несколько плюсиков. Давно хотел найти простое решение данного вопроса, но наконец то взялся. Еще одним пинком стало решение яндекс.почты(yandex360) запретить мне отсылать email, ссылаясь на что у меня не выбран тариф. Конечно не выбран, он бесплатный же был. Но кончилась халява.
Что вошло в прототип и сколько времени на него было потрачено?
Как видно из схемы все основные компоненты уже есть и работают. Около месяца моя почта уже живет у меня на моем ноутбуке.
Само по себе решение простое заняло пару выходных. Конечно не без помощи GPT)
Какой технологический стек вы использовали?
- Docker
- Maddy mail server
- Wireguard
- Proxmox Mailgateway(Mail proxy на схеме)
- Golang(для обвязки скриптов и бота в телеге)
Больше деталей можно найти в гитхабе:
https://github.com/rooty123/selfymail
Какие сложности возникли?
Не то чтобы сложности, скорее особенности схемы. Например чтобы провярять почту с телефона, нужно чтобы он тоже был подключен к той же сети wireguard. Selfymail это позволяет и все прекрасно работает.
Какие планы на будущее?
- Автоматизировать подключение домена
- Добавить webmail
Очень интересно получить обратную связь от всех заинтересованных
То есть не то чтобы не требует сервера, просто сервер для входящей почты пока что бесплатно поддерживается автором бота и единственное архитектурное отличие от любого другого стороннего почтового сервера — почту хранит не больше пяти дней?
Я плохо разбираюсь как устроена эмейл почта, но не понял основного посыла.
Если всё равно существует сервер(прокся), который должен быть всегда поднят, то чем это отличается от какого-нибудь протонмейла или других каких-то незашкварных серверов?
Есть ли риск попадания прокси в бан при рассылке почты через неё?
Или попадает только ноутбучный сервер?
По каким реквизитам он попадает в базу спама, по адресу после @?
Не очень понятен смысл бесплатности. Вы же за домен всё равно платите. Тогда уж гораздо проще было бы ещё немного заплатить и поднять нормальный сервер на том же aws. И работало бы надёжнее и проще. А если вам нужно поменять комп? А если нужно зайти с чужого компа?
Тут интересная статья, автор 23 года хостил почту у себя, но по итогу сдался. Пишет, что e-mail по факту перестал быть распределённой системой в современном мире. Есть несколько крупных игроков, Крупных Почтовых Компаний, которые диктуют свои правила, и нет никаких гарантий, что письмо с self-hosted почтового сервиса попадёт в ящик в условном Gmail.
https://cfenollosa.com/blog/after-self-hosting-my-email-for-twenty-three-years-i-have-thrown-in-the-towel-the-oligopoly-has-won.html
Заморочился на отлично. Держи плюсик в карму.
А как почта ходит? Там же очень жёстко с политикой пропусков.
Интересное решение. Сам использую mailcow-dockerized на dedicated server/vps года полтора, пока все нравится.