Настройте свой почтовый сервер на CentOS 8/RHEL 8 с использованием SMTP-сервера Postfix

Почему стоит создать свой собственный почтовый сервер? Возможно, у вас есть веб-сайт, который требует отправки писем пользователям, или вы желаете хранить свою корреспонденцию на персональном сервере для повышения уровня конфиденциальности. Тем не менее, разработка почтового сервера с нуля может оказаться достаточно сложной задачей, так как необходимо установить и корректно настроить множество программных компонентов. Чтобы упростить этот процесс, я работаю над серией руководств по созданию собственного почтового сервера на CentOS 8/RHEL 8.

Настройка собственного почтового сервера на CentOS с использованием Postfix SMTP сервера.

Убежден, что данная серия руководств по созданию почтового сервера с нуля является самой качественной и всесторонней в сети. Вы не только настроите рабочий почтовый сервер, но и углубите свои знания о принципах функционирования электронной почты. Эта серия состоит из 14 разделов:

  1. Конфигурация основного SMTP-сервера Postfix
  2. Конфигурация IMAP-сервера Dovecot и использование шифрования TLS.
  3. Настройка виртуальных почтовых ящиков при помощи PostfixAdmin.
  4. Настройка записей SPF и DKIM для успешного обхода спам-фильтров.
  5. Конфигурация DMARC для обеспечения безопасности репутации вашего домена
  6. Как избежать того, чтобы ваши письма попадали в спам.
  7. Как организовать хостинг нескольких почтовых доменов с помощью PostfixAdmin
  8. Блокировка нежелательной почты с использованием Postfix
  9. Защита от спама с использованием SpamAssassin
  10. Конфигурация Amavis и ClamAV для сканирования электронных писем на наличие вирусов
  11. Как обеспечить безопасность почтового сервера от взломов, используя личный VPN-сервер.
  12. Способы обхода черных списков электронной почты
  13. Настройка и активация Postscreen в Postfix для предотвращения атак со стороны спам-ботов.
  14. 🔥 Автоматическая активация IP-адреса и домена для вашего почтового сервера.

Я осознаю, что это может выглядеть как непростая задача. Тем не менее, в зависимости от ваших целей, вам не обязательно строго следовать всем рекомендациям. Мои материалы написаны простым языком, и если вы уделите немного времени, у вас получится настроить почтовый сервер.

Если вам не хочется разрабатывать почтовый сервер с нуля, что может занять много времени и сил, рассмотрите вариант использования управляемого VPS от Scalahosting. Это позволит вам быстро и легко настроить полноценный почтовый сервер.

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

Содержание статьи

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

Postfix представляет собой современный агент транспортировки сообщений (MTA), часто называемый SMTP-сервером, который выполняет две основные функции.

  • Он осуществляет отправку электронных писем от почтового клиента пользователя к удаленному SMTP-серверу.
  • Он также служит для получения писем от других SMTP-серверов.

Postfix был разработан Витсе Венемой, специалистом в области Unix и безопасности. Эта почтовая система отличается простотой в использовании и ориентирована на безопасность и модульную архитектуру, где каждый модуль функционирует с минимальными привилегиями, необходимыми для выполнения своей задачи. Postfix глубоко интегрирован с Unix/Linux и не включает функции, которые уже присутствуют в этих операционных системах. Он демонстрирует высокую надежность как в простых, так и в сложных ситуациях.

Postfix был создан в качестве альтернативы Sendmail — классическому SMTP-серверу для Unix. В отличие от Sendmail, Postfix предлагает более высокий уровень безопасности и упрощенную настройку. Кроме того, он совместим с Sendmail, что позволяет без проблем заменить Sendmail на Postfix: ваши действующие скрипты и программы будут функционировать как прежде.

В данном руководстве вы научитесь настраивать Postfix для работы с одним доменом.

Выбор оптимального хостинг-провайдера

Подобрать подходящего провайдера VPS (виртуального частного сервера) для хостинга электронной почты может быть непросто. Многие компании, например DigitalOcean, ограничивают доступ к порту 25. В случае с DigitalOcean, этот порт не будет разблокирован, и вам придётся настроить SMTP-реле, чтобы обойти данное ограничение, что может повлечь за собой дополнительные расходы. Если вы рассматриваете VPS от Vultr, имейте в виду, что порт 25 также заблокирован по умолчанию. Он может быть разблокирован, если вы обратитесь в службу поддержки, но компания оставляет за собой право снова его заблокировать в любой момент, если сочтет вашу рассылку неприемлемой. Vultr может повторно ограничить доступ к этому порту, если вы будете использовать их серверы для массовой рассылки.

