Настройка почтового сервера Debian

Обновлено: 21.11.2024

В этом руководстве рассказывается, как настроить работающий почтовый сервер в Ubuntu или Debian. Как известно, на почтовом сервере используются два основных протокола: SMTP и POP/IMAP. В этом руководстве для SMTP будет использоваться postfix, а для POP/IMAP — dovecot. Оба имеют открытый исходный код, стабильны и легко настраиваются.

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

Предпосылки

Каждый домен должен иметь DNS-сервер. НЕ рекомендуется использовать действующий домен в целях тестирования. В этом руководстве тестовый домен example.tst будет использоваться в тестовой среде. DNS-сервер для этого гипотетического домена должен иметь как минимум следующие записи.

Прямая зона, например.tst:

Обратная зона, например.tst:

При настройке живого почтового сервера эти записи можно изменить в зависимости от системных требований.

Настройка имени хоста

Во-первых, имя хоста почтового сервера должно быть указано в /etc/hostname и /etc/hosts. Первый должен содержать только имя хоста.

Добавление пользователей

У каждого пользователя Linux по умолчанию автоматически создается почтовый ящик. Эти пользователи и почтовые ящики будут использоваться как учетные записи электронной почты и их соответствующие почтовые ящики. Создать пользователя очень просто.

Установка и настройка SMTP

Профиль службы: postfix
Каталог файла конфигурации /etc/postfix/
Скрипт /etc/init.d/postfix
Файл журнала /var/log/mail.log
Сценарий /etc/init.d/postfix
Номер портаTCP/25

SMTP: установка постфикса

postfix — один из наиболее широко используемых SMTP-серверов, поскольку он стабилен, легковесен, масштабируем и обладает широкими возможностями настройки. Настроить постфикс можно с помощью apt-get .

Во время установки указывается тип почтового сервера и имя домена.

Поскольку этот почтовый сервер будет отправлять электронные письма непосредственно адресату, используется Интернет-сайт.

Также устанавливается доменное имя почтового сервера. Это приведет к тому, что все письма, исходящие с этого почтового сервера, будут иметь @example.tst в качестве домена отправителя.

Файлы конфигурации postfix хранятся в /etc/postfix . Следующие файлы конфигурации важны. Некоторые из них могут отсутствовать и должны быть созданы вручную.

SMTP: подготовка файлов конфигурации

Пришло время подготовить файлы конфигурации. Файлы транспорта и псевдонимов не поставляются при установке и создаются вручную.

Настройка main.cf

main.cf создается резервной копией, а затем модифицируется. Следующие строки добавляются/изменяются в файле конфигурации. Для получения более подробной информации о параметрах обратитесь к официальному файлу README и документу по настройке.

Настройка транспорта

Сообщения, предназначенные для домена example.tst, доставляются локально без каких-либо DNS-запросов.

Настройка псевдонимов

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

Примечание. Синтаксис userA: userB указывает, что почта должна пересылаться только пользователю B. userA не получит копию электронного письма.

SMTP: запуск службы

postfix можно запустить с помощью команды.

Файл журнала в /var/log/mail.log должен содержать полезную информацию на случай, если что-то пойдет не так. Прослушивает ли почтовый сервер TCP-порт 25, также можно проверить с помощью netstat .

Как видно из вывода, сервер прослушивает TCP-порт 25 на предмет входящих запросов на подключение.

Установка и настройка POP/IMAP

POP/IMAP: установка dovecot

dovecot, без сомнения, является ведущим программным обеспечением для серверов IMAP и POP, используемым в сообществе с открытым исходным кодом. Установить и настроить dovecot очень просто. Опять же, для установки dovecot будет использоваться команда apt-get .

По умолчанию dovecot может поддерживать POP3 и IMAP (обычный текст), а также зашифрованные POP3S и IMAPS (защищенные). По умолчанию dovecot создает и использует самозаверяющий сертификат для шифрования SSL. Сертификаты можно создавать вручную или импортировать позже в зависимости от требований.В этом руководстве будет использоваться самозаверяющий сертификат, созданный dovecot.

POP/IMAP: подготовка файлов конфигурации

При необходимости изменяются следующие параметры.

Этого должно быть достаточно для запуска службы POP/IMAP на почтовом сервере.

POP/IMAP: запуск службы

Теперь, когда dovecot установлен и настроен, его можно запустить с помощью следующей команды.

