Рубрики
Uncategorized

Настройка моего личного почтового сообщения

MailServer был долгое время. Я бы сделал попытку установить один ~ 4 года назад (Иш), … Теги с Linux, Devops.

MailServer был долгое время. Я бы предпринял попытку установить один ~ 4 года назад (ish) и IIRC, я бросил, когда пришла в ДНС. И я тоже почти сделал это время. 1

Для этой попытки я хотел более простой подход. Я вспоминаю, насколько ужасно запутанному Dovecot & Postfix было настроить и, следовательно, я решил искать контейнерное решение, что самое главное, работает на моем дешевом 5 $ цифровом океане VPS — 1 VCPU и 1 ГБ памяти. Из которых только около 500 МБ на самом деле доступно. Так Да, Красивая в обтяжку.

Что доступно

Оказывается, есть довольно много этих OOTB, готовых к развертыванию решений. Это те, которые я столкнулся с:

  • poste.io Основываясь на модели «открытого ядра». Базовая установка является открытым исходным кодом и бесплатно (как в пиве), но вам придется заплатить за дополнительные вещи.

  • mailu.io : Бесплатно программное обеспечение. Рисует вдохновение от Poste.io, но поставляется с веб-интерфейсом, что мне не нужно.

  • mailcow.email : Эти необычные домены становится смешным. Но что более важно, им нужно 2 Гиб оперативной памяти плюс обмен?! Неа.

  • Mail-In-A-A-Box : В отличие от вышеперечисленных, а не решение, основанное на доке, но определенно стоит упомянуть. Это, однако, нуждается в свежем ящике для работы. Коробка с абсолютно ничем еще на нем. Я не могу позволить себе сделать это.

  • Docker-mailserver : Победитель Отказ

Так… Docker-mailserver.

Первое, что привлекло мое внимание в Readme:

Рекомендуемые:

  • 1 процессор
  • 1 ГБ ОЗУ

Минимум:

  • 1 процессор
  • 512 МБ ОЗУ

Фантастически, я могу как-то сжать это в мою существующую VPS. Настройка была довольно проста, и документы довольно хорошие. Это использует один .env Файл для конфигурации, который отлично. Тем не менее, я столкнулся с парой икота здесь и там.

Один особенно противный был Докер / Docker-Compose не хватает памяти.

Error response from daemon: cannot stop container: 2377e5c0b456: Cannot kill container 2377e5c0b456226ecaa66a5ac18071fc5885b8a9912feeefb07593638b9a40d1: OCI runtime state failed: runc did not terminate sucessfully: fatal error: runtime: out of memory

Но это в конечном итоге работало после нескольких попыток.

Следующая вещь, с которыми я боролся с — DNS. В частности, с шагом, где генерируются клавиши DKIM 2 Отказ Выход под config/opendkim/keys/domain.tld/mail.txt не совсем облачный дружелюбный; Они не могут быть прямо скопированы в A TXT записывать.

Вот как это выглядит.

mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
      "p="
      "" ) ; ----- DKIM key mail for icyphox.sh

Но при настройке записи вы устанавливаете «Тип» на TXT , «Имя» на Mail._domainkey и «ценность» к тому, что находится внутри скобки () , Удаление Цитаты "" Отказ Также удалите часть, которая кажется комментарием ; ----- ... Отказ

Чтобы упростить отладку проблем DNS позже, это, вероятно, хорошая идея указать на ваш MailServer с использованием поддомена, как mail.domain.tld используя А записывать. Вы тогда должны настроить MX запись с «именем» как @ (или все, что ваш поставщик DNS использует для обозначения корневого домена) и «значение» на mail.domain.tld Отказ И, наконец, PTR (Я думаю, что запись указателя), которая является обратной стороной вашего А Запись — «Имя» как сервер IP и «значение» как mail.domain.tld Отказ Я узнал эту часть трудным способом, когда мое исходящее электронное письмо продолжало отклоняться от серверов Tutanota.

Еще одно препятствие — сертификаты SSL/TLS. Это не очень должным образом задокументировано, если вы не прочитаете через Вики И посмотрите на пример. Короче, установить Certbot иметь порт 80 бесплатно, и запустить

$ certbot certonly --standalone -d mail.domain.tld

Как только это сделано, отредактируйте Docker-Compose.yml Файл для монтирования /etc/leteSensrypt В контейнере что-то вроде так:

...

volumes:
    - maildata:/var/mail
    - mailstate:/var/mail-state
    - ./config/:/tmp/docker-mailserver/
    - /etc/letsencrypt:/etc/letsencrypt

...

С этим сделано, вы не должны иметь почтовые клиенты, жалующиеся на Wonky Certs, для которых вам придется добавить исключение вручную.

Почему не могли бы вы…?

Есть несколько веских причин для этого:

Конфиденциальность

Нет действительно, это Лучший выбор для по-настоящему личное письмо. Не протонмаил, а не тутанота. Уверен, они утверждают так И я не спорю это. Цитируя drew devault 3 С

Действительно безопасные системы не требуют, чтобы вы доверяли поставщику услуг.

Но вы должны доверять Протонмаил. Они управляют программным обеспечением с открытым исходным кодом, но как вы действительно можете быть уверены, что это не является версией Backwood It?

Когда вы принимаете свой собственный почтовый сервер, вы действительно владеете электронным письмом, не полагаясь на любой сторонний. Это не попытка распространить Fud. В конце концов все зависит от вашей модели угрозы ™.

Децентрализация

Электронная почта сегодня в основном работает в Google. Gmail имеет более 1,2 _Billion_active пользователей. Это непристойно. Электронная почта была разработана, чтобы быть децентрализованным, но большим корпусом наклонено и сделало его продукт. Теперь они управляют вашими данными, и неизвестно, что Google гласит вашу почту. Это снова петли к моей предыдущей точке, конфиденциальность. Децентрализация гарантирует конфиденциальность. Когда вы управляете своей почтой, вы впоследствии контролируете, кто его читает.

Персонализация

Не могу игнорировать этот. Кругло иметь пользовательский адрес электронной почты для Flex.

x@icyphox.sh против gabe.newell4321@gmail.com.

PFFT, это не конкуренция.

Мой Tweet разочарования. ↩

Ссылка наступить в документы. ↩

Из его Статья Поэтому он не доверяет сигналу. ↩

Оригинал: «https://dev.to/icyphox/setting-up-my-personal-mailserver-3o9k»