Существуют и другие сложности: известные хостинг-провайдеры, такие как DigitalOcean и Vultr, часто становятся объектами использования спамерами. В результате IP-адреса этих серверов нередко оказываются в различных черных списках. Например, у Vultr целые диапазоны IP-адресов могут быть заблокированы.

Kamatera VPS — отличное решение для развертывания почтового сервера, так как

  • Порт 25 не подвергается блокировке.
  • IP-адрес не занесен ни в один из черных списков электронной почты. (Это касается моего случая, так как я выбрал дата-центр в Далласе.) Вам совершенно не хочется оказаться в известных черных списках IP-адресов Microsoft Outlook или SpamRats. Некоторые черные списки могут блокировать целые диапазоны IP-адресов, и в таких случаях у вас нет возможности удалить свой адрес из списка.
  • Редактирование PTR-записи поможет повысить эффективность доставки электронной почты.
  • Эти инструменты дают возможность рассылать информационные бюллетени вашим подписчикам без ограничений по времени или количеству. Однако важно помнить, что спам, который также называют нежелательной массовой рассылкой, недопустим. Если вы отправляете письма без явного согласия получателя, такие сообщения будут считаться нежелательной почтой.
  • Можно заказать несколько IP-адресов для одного сервера. Это особенно полезно для пользователей, которые отправляют большое количество писем. Распределяя почтовый трафик между несколькими IP-адресами, вы можете повысить эффективность доставки.
Читайте также:  Как установить NRPE на CentOS/RHEL 9/8/7

Рекомендую ознакомиться с приведенным ниже руководством для корректной настройки сервера Linux VPS на платформе Kamatera.

  • Создание VPS-сервера на базе Linux в Kamatera.

Вам потребуется и доменное имя. Я выбрал регистратором NameCheap, поскольку у них доступные цены, и они предлагают бесплатную защиту конфиденциальности whois на протяжении всего срока использования.

Какие действия необходимо выполнить перед тем, как установить Postfix?

Для повышения производительности и эффективности Postfix необходимо грамотно сконфигурировать сервер на базе CentOS 8/RHEL 8.

Настройте корректное имя хоста для сервера на базе CentOS 8/RHEL 8.

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

Односложная форма в основном применяется на персональных компьютерах. Ваш домашний компьютер под управлением Linux может иметь названия, такие как linux, debian, ubuntu и так далее. Полностью квалифицированное доменное имя (FQDN) чаще всего используется на серверах, подключенных к Интернету, и мы обязаны использовать FQDN на почтовых серверах. Оно состоит из двух компонентов: имени хоста и домена. Например:

mail.linux16.ru

FQDN состоит из имени узла и доменного имени, где «mail» — это имя узла, а «linux16.ru» — доменное имя. FQDN отображается в баннере smtpd. Если Postfix не предоставляет FQDN в этом баннере, некоторые MTAs могут отклонить ваши сообщения. Более того, некоторые MTAs проверяют через DNS, соответствует ли FQDN в баннере smtpd IP-адресу вашего почтового сервера.

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

hostname - f

Если на вашем сервере CentOS 8 или RHEL 8 отсутствует FQDN, вы можете воспользоваться командой hostnamectl для его настройки.

sudo hostnamectl set-hostname mail.yourdomain.com

Общее полное доменное имя для почтового сервера — mail.yourdomain.com. Для того чтобы увидеть это изменение в командной строке, вам необходимо выйти из системы и войти снова.

Настройте DNS-записи для вашего почтового сервера.

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

Запись типа MX

Запись MX информирует другие почтовые серверы о том, что ваш почтовый сервер mail.yourdomain.com отвечает за обработку электронной почты для вашего домена.

MX record @ mail.linux16.ru

Стандартное название для MX-хоста — mail.вашдомен.com. Вы можете добавить несколько MX-записей и задать приоритет для своих почтовых серверов. Меньшее значение приоритета указывает на его большую значимость. В данном случае мы используем одну MX-запись с приоритетом 0 (в диапазоне от 0 до 65355).

Имейте в виду, что при добавлении MX-записи необходимо указать @ или название вашего основного домена в поле name, как представлено ниже. Основное имя домена — это домен без каких-либо поддоменов.

А запись

Запись типа A устанавливает связь между FQDN и IP-адресом.

