Проект: Selfymail — почта для домена, которая не требует сервера  Публичный пост
22 мая 2023  1222
Selfymail - почта для домена, которая не требует сервера

Суть проекта

Запуск почтового сервера на 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

Очень интересно получить обратную связь от всех заинтересованных

Связанные посты
14 комментариев 👇
Egor Suvorov Программист/преподаватель C++ 22 мая 2023

То есть не то чтобы не требует сервера, просто сервер для входящей почты пока что бесплатно поддерживается автором бота и единственное архитектурное отличие от любого другого стороннего почтового сервера — почту хранит не больше пяти дней?

  Развернуть 1 комментарий

@yeputons, все так, только это не сервер хранит 5 дней, а прокся, если не достучалась до сервера сразу. Расчет на то что люди в оффлайн надолго не уходят. Соглаен, кейс специфический, зато простой в реализации, бесплатный, и может кому то такой вариант для свой некритичной почты вполне подойдет. За критичную уже надо платить.

  Развернуть 1 комментарий
Anton Zhornikov Metal 3d print, Wi-Fi, LTE developer 22 мая 2023

Я плохо разбираюсь как устроена эмейл почта, но не понял основного посыла.
Если всё равно существует сервер(прокся), который должен быть всегда поднят, то чем это отличается от какого-нибудь протонмейла или других каких-то незашкварных серверов?
Есть ли риск попадания прокси в бан при рассылке почты через неё?
Или попадает только ноутбучный сервер?
По каким реквизитам он попадает в базу спама, по адресу после @?

  Развернуть 1 комментарий

@storm21110, отличие в том, что почта хранится у тебя, и тебе не надо за нее платить, хотя конечно донаты приветствуются). Тут даже я бы не сравнивал с протоном и прочим, а скорее с mail-in-a-box, iredmail и т.д. то есть с self-hosted решениями. Но они достаточно тяжелые и там много moving parts. А в этом решении всего один очень легкий докер контейнер.

Почта через проксю не рассылается, он только на прием, соответственно в бан не должна попасть.

  Развернуть 1 комментарий

Не очень понятен смысл бесплатности. Вы же за домен всё равно платите. Тогда уж гораздо проще было бы ещё немного заплатить и поднять нормальный сервер на том же aws. И работало бы надёжнее и проще. А если вам нужно поменять комп? А если нужно зайти с чужого компа?

  Развернуть 1 комментарий

@basistov, на AWS тоже за домен платить надо, только еще и за сервер

  Развернуть 1 комментарий

@rooty, я понимаю. Я пытаюсь донести другую мысль: если бы бесплатным было всё, тогда ок. Но поскольку вы всё равно платите, то почему бы не заплатить ещё немного?

  Развернуть 1 комментарий

@basistov, ну как немного. Домен .com например стоит 10 долл в год, условно. сервер же будет минимум 60 в год=) Понятно что это не существенно, скорее всего тут просто хочется утилизовать простаивающие ресурсы домашнего ПК. Это что касается бесплатности. Но решение само по себе подходит для варианта с сервером, при этом сам антиспам и прочие пляски все равно обходят вас стороной.

  Развернуть 1 комментарий

Тут интересная статья, автор 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

  Развернуть 1 комментарий

@yumaa, идея в том что это решение только для приема. Для отправки используется старый добрый AWS SES или аналог. Поэтому согласен

  Развернуть 1 комментарий
Alexander Yankovskiy-Betcher Типа DevOps, на самом деле сисадмин-автоматизатор 22 мая 2023

Заморочился на отлично. Держи плюсик в карму.

  Развернуть 1 комментарий

А как почта ходит? Там же очень жёстко с политикой пропусков.

  Развернуть 1 комментарий

@Klalofu, Куда именно ходит? На проксю как принимающую сторону (MX) все ходит прекрасно. А дальше уже она тоже хорошо доставляет куда надо

  Развернуть 1 комментарий

Интересное решение. Сам использую mailcow-dockerized на dedicated server/vps года полтора, пока все нравится.

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб