Настройка почтового сервера на Rocky Linux 9 или Alma Linux 9 с использованием Postfix SMTP

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

Запустите собственный почтовый сервер на CentOS – SMTP сервер Postfix.

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

  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 для предотвращения атаки спам-ботов.

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

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

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

Postfix

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

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

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

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

На этом курсе вы освоите настройку Postfix для работы с одним доменом.

Определение оптимального провайдера хостинга

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

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

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

  • Порт 25 не заблокирован.
  • IP-адрес не числится в черных списках электронной почты. (По крайней мере, это так в моем случае, так как я выбрал дата-центр в Далласе.) Вам точно не следует попадать в черный список IP-адресов Microsoft Outlook или SpamRats. Некоторые черные списки могут блокировать целые диапазоны IP-адресов, и в таких ситуациях нет возможности удалить свой IP из списка.
  • Редактирование записи PTR поможет повысить эффективность доставки электронной почты.
  • Эти инструменты дают возможность рассылать информационные сообщения вашим подписчикам через электронную почту без каких-либо временных ограничений. Имейте в виду, что отправка спама, то есть нежелательных массовых писем, строго запрещена. Если вы направляете сообщения людям, которые не дали вам явного согласия на их получение, это считается нежелательной почтой.
  • Для одного сервера можно заказать несколько IP-адресов. Это особенно полезно тем, кто планирует отправлять большое количество писем. Распределив трафик электронной почты между разными IP-адресами, вы сможете повысить уровень доставляемости ваших писем.

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

  • Как запустить VPS сервер на базе Linux с помощью Kamatera.

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

Установите имя вашего хоста и настройте записи DNS.

Для оптимизации работы Postfix и достижения его максимальной эффективности важно правильно настроить сервер на базе Rocky Linux 9 или Alma Linux 9.

Читайте также:  Конфигурация авторитетного DNS-сервера BIND на Ubuntu 22.04 и 20.04

Настройте корректное имя хоста для вашего сервера на Rocky Linux 9 или Alma Linux 9.

По умолчанию Postfix применяет имя хоста вашего сервера для своей идентификации при общении с другими MTA. Имя хоста может быть представлено в двух вариантах:

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

mail.linux16.ru

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

Введите команду ниже, чтобы отобразить FQDN вашего хостнейма.

hostname - f

Если ваш сервер на Rocky Linux 9 или Alma Linux 9 ещё не настроен с полным доменным именем (FQDN), вы можете воспользоваться командой hostnamectl для его установки.

sudo hostnamectl set-hostname mail.yourdomain.com

Стандартный FQDN для вашего почтового сервера — mail.yourdomain.com. Чтобы отобразить это обновление в командной строке, необходимо выйти из системы и войти снова.

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

Перейдите на сайт вашего DNS-хостинга (чаще всего это ваш регистратор доменов, например, NameCheap), чтобы добавить записи DNS.

MX-запись

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

MX-запись @ mail.linux16.ru

Общее название для хоста MX — mail.yourdomain.com. Вы можете добавить несколько MX-записей и задать приоритет для ваших почтовых серверов. Чем меньше число, тем выше приоритет. В данном случае мы используем одну MX-запись с приоритетом 0. (0 – 65355)

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

A-запись

A-запись связывает полное доменное имя (FQDN) с соответствующим IP-адресом.

mail.linux16.ru

AAAA-запись

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

mail.linux16.ru

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

Запись типа PTR

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

Обратное разрешение IP-адреса с помощью записи PTR играет важную роль в борьбе со спамом. Многие почтовые трансферы (MTA) принимают сообщения только от серверов, которые подтверждают свою связь с конкретным доменом. Поэтому обязательно настройте запись PTR для вашего почтового сервера, чтобы увеличить вероятность доставки ваших писем в основной почтовый ящик, а не в спам.

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

dig - x +short

host

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

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

Активирование SELinux

В AlmaLinux 9 SELinux изначально выключен. Рекомендую активировать SELinux, так как он прекрасно подходит для почтового сервера. Некоторые пользователи отключают его, когда сталкиваются с проблемами, просто из-за нежелания разбираться в ситуации.

Для проверки состояния SELinux выполните следующую команду:

sestatus