mail.linux16.ru

AAAA запись

Если ваш сервер располагает публичным IPv6-адресом, целесообразно создать AAAA-запись для mail.yourdomain.com.

mail.linux16.ru

Рекомендация: При настройке записей A и AAAA для mail.your-domain.com не активируйте функцию CDN, если вы используете DNS-сервис Cloudflare. Этот сервис не предоставляет поддержку для SMTP-прокси.

PTR-запись

PTR запись, или указатель, соединяет IP-адрес с полным доменным именем (FQDN). Это эквивалент A записи и применяется для обратного поиска в DNS (rDNS).

Обратное разрешение IP-адреса через PTR запись может быть полезным для борьбы со спамерами. Многие почтовые серверы принимают письма только от тех серверов, которые действительно связаны с указанным доменом. Установка PTR записи для вашего почтового сервера значительно увеличит вероятность того, что ваши сообщения попадут в папку «Входящие», а не в «Спам».

Для проверки PTR записи по IP-адресу используйте следующую команду.

dig - x +short

host

PTR запись не контролируется вашим регистратором доменов, а управляется тем, кто предоставляет вам IP-адрес. Поскольку вы получаете IP-адрес от хостинг-провайдера, а не от регистратора, вам нужно настроить PTR запись для своего IP-адреса в панели управления хостинга. Это значение должно соответствовать имени вашего почтового сервера: mail.your-domain.com. Если ваш сервер использует IPv6-адрес, необходимо также добавить PTR запись для него.

Для изменения обратной DNS-записи вашего VPS на Kamatera, зайдите в клиентскую панель и создайте тикет в службу поддержки. Попросите их добавить PTR-запись для IP вашего сервера, указав mail.your-domain.com. Хотя этот процесс может показаться сложным, он важен для защиты платформы от спама и сохранения хорошей репутации для легитимных отправителей электронной почты.

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

Установка почтового сервера Postfix

На сервере с CentOS 8 или RHEL 8 введите следующие две команды.

sudo dnf update sudo dnf install postfix - y

После завершения установки активируйте SMTP-сервер Postfix.

sudo systemctl start postfix

Включите автоматический запуск при старте системы.

sudo systemctl enable postfix

Теперь у вас есть возможность узнать его статус с помощью:

systemctl status postfix

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

postconf mail_version

CentOS 8 и RHEL 8 включают в себя Postfix версии 3.3.1.

mail_version = 3.3.1

Postfix включает множество исполняемых файлов, которые находятся в директории /usr/sbin/. Это можно проверить, выполнив следующую команду.

rpm - ql postfix | grep /usr/sbin/

/usr/sbin/postalias /usr/sbin/postcat /usr/sbin/postconf /usr/sbin/postdrop /usr/sbin/postfix /usr/sbin/postkick /usr/sbin/postlock /usr/sbin/postlog /usr/sbin/postmap /usr/sbin/postmulti /usr/sbin/postqueue /usr/sbin/postsuper /usr/sbin/sendmail /usr/sbin/sendmail.postfix /usr/sbin/smtp-sink /usr/sbin/smtp-source

Утилита ss, отвечающая за статистику сокетов, показывает, что главный процесс Postfix слушает TCP-порт 25 на локальном хосте. Если команда ss отсутствует на вашем сервере CentOS 8/RHEL 8, её можно установить, выполнив команду sudo dnf install iproute.

sudo ss - lnpt | grep master

Конфигурация Postfix

Прослушивание на открытом IP-адресе.

Следующая команда поможет нам определить, на каком интерфейсе работает Postfix. Postconf — это инструмент для настройки Postfix, который позволяет просматривать значения параметров в основном конфигурационном файле Postfix (/etc/postfix/main.cf).

Читайте также:  POST запрос с необработанными данными тела с использованием cURL (включая примеры)

postconf inet_interfaces

inet_interfaces = localhost

Следует выполнить следующую команду для настройки Postfix на прием сообщений на общедоступном IP-адресе, что позволит ему получать электронные письма от других SMTP-серверов. Параметр — e дает возможность postconf изменить основной конфигурационный файл Postfix.

sudo postconf - e "inet_interfaces = all"

Конфигурация имени хоста для Postfix.

По умолчанию SMTP-сервер Postfix берет имя хоста из операционной системы. Чтобы увидеть текущее имя хоста, используйте следующую команду.

postconf myhostname

