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

Вступление

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

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

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

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

Предпосылки

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

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

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

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

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

sudo apt update

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

sudo apt install mailutils

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

sudo apt install postfix

В конце процесса установки вам будет показано окно, похожее на то, что на изображении ниже. По умолчанию используется * Интернет-сайт *. Это рекомендуемая опция для этого урока, поэтому нажмите + TAB, затем` + ENTER`.

image: https: //assets.digitalocean.com/articles/postfix-16.04/zJuFrgI.png? 1 [Выберите Интернет-сайт из меню, затем нажмите TAB, чтобы выбрать <Ok>, затем ENTER]

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

image: https: //assets.digitalocean.com/articles/postfix-16.04/sVEi9SW.png? 1 [Введите имя своего домена, затем нажмите TAB, чтобы выбрать <Ok>, 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 * - ваше имя пользователя в Linux, а домен - имя хоста сервера. Если вы измените свое имя пользователя, адрес * From * также изменится.

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

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

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

sudo nano /etc/aliases

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

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

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. Вы хотите изменить эти настройки, чтобы эти электронные письма перенаправлялись на ваш адрес электронной почты. Для этого отредактируйте файл так:

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

mailer-daemon: postmaster
postmaster:    root

. . .

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

sudo newaliases

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

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

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

Заключение

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

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

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

Related