Опять же, файл журнала ( /var/log/mail.log ) может дать важные подсказки, если что-то пойдет не так. Проверить, работает ли dovecot, также можно с помощью netstat .

Использование почтового сервера с почтовым агентом пользователя (MUA)

Теперь почтовый сервер готов к использованию. Учетные записи электронной почты можно настроить с помощью вашего любимого почтового клиента на настольном компьютере, ноутбуке, планшете или телефоне. Веб-почту также можно настроить на сервере, но настройка веб-почты будет рассмотрена в следующих руководствах. Ниже приведен снимок экрана с необходимыми параметрами в Mozilla Thunderbird.

Устранение неполадок почтового сервера

Файл журнала /var/log/mail.log — ваш лучший друг. Любую информацию о том, почему электронная почта не работает, можно найти здесь.

Убедитесь, что брандмауэр настроен правильно и что DNS-сервер имеет правильные записи.

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

Действительные записи DNS необходимы для действующих почтовых серверов. Настройки postfix и dovecot можно настроить в зависимости от потребностей.

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

Надеюсь, это поможет.

Поддержка Xmodulo

Этот веб-сайт стал возможен благодаря минимальной рекламе и вашему любезному пожертвованию через PayPal (кредитная карта) или биткойн ( 1M161JGAkz3oaHNvTiPFjNYkeABox8rb4g ).

    Теперь вы должны увидеть работающего почтальона. Посетите:

  • В том же файле добавьте хэш:/var/lib/mailman/data/aliases после alias_maps

Тогда вам нужно перезагрузить apache:

Устранение неполадок почтальона

В соединении отказано

Предполагая, что ваш постфикс работает и прослушивает локальный хост, другая возможная проблема заключается в том, что постфикс не настроен для работы в режиме IPv6, но в вашем файле /etc/hosts ::1 указан как локальный хост. В этом случае почтальон пытается отправить почту на ::1, который не прослушивает постфикс, что приводит к ошибке (111, 'отказ в соединении').

Добавление TLS/SSL

  1. Вообще не используйте TLS/SSL (доступны только незащищенные подключения).
  2. Используйте TLS/SSL, если это возможно. В противном случае используйте незащищенные подключения.
  3. Разрешить только TLS/SSL (незащищенные подключения недоступны).

Второй вариант (называемый STARTTLS) рекомендуется для почтовых серверов общего назначения. Он обеспечивает своего рода «режим совместимости». Безопасная передача данных включена, но не принудительно.

Соединения STARTTLS начинаются в незашифрованном виде через обычный smtp порт 25. Если обе стороны согласны с тем, что остальная часть передачи данных шифруется, по-прежнему используется порт 25.

Чистый TLS/SSL использует собственный порт, обычно smtps (465). См. ниже.

Postfix версии 2.3 и выше использует параметр smtpd_tls_security_level для управления шифрованием TLS (допустимые значения: нет, может или зашифровать).

Ранее использовались два параметра (smtpd_use_tls и smtpd_enforce_tls). Их можно сбросить. См. также отчет об ошибках Debian 520936.

С помощью следующих команд TLS применяется принудительно (без STARTTLS), а старые параметры конфигурации сбрасываются до значений по умолчанию:

Альтернативные порты TLS/SSL

Возможно, вас заинтересует поддержка портов smtps и/или отправки (см. /etc/services), чтобы ваш мобильный/удаленный пользователи, которые могут быть в системе, которая блокирует, фильтрует или плохо проксирует SMTP-трафик (порт 25), все равно могут отправлять почту через ваш сервер. Поскольку эти порты также не используются для трафика между MTA и MTA, вы можете установить дополнительные ограничения, такие как требование SSL/TLS.

Мы делаем это, изменяя файл /etc/postfix/master.cf для запуска дополнительных служб smtpd со специальными параметрами на выделенных портах.

Отправка

Порт submission (587), указанный в RFC 2476, зарезервирован для почтовых агентов пользователя (MUA)/агентов отправки почты (MSA) для отправки электронной почты агенту передачи почты (MTA).

Чтобы включить дополнительный сервис, отредактируйте файл /etc/postfix/master.cf.

В этом примере мы отключаем ETRN, требуем TLS и включаем аутентификацию SASL для порта отправки.

SMTPS

Название порта smtps или ssmtp зависит от содержимого вашего файла /etc/services. В Debian оба имени кажутся определенными. Вывод netstat -tl показывает ssmtp.

Чтобы включить дополнительный сервис, отредактируйте файл /etc/postfix/master.cf.

