Как установить и настроить Postfix как SMTP-сервер только для отправки в Debian 10

Вступление

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

Почему вы хотите это сделать?

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

В этом руководстве вы установите и настроите Postfix как SMTP-сервер только для отправки в Debian 10.

Предпосылки

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

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

Шаг 1 - Установка Postfix

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

Сначала обновите базу данных пакетов:

sudo apt update

Далее установите + mailtuils +:

sudo apt install mailutils

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

sudo apt install postfix

В конце процесса установки вы увидите окно, похожее на то, что на изображении ниже:

изображение: https: //assets.digitalocean.com/articles/smtp_deb_10/smtp_initial.png [Экран начальной настройки]

Нажмите + ENTER для продолжения.

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

изображение: https: //assets.digitalocean.com/articles/smtp_deb_10/smtp_internet.png [Экран выбора конфигурации]

Нажмите + ENTER для продолжения.

После этого у вас появится другое окно для установки * Системного почтового имени *:

изображение: https: //assets.digitalocean.com/articles/smtp_deb_10/smtp_mail_name.png [Выбор имени системной почты]

  • Системное почтовое имя * должно совпадать с именем, которое вы присвоили серверу при его создании. Если он показывает поддомен, такой как + subdomain.example.com +, измените его на просто + example.com +. Когда вы закончите, нажмите + TAB, затем` + ENTER`.

Теперь у вас установлен Postfix и вы готовы изменить его параметры конфигурации.

Шаг 2 - Настройка Postfix

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

Чтобы это произошло, необходимо настроить Postfix для прослушивания только через интерфейс loopback, интерфейс виртуальной сети, который сервер использует для внутренней связи. Чтобы внести изменения, откройте основной файл конфигурации Postfix с помощью + nano + или https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-9#step-six-%E2% 80% 94-Complete-Option-Configuration [ваш любимый текстовый редактор]:

sudo nano /etc/postfix/main.cf

Открыв файл, прокрутите вниз, пока не увидите следующий раздел:

/etc/postfix/main.cf

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .

Измените строку, которая читает + inet_interfaces = all на` + inet_interfaces = loopback-only`:

/etc/postfix/main.cf

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces =
. . .

Другая директива, которую вам нужно изменить, - это + mydestination +, которая используется для указания списка доменов, которые доставляются с помощью транспорта доставки почты + + local_transport +. По умолчанию значения похожи на эти:

/etc/postfix/main.cf. . .
mydestination = $myhostname, , localhost.com, , localhost
. . .

Http://www.postfix.org/postconf.5.html#mydestination[recommended defaults] для этой директивы даны в блоке кода ниже, поэтому измените свой, чтобы он соответствовал:

/etc/postfix/main.cf. . .
mydestination = $myhostname,
. . .

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

Наконец, перезапустите Postfix.

sudo systemctl restart postfix

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

На этом шаге вы проверите, может ли Postfix отправлять электронные письма на внешнюю учетную запись электронной почты, используя команду + mail +, которая является частью пакета + mailutils +, который вы установили на шаге 1.

Чтобы отправить тестовое электронное письмо, введите:

echo "This is the body of the email" | mail -s "This is the subject line"

Выполняя свои собственные тесты, вы можете использовать текст тела и темы как есть, или изменить их по своему вкусу. Однако вместо ++ используйте действительный адрес электронной почты. Доменом может быть + gmail.com +, + fastmail.com +, + yahoo.com + или любой другой поставщик услуг электронной почты, который вы используете.

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

Обратите внимание, что в этой конфигурации адрес в поле * From * для тестовых электронных писем, которые вы отправляете, будет + @ +, где * sammy * - ваше имя пользователя без полномочий root, а домен - имя хоста сервера. Если вы измените свое имя пользователя, адрес * From * также изменится.

Шаг 4 - Пересылка системной почты

Последнее, что мы хотим настроить, - это переадресация, поэтому вы будете получать электронные письма, отправленные * root * в системе на ваш личный внешний адрес электронной почты.

Чтобы настроить Postfix так, чтобы сгенерированные системой электронные письма отправлялись на ваш адрес электронной почты, вам нужно отредактировать файл + / etc / aliases +. Откройте этот файл сейчас:

sudo nano /etc/aliases

Полное содержимое файла при установке Debian 10 по умолчанию выглядит следующим образом:

/ и т.д. / псевдонимы

mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root

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

/ и т.д. / псевдонимы

mailer-daemon: postmaster
postmaster:    root

. . .

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

sudo newaliases

Вы можете проверить его работоспособность, отправив электронное письмо на учетную запись * root *, используя:

echo "This is the body of the email" | mail -s "This is the subject line" root

Вы должны получить письмо на свой адрес электронной почты. Если нет, проверьте папку со спамом.

Заключение

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

Если вы хотите получать уведомления со своего сервера на один адрес, то пометка писем, помеченных как спам, не представляет особой проблемы, поскольку вы можете создать обходной путь для белого списка. Однако, если вы хотите отправлять электронные письма потенциальным пользователям сайта (например, электронные письма с подтверждением для регистрации на доске объявлений), вам определенно следует настроить записи SPF и DKIM, чтобы сообщения вашего сервера с большей вероятностью рассматривались как законные.

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

Related