Самодельное почтовое отделение poste.io устраняет подводные камни (в конце статьи есть пасхальные яйца).
Самодельное почтовое отделение poste.io устраняет подводные камни (в конце статьи есть пасхальные яйца).

Требования к проекту

Создайте свое собственное почтовое отделение,Должно бытьwebИнтерфейс управления,Для поддержки изначальноdocker,Это не должно занимать слишком много ресурсов,Выбирайте и выбирайте,Это единственный, кто осталсяposte.ioОно работает。

Быстрая установка

Потому что на том же сервере есть другие серверывеб-сервис,Чтобы избежать конфликтов портов,Мы раскрываем только порт обслуживания почтового отделения,веб-интерфейсдругимивеб-сервисвнутриnginxДействуйте как агент。оконфигурация DNSНа официальном сайте есть подробная инструкция.,я пропустил это здесь,Давайте просто поговорим о подводных камнях развертывания серверов.

  • Отключить антивирусные функции(DISABLE_CLAMAV=TRUE)、Отключить функции защиты от спама(DISABLE_RSPAMD=TRUE),Может значительно сократить использование памяти и процессора.,Пожалуйста, установите соответствующие параметры отключения.
  • ЗапрещатьWEBФункция трансивера(DISABLE_ROUNDCUBE=TRUE),Может еще больше сократить использование ресурсов,Однако запрещать это без необходимости не рекомендуется.

При использовании скрипта обратите внимание на изменение имени домена и пути хранения внутри него.

Язык кода:shell
копировать
docker run --name mailer -d \
    --restart unless-stopped \
    --hostname "mail.rehiy.com" \
    --publish 25:25 \
    --publish 110:110 \
    --publish 143:143 \
    --publish 465:465 \
    --publish 587:587 \
    --publish 993:993 \
    --publish 995:995 \
    --publish 4910:4910 \
    --env "TZ=Asia/Shanghai" \
    --env "DISABLE_CLAMAV=TRUE" \
    --env "DISABLE_RSPAMD=FALSE" \
    --env "DISABLE_ROUNDCUBE=FALSE" \
    --volume ./mailer:/data \
    analogic/poste.io

WEB-интерфейс агента

это полноnginxКонфигурация агента,Обратите внимание, что вам необходимоmailerподключиться квеб-сервисконтейнер, в котором,можно использовать$scheme://mailerВыполнить обратный прокси,В противном случае используйтеmailerконтейнерipадрес。

При использовании скрипта,Обратите внимание на изменение имени домена и пути сертификата внутри.。Файл необходимо сохранить какUTF-8кодирование。

Язык кода:text
копировать
server {

    listen 80;
    listen [::]:80;

    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_certificate certs/default.cer;
    ssl_certificate_key certs/default.key;

    server_name mail.rehiy.com;

    location / {
        proxy_pass $scheme://mailer;
        proxy_set_header Host $host;
        # real-ip
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        # websocket
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_read_timeout 86400;
        ## replace content ##
        sub_filter_once  off;
        sub_filter «Написать новое сообщение» 'написать письмо';
        sub_filter 'Dark mode' 'темный';
        sub_filter 'Light mode' 'Свет';
        sub_filter '[Administration]' «Консоль»;
        sub_filter '>Administration<' '>консоль<';
        sub_filter 'Trusted Senders' «Доверенный отправитель»;
        sub_filter 'Collected Recipients' «Сбор получателей»;
        sub_filter '</style>' '\n.pro,.brand,.nav-sidebar p.alert{display:none !important}\n</style>';
    }

}

Пасхальное яйцо-сюрприз

Внимательные друзья должны были заметить,nginxКонфигурация агента Есть раздел вsub_filterкод。Это пасхалка, о которой я говорю:

  • Скрытые платныеproменю,Сделайте интерфейс более освежающим.
  • Измените английские меню или описания некоторых WEB-интерфейсов трансивера.

Прежде чем скрыть меню Pro

Рисунок 1
Рисунок 1

После скрытия меню Pro

Рисунок 2
Рисунок 2

WEB-интерфейс отправки и получения

Рисунок 3
Рисунок 3
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.