Подключения Fetchmail к Postfix

Похоже, fetchmail не может установить TLS-соединение с Postfix. (Не путать с возможностями fetchmail для получения почты через соединения TLS.)

Если Postfix настроен на прием только соединений TLS (smtpd_tls_security_level=encrypt), fetchmail завершится с ошибкой типа "Сначала необходимо выполнить команду STARTTLS".

Один из способов избежать этого — предоставить незашифрованную службу smtp. Конечно, эта служба должна быть доступна только для локального процесса fetchmail.

Отредактируйте /etc/postfix/master.cf и добавьте

Это добавит дополнительную службу smtp, прослушивающую порт 40025 с отключенным TLS, но принимающим только локальные подключения.

Fetchmail необходимо настроить соответствующим образом с помощью параметра smtphost.

Опция smtphost — это так называемая "пользовательская опция". Его необходимо добавить в каждый пользовательский раздел.

В качестве альтернативы fetchmail можно указать использовать внешнюю программу с поддержкой TLS 1 для пересылки почты. Здесь это не обрабатывается. И если fetchmail и Postfix работают на одной машине, то это все равно не имеет особого смысла.

Отправка с помощью SSL

С помощью следующих команд Postfix настраивается на использование TLS для отправки почты:

SPF и несколько внешних IP-адресов

Пояснение

У меня есть несколько систем, объединенных во внутреннюю подсеть с частными IP-адресами (192.168.0.0/16). По нескольким причинам я отправляю отчеты и тому подобное по адресу @mail.internal, где user — это адрес, который не подходит для получения почты через внешние интерфейсы. Эти системы также имеют общую подсеть с общедоступными IP-адресами, поэтому они могут отправлять друг другу электронные письма таким образом, но я бы предпочел, чтобы они этого не делали для локальных адресов. Я опубликовал записи SPF для общедоступных почтовых серверов, потому что вся наша почта проходит через эти серверы, поэтому, если другие хотят проверить, они могут игнорировать электронную почту, якобы отправленную от нас, но доставленную с других серверов в соответствии с нашей записью SPF.

Используя настройки в файлах /etc/postfix/master.cf, /etc/postfix/main.cf и /etc/postfix/transport< /tt> как указано выше, я смог заставить исходящий smtp-трафик снова использовать мой опубликованный SPF IP-адрес.

Создайте SPF и несколько внешних IP-адресов

Просто postmap /etc/postfix/transport, invoke-rc.d postfix stop и invoke-rc.d postfix start, и вы должен быть в деле. Электронная почта на адрес @ .internal будет доставляться через внутренний интерфейс/IP-адрес, все остальные электронные письма будут доставляться с помощью методов по умолчанию, что означает, что интернет-почта будет отправляться с IP-адреса, опубликованного spf.

Postfix — это бесплатный и широко используемый агент для передачи почты с открытым исходным кодом. Он поддерживает MySQL, PostgreSQL и SQLite в качестве сервера базы данных для хранения и управления виртуальными доменами.
PostfixAdmin — это бесплатный веб-интерфейс для управления почтовым сервером postfix. С помощью этого инструмента мы можем легко добавлять/удалять/редактировать доменные имена, учетные записи электронной почты, квоты электронной почты, переадресацию электронной почты и т. д.

В этом руководстве мы покажем вам, как настроить почтовый сервер с помощью PostfixAdmin в ОС Debian 11 (Bullseye).

Оглавление

Предпосылки

  • Debian 11 VPS
  • SSH root-доступ или обычный системный пользователь с привилегиями sudo
  • Полное доменное имя

Шаг 1. Войдите через SSH и обновите систему

Войдите в свой VPS Debian 11 через SSH как пользователь root или как обычный пользователь с привилегиями sudo

Не забудьте заменить «мастер» на пользователя с правами sudo или root. Кроме того, замените «IP_Address» и «Port_Number» на IP-адрес вашего сервера и порт SSH.

Вы можете проверить, установлена ​​ли на вашем сервере правильная версия Debian, с помощью следующей команды:

Вы должны получить следующий вывод:

Чтобы обновить систему, вы можете запустить эту команду:

Шаг 2. Задайте имя хоста

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

Шаг 3. Установите Apache, MariaDB и PHP

Теперь давайте установим веб-сервер, сервер базы данных и PHP

Вы можете пропустить этот шаг, если они уже установлены на вашем сервере.

Шаг 4. Создайте системного пользователя

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