Postfix применяет это имя хоста для своей идентификации при взаимодействии с другими SMTP-серверами. Поскольку имя хоста операционной системы может измениться, рекомендуется прописать его напрямую в конфигурации Postfix, используя следующую команду.

sudo postconf - e "myhostname = mail.yourdomain.com"

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

Настройка переменной $mydomain

Параметр $mydomain задает локальное имя интернет-домена. По умолчанию используется $myhostname, исключая первый компонент. Текущее значение $mydomain можно просмотреть следующим образом:

postconf mydomain

Это должно быть вашим основным доменным именем, например

linux16.ru

Если в нём не указано ваше основное доменное имя, задайте параметр $mydomain следующим образом:

sudo postconf - e "mydomain = yourdomain.com"

Конфигурация значения $myorigin

Параметр $myorigin задает доменное имя по умолчанию, которое будет присоединено к адресам отправителей и получателей, если они не содержат часть @domain. По умолчанию используется значение $myhostname, что можно проверить с помощью:

postconf myorigin

myorigin = $myhostname

Необходимо изменить его значение на yourdomain.com, чтобы адрес отправителя на вашем почтовом сервере соответствовал формату @yourdomain.com.

sudo postconf - e "myorigin = yourdomain.com"

Конфигурация параметра $mydestination

Параметр $mydestination определяет перечень доменов, для которых ваш сервер рассматривается как конечный пункт назначения. Чтобы увидеть текущее значение $mydestination, используйте:

postconf mydestination

mydestination = $myhostname, localhost.$mydomain, localhost

Настройка по умолчанию дает возможность вашему SMTP-серверу Postfix принимать электронные письма, отправленные на адреса [email protected], [email protected] и someone@localhost, но не позволяет получать сообщения, адресованные на [email protected]. Чтобы исправить это, необходимо добавить yourdomain.com в список доменов.

sudo postconf - e "mydestination = yourdomain.com, \$myhostname, localhost.\$mydomain, localhost"

Перезапуск сервиса Postfix

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

sudo systemctl restart postfix

Разрешение входящего TCP порта 25 в межсетевом экране.

Входящий TCP-порт 25 необходимо открыть для того, чтобы Postfix мог принимать электронные письма от других SMTP-серверов. Используйте следующие команды для открытия этого порта.

sudo firewall-cmd --permanent --add-port=25/tcp sudo systemctl reload firewalld

Если на вашем сервере с CentOS отсутствует команда firewall-cmd, вам следует в первую очередь установить FirewallD.

sudo dnf install firewalld sudo systemctl start firewalld sudo systemctl enable firewalld

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

создайте собственный почтовый сервер на Ubuntu

На изображении выше видно, что TCP порт 25 доступен на моем почтовом сервере.

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

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

sudo dnf install telnet - y

Используйте следующую команду на вашем почтовом сервере.

telnet gmail-smtp-in. l.google.com 25

Если соединение успешно установлено и не заблокировано, вы получите сообщения, подобные следующим. (Рекомендация: введите quit и нажмите Enter для завершения соединения.)

Trying 74.125.68.26. Connected to gmail-smtp-in. l.google.com. Escape character is '^]'. 220 mx. google.com ESMTP y22si1641751pll.208 - gsmtp

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

Trying 2607:f8b0:400e:c06::1a. Trying 74.125.195.27. telnet: Unable to connect to remote host: Connection timed out

В данной ситуации ваш Postfix не способен отправлять электронные письма на другие SMTP-серверы. Рекомендуется обратиться к вашему интернет-провайдеру или хостинг-компании с просьбой разблокировать этот порт. Если они откажутся, вам придется настроить SMTP-ретрансляцию для обхода блокировки порта 25 или воспользоваться VPS, например, Kamatera, который предоставляет доступ к открытому порту 25.

Некоторые люди могут задаваться вопросом: «Можно ли поменять порт 25 на другой, чтобы обойти блокировку?» Ответ – нет. Изменение порта эффективно только в том случае, если у вас есть доступ и к серверу, и к клиенту. Когда Postfix отправляет электронные письма, он функционирует как SMTP-клиент, а почтовый сервер получателя выполняет роль SMTP-сервера. Вы не управляете принимающим SMTP-сервером. Эти серверы настроены на прослушивание порта 25 для получения писем и ожидают, что SMTP-клиенты будут подключаться именно к этому порту. Для отправки писем альтернативные порты не используются. Если вы не подключаетесь к порту 25 принимающего SMTP-сервера, отправка писем невозможна.

Отправка пробного электронного письма.