Статус SELinux: включен Точка монтирования SELinuxfs: /sys/fs/selinux Корневая директория SELinux: /etc/selinux Загруженное имя политики: targeted Текущий режим: enforcing Режим из конфигурационного файла: enforcing Статус политики MLS: включен Статус deny_unknown политики: разрешен Проверка защиты памяти: фактическая (безопасная) Максимальная версия политики ядра: 33

В случае, если SELinux в вашей системе не активирован, внесите изменения в файл /etc/selinux/config.

sudo dnf install nano sudo nano /etc/selinux/config

Определите следующую последовательность.

SELINUX=disabled

SELINUX=enforcing

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

sudo shutdown - r now

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

Настройка Postfix

На вашем сервере с Rocky Linux 9 или Alma Linux 9 введите следующие две команды.

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

Rocky Linux 9 и Alma Linux 9 включают в себя Postfix версии 3.5.9.

mail_version = 3.5.9

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 локального хоста. (Если на вашем сервере Rocky Linux 9 или Alma Linux 9 отсутствует команда ss, её можно установить с помощью следующей команды).

sudo dnf install iproute

.)

sudo ss - lnpt | grep master

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

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

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

postconf inet_interfaces

inet_interfaces = localhost

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

Читайте также:  Как установить Go в Ubuntu 20.04 шаг за шагом

sudo postconf - e "inet_interfaces = all"

Настройка имени хоста для Postfix

По умолчанию SMTP-сервер Postfix применяет имя хоста операционной системы. Чтобы просмотреть текущее имя хоста 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

Если на вашем сервере Rocky Linux или Alma Linux отсутствует команда firewall-cmd, необходимо заранее установить FirewallD.

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

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

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

На скриншоте выше видно, что TCP-порт 25 открыт на моем почтовом сервере.

Убедитесь, что порт 25 (исходящий) не заблокирован.

Для успешной отправки электронных писем на другие SMTP-серверы Postfix необходимо открыть исходящий TCP-порт 25. Доступ к этому порту регулируется вашим хостинг-провайдером. Мы можем установить утилиту 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 на другой, чтобы обойти блокировку?» Ответ — нет. Изменение порта возможно только при наличии контроля как над серверной, так и над клиентской стороной. Когда Postfix отправляет письма, он функционирует как SMTP-клиент, в то время как почтовый сервер получателя выполняет роль SMTP-сервера. Вы не имеете доступа к получающему SMTP-серверу. Эти серверы принимают сообщения, прослушивая порт 25, и ожидают подключения SMTP-клиентов именно к этому порту. Другого порта для получения писем не существует. Если вы не подключитесь к порту 25 получающего SMTP-сервера, отправить электронное письмо не получится.

Программа тестового сообщения

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

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

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

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

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

Примечание: Доменное имя From: устанавливается с помощью параметра myorigin в Postfix, а не через параметр myhostname.

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

Читайте также:  Развертывание приложения на Node с использованием PM2

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] said: 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 для отправки писем, но записи IPv6 не были настроены. Вам необходимо зайти в панель управления DNS, создать запись AAAA для mail.your-domain.com, а затем настроить запись PTR для вашего IPv6-адреса. (Запись PTR настраивается той организацией, которая предоставляет вам IP-адрес.)

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

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

Теперь перейдем к установке почтового агента для командной строки (MUA).

sudo dnf install mailx

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

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

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

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

mail

Вот как можно применять почтовое приложение для организации вашего почтового ящика.

  • Для просмотра первого сообщения введите 1. Вам будут показаны заголовки электронной почты и содержание сообщения. Если видна лишь часть текста, нажмите Enter, чтобы открыть оставшуюся часть.
  • Для отображения заголовков сообщений, начиная с первого, введите h.
  • Для отображения финального экрана сообщений введите h$ или z.
  • Для доступа к следующему сообщению введите n.
  • Чтобы удалить первое сообщение, введите d 1.
  • Чтобы стереть сообщения 1, 2 и 3, введите команду d 1 2 3.
  • Для удаления сообщений с первого по десятый введите 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 для Rocky Linux и Alma Linux 8 установлено множество псевдонимов, таких как

postmaster: root

Левая часть представляет собой псевдоним, а правая — это фактический адрес, куда будет отправлено почтовое сообщение. Следовательно, сообщения, адресованные [email protected], будут доставлены на [email protected] Почтовый адрес для постмастера необходим согласно стандарту RFC 2142.

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

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/custom.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, для отправки и получения электронных писем.