Шаг 4. Создайте базу данных

Если у вашего root-пользователя MySQL нет пароля, вы можете запустить эту команду, чтобы войти в оболочку MySQL.

Если для входа в оболочку MySQL требуется пароль, выполните следующую команду:

После входа в систему выполните следующие команды:

Шаг 5. Установите Postfix

Установите почтовый сервер Postfix с помощью этой команды:

После выполнения вы увидите следующее

Выберите «Интернет-сайт», затем нажмите «ОК», чтобы продолжить.

На этом шаге вам будет предложено ввести системное почтовое имя. Убедитесь, что системное почтовое имя совпадает с вашим именем хоста Debian 11. Мы установили системное имя хоста в начале этого руководства.

После завершения нам нужно создать несколько файлов конфигурации, чтобы Postfix мог взаимодействовать с базой данных.

Давайте создадим файлы, обязательно замените пароль, имя базы данных, пользователя базы данных на те, которые вы создали ранее.

Теперь давайте приступим к редактированию файла /etc/postfix/main.cf, мы можем запустить следующие команды:

После завершения мы можем продолжить и отредактировать файл /etc/postfix/master.cf:

Измените или добавьте в файл следующие строки.

Сохраните изменения и выйдите.

Шаг 6. Установите Dovecot

После установки dovecot нам нужно отредактировать некоторые файлы конфигурации.

Откройте файл /etc/dovecot/conf.d/10-auth.conf

Затем найдите эту строку

замените его этой строкой:

Это должно выглядеть так:

В файл 10-auth.conf мы включаем auth-sql.conf.ext. Итак, отредактируем файл

затем добавьте следующие строки:

Строки выше содержат учетные данные базы данных. Убедитесь, что они совпадают с теми, которые вы создали на предыдущем шаге.

Сохраните файл и выйдите

Затем откройте файл /etc/dovecot/conf.d/10-mail.conf и измените следующие значения:

По умолчанию поддержка SSL dovecot в Debian 11 включена. Вы можете проверить это, проверив файл /etc/dovecot/conf.d/10-ssl.conf, убедитесь, что в нем есть эта строка:

Теперь давайте приступим к редактированию других файлов конфигурации dovecot.