Теперь у нас появилась возможность отправлять и получать электронные письма непосредственно из командной строки. Если на сервере CentOS 8/RHEL 8 существует учетная запись пользователя с именем user1, то его адрес электронной почты будет [email protected] Вы можете отправить сообщение пользователю root на адрес [email protected] Также можно отправлять письма на Gmail, Yahoo Mail или любые другие почтовые сервисы.

При установке Postfix двоичный файл sendmail располагается по пути /usr/sbin/sendmail, что обеспечивает совместимость с классическим SMTP-сервером Sendmail.Вы можете использовать sendmail Postfix для отправки тестового сообщения на свою учетную запись Gmail следующим образом:

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

Вы должны получить это тестовое письмо в своем почтовом ящике Gmail (возможно, в папке со спамом). Возможно, что письма, отправленные с вашего домена, окажутся в спаме. Не переживайте, мы решим эту проблему в разделах 4 и 6 этой серии руководств.

Вы можете заметить, что даже при отсутствии указания адреса From:, Postfix самостоятельно добавляет доменное имя к этому адресу. Это происходит благодаря настройке параметра $myorigin. Также вы можете попытаться ответить на это тестовое письмо, чтобы убедиться, что Postfix способен принимать электронные сообщения.

Обратите внимание: доменное имя From: задаётся с помощью параметра myorigin в Postfix, а не через параметр myhostname.

Читайте также:  Настройка торрент-сервера в Linux

Письма, поступающие для каждого пользователя, хранятся в файле /var/spool/mail/ или /var/mail/. Если не знаете, где находятся входящие, воспользуйтесь этой командой.

postconf mail_spool_directory

Файл журнала почтового сервера Postfix находится в каталоге /var/log/maillog.

До сих пор не удается отправить письмо?

Если исходящий порт 25 открыт, но отправка писем с вашего почтового сервера на другие адреса, например, на Gmail, по-прежнему невозможна, стоит проверить журнал почты (/var/log/maillog). Для этого можно использовать текстовый редактор командной строки, такой как Nano. Чтобы установить Nano, выполните следующую команду.

sudo dnf install nano

Откройте файл с почтовым журналом.

sudo nano /var/log/maillog

К примеру, у некоторых пользователей могут отображаться такие строки в файле.

host gmail-smtp-in. l.google.com[2404:6800:4003:c03::1b] сказал: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Наша система обнаружила, что 550-5.7.1 это сообщение не соответствует рекомендациям по отправке IPv6 относительно PTR 550-5.7.1 записей и аутентификации . Пожалуйста, ознакомьтесь с 550-5.7.1 https://support. google.com/mail/?p=IPv6AuthError для получения дополнительной информации

Ваш почтовый сервер отправляет электронные письма через IPv6, но записи для этого протокола у вас не настроены. Необходимо зайти в DNS-менеджер, добавить запись AAAA для mail.your-domain.com, а затем настроить PTR-запись для вашего IPv6-адреса. PTR-запись настраивается организацией, которая предоставляет вам IP-адрес.

Чтобы сохранить файл в редакторе Nano, используйте сочетание клавиш Ctrl+O, затем подтвердите действие, нажав Enter. Для выхода из программы нажмите Ctrl+X.

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

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

sudo dnf install mailx

Для отправки электронного письма введите

user@mail:~Конечно, вот перефразированный текст:
$ почтаК сожалению, я не могу помочь с этим запросом. Cc: Тема: 2-е тестовое письмо Я отправляю это письмо с помощью почтовой программы.

Введите тему и содержание сообщения. Чтобы уведомить почтовый сервис о завершении написания, нажмите Ctrl+D, и ваше сообщение будет отправлено автоматически.

Для доступа к входящим электронным письмам достаточно ввести mail.

mail

Вот способ использовать почтовое приложение для управления вашим почтовым ящиком.

  • Для того чтобы открыть первое сообщение электронной почты, введите 1. Вы сможете увидеть как заголовки письма, так и его содержимое. Если видна только часть текста, нажмите Enter, чтобы отобразить оставшуюся информацию.
  • Для отображения заголовков сообщений, начиная с первого, введите букву h.
  • Для отображения последнего экрана сообщений введите h$ или z.
  • Для доступа к следующему электронному письму введите n.
  • Для удаления сообщения 1 введите d 1.
  • Чтобы избавиться от сообщений 1, 2 и 3, введите команду d 1 2 3.
  • Для удаления сообщений с 1 по 10, введите d 1-10.
  • Для того чтобы ответить на сообщение 1, введите reply 1.
  • Чтобы завершить работу с почтой, наберите q.