В этот файл нужно внести несколько изменений.

  1. Найдите раздел службы lmtp и измените его на следующее:
    1. Найдите раздел авторизации службы и измените его на:
      1. Измените раздел service auth-worker следующим образом:

      Не забудьте сохранить файл и выйти

      Перед перезапуском Dovecot нам нужно изменить разрешения.

      Шаг 7. Установите PostfixAdmin

      На этом последнем шаге мы загрузим PostfixAdmin с Github и сохраним его в каталоге /opt.

      Мы не собираемся использовать поддомен для доступа к PostfixAdmin через веб-браузер, вместо этого мы будем использовать псевдоним Apache.

      Вставьте следующее в файл, затем перезагрузите apache.

      Создайте config.local.php и вставьте следующие строки

      Дважды введите свой пароль для установки и нажмите кнопку «Создать хэш setup_password».

      Вы увидите строку, содержащую пароль для установки, например:

      и вам нужно скопировать его в config.local.php

      После добавления строки в файл config.local.php вы можете обновить страницу, чтобы войти в систему и создать суперадминистратора.

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

      Конечно, вам не нужно настраивать почтовый сервер с PostfixAdmin на Debian 11, если вы используете одну из наших услуг хостинга Debian 11 VPS, и в этом случае вы можете просто попросить наших опытных администраторов Linux настроить почтовый сервер. сервер с PostfixAdmin для вас. Они доступны 24×7 и немедленно позаботятся о вашем запросе.Настройка почтового сервера с помощью PostfixAdmin — простая задача, если вы внимательно следовали этому руководству.

      ПС. Если вам понравился этот пост о том, как настроить почтовый сервер с помощью PostfixAdmin, поделитесь им с друзьями в социальных сетях, используя кнопки слева, или просто оставьте ответ ниже. Спасибо.

      В этом руководстве вы узнаете, как установить и настроить Postfix на своем сервере, чтобы другие приложения, установленные на этом сервере, могли использовать Postfix для отправки электронных писем.

      Зачем вам нужен Postfix?

      Если вы уже используете стороннего поставщика услуг, такого как Sendgrid, Pepipost и т. д., для отправки электронных писем, то вам действительно не нужен Postfix. Но если вы не пользуетесь услугами третьей стороны и хотите настроить что-то на своем локальном сервере, что поможет вам отправлять электронные письма в больших масштабах, вы можете использовать для этой цели Postfix.

      Postfix — это один из самых популярных агентов передачи почты (MTA) с открытым исходным кодом, который маршрутизирует и доставляет почту.

      Предпосылки

      Обратите внимание, что имя хоста вашего компьютера должно совпадать с вашим доменным именем. И, чтобы проверить то же самое, вы можете запустить следующую команду:

      Шаг 1. Установите Postfix

      Сначала подтвердите свою версию сервера Debian с помощью приведенной ниже команды lsb:

      Вывод должен показывать Debian 10.

      Следующим шагом является установка двух важных пакетов mailutils, которые включают в себя программы, необходимые для работы Postfix, и сам постфикс.

      Давайте сначала обновим саму базу данных пакетов:

      Затем установите mailutils, пакет, который требуется postfix для правильной работы.

      Наконец, установите сам пакет postfix:

      После загрузки всего пакета вы увидите экран, подобный приведенному ниже, на котором вам будет предложено выбрать тип конфигурации. Нажмите Enter, чтобы перейти к следующему экрану, на котором показаны параметры для выбора.

      В основном есть 4 конфигурации

      • Интернет-сайт
      • Интернет через смартхост
      • Спутниковая система
      • Только локально

      По умолчанию используется Интернет-сайт, который также рекомендуется использовать в этом руководстве. Итак, нажмите TAB, затем ENTER, чтобы продолжить установку.

      Выберите Интернет-сайт и нажмите OK. вам будет предложено ввести системное почтовое имя, которое на самом деле является доменным именем. Введите свой домен (который вы сопоставили с этим сервером ранее в начале этого руководства) и нажмите OK.

      Теперь ваш постфикс успешно установлен на вашем компьютере с Debian 10. Теперь следующие шаги — настроить Postfix, изменив его настройки.

      Шаг 2. Настройка Postfix в качестве SMTP-сервера только для отправки

      На этом шаге вы настроите Postfix как SMTP-сервер только для отправки, т. е. он должен обрабатывать запросы на отправку электронной почты только с сервера, на котором он работает, то есть с локального хоста.

      Для этого необходимо настроить Postfix для прослушивания только интерфейса обратной связи, виртуального сетевого интерфейса, который сервер использует для внутренней связи. Чтобы внести эти изменения, вам нужно открыть основной файл конфигурации Postfix main.cf. Вы можете использовать свой любимый редактор vim или nano, чтобы открыть его.

      Вам необходимо внести следующие изменения в конфигурацию. Найдите следующие разделы и внесите изменения в соответствии с приведенными ниже инструкциями:

      Inet_interface в main.cf используется для управления адресами, которые postfix прослушивает для входящих адресов, указание этого параметра как loopback-only означает, что соединение может исходить только с той машины, на которой установлен postfix.

      После изменения файла сохраните его. И перезапустить постфикс

      Еще один параметр, который вам необходимо изменить, — это mydestination, который используется для указания списка доменов, которые доставляются через транспорт доставки почты local_transport.По умолчанию значения аналогичны следующим:

      Измените приведенные выше значения на предложенные ниже:

      Сохраните и закройте файл.

      Теперь вы успешно настроили постфикс.

      Шаг 3. Тестирование SMTP-сервера

      Теперь мы проверим, может ли наш SMTP-сервер отправлять электронные письма на внешнюю учетную запись, используя команду mail пакета mailutils.

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

      Проверьте папку "Входящие" или "Спам" в почтовом ящике, куда вы отправили электронное письмо.

      Вы также можете проверить журналы отправки электронной почты в /var/log/mail.log

      Заключение

      Вот и все, вы успешно установили и настроили Postfix в качестве SMTP-сервера только для отправки. Пожалуйста, не стесняйтесь делиться своими знаниями ниже в комментариях. Мы хотели бы добавить их как часть этого урока. Далее, если вы перейдете к настройке отправки почты Postfix с использованием внешнего SMTP-сервера, который представляет собой расширенное руководство по отправке почты.

      Читайте также:

Профиль службы: dovecot
Каталог файла конфигурации /etc/dovecot
Сценарий /etc/init.d/dovecot
Журнал файл /var/log/mail.log
Сценарий /etc/init.d/dovecot
Номер портаTCP: 110 (POP3), 143 (IMAP), 993 (IMAPS), 995 (POP3S)