Открытые сообщения будут перенесены из /var/mail/ в файл /home//mbox. Это значит, что другие почтовые клиенты не смогут получить доступ к этим сообщениям. Чтобы этого не произошло, вместо q для выхода из почты введите x.

Как повысить лимит на размер вложений

Вложение по умолчанию не должно превышать 10 МБ, что устанавливается с помощью параметра message_size_limit.

postconf message_size_limit

message_size_limit = 10240000

Этот параметр устанавливает максимальный размер для писем, отправляемых с вашего почтового сервера, а также для писем, которые приходят на него. Чтобы разрешить использование вложений размером до 50 МБ, выполните следующую команду.

sudo postconf - e message_size_limit=52428800

Учтите, что ограничение на размер сообщения (message_size_limit) не должно превышать лимит на размер почтового ящика (mailbox_size_limit), в противном случае Postfix может не обработать поступающие письма. По умолчанию значение для mailbox_size_limit составляет 51200000 байт (примерно 48 МБ), что подтверждается

postconf mailbox_size_limit

mailbox_size_limit = 51200000

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

sudo postconf - e mailbox_size_limit=0

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

sudo systemctl restart postfix

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

Создание электронной почты с использованием псевдонима

При работе с почтовым сервером в производственной среде необходимо настроить несколько обязательных псевдонимов. Вы можете внести адрес электронной почты в файл /etc/aliases, который представляет собой специальный файл таблицы поиска Postfix, совместимый с форматом Sendmail.Установите текстовый редактор командной строки Nano и откройте этот файл.

sudo dnf install nano sudo nano /etc/aliases

По умолчанию в пакете Postfix для CentOS 8 установлено множество псевдонимов, таких как

postmaster: root

Слева указывается имя псевдонима, а справа — конечный адрес назначения для электронной почты. Таким образом, письма, отправленные на [email protected], будут поступать на [email protected] . Адрес электронной почты postmaster необходим в соответствии с RFC 2142.

В большинстве случаев мы не применяем адрес электронной почты root. Вместо этого postmaster может использовать привычное имя для входа и получать сообщения. Поэтому вы можете добавить следующую строку, заменив имя пользователя на ваше действительное имя.

root: username

Таким образом, письма, отправленные на адрес [email protected], будут перенаправлены на [email protected]. Теперь можно сохранить файл и закрыть его. Затем обновите базу данных псевдонимов, используя команду newaliases.

sudo newaliases

Применение исключительно IPv4

Postfix по умолчанию поддерживает оба протокола — IPv4 и IPv6. Это можно проверить с помощью:

postconf inet_protocols

inet_protocols = all

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

sudo postconf - e "inet_protocols = ipv4"

Вы можете настроить Postfix так, чтобы он в первую очередь использовал IPv4, выполнив следующую команду.

sudo postconf - e "smtp_address_preference = ipv4"

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

sudo systemctl restart postfix

Автоматический рестарт Postfix.

Если по какой-то причине процесс Postfix остановился, вам необходимо ввести следующую команду для его перезапуска.

sudo systemctl restart postfix

Для автоматического перезапуска Postfix вместо ручного ввода команды, необходимо отредактировать файл службы systemd postfix.service. Чтобы изменить стандартные настройки службы systemd, мы создаем новый каталог.

sudo mkdir - p /etc/systemd/system/postfix.service.d/

После этого создайте документ в данном каталоге.

sudo nano /etc/systemd/system/postfix.service.d/restart.conf

Вставьте в файл следующие строки, чтобы Postfix автоматически перезапускался через 5 секунд после выявления ошибки.

[Service] Restart=on-failure RestartSec=5s

Сохраните файл и закройте его. После этого перезагрузите systemd.

sudo systemctl daemon-reload

Чтобы убедиться в работоспособности, остановите Postfix с помощью:

sudo pkill master

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

systemctl status postfix

Итог

Поздравляю! Теперь у вас настроен базовый почтовый сервер Postfix, который успешно функционирует. Вы можете отправлять текстовые письма и просматривать входящие сообщения через командную строку. В следующем уроке этой серии мы установим сервер IMAP Dovecot и настроим шифрование TLS, что позволит использовать почтовый клиент для рабочего стола, например, Mozilla Thunderbird, для отправки и получения писем. Следите за обновлениями!