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

Вступление

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

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

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

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

Предпосылки

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

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

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

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

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

sudo apt-get update

Наконец, установите Postfix. Установка + mailtuils + установит Postfix, а также несколько других программ, необходимых для работы Postfix.

sudo apt install mailutils

В конце процесса установки вы увидите окно, которое выглядит точно так же, как на изображении ниже. По умолчанию используется * Интернет-сайт *. Это рекомендуемая опция для этого урока, поэтому нажмите + 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]

После успешного завершения установки перейдите к шагу два.

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

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

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

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

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

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

# See man 5 aliases for format
postmaster:    root

С этим параметром сгенерированные системой электронные письма отправляются пользователю root. Что вы хотите сделать, это отредактировать его так, чтобы эти электронные письма были перенаправлены на ваш адрес электронной почты. Для этого отредактируйте файл так:

/etc/aliases# See man 5 aliases for format
postmaster:    root
root:

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

sudo newaliases

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

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

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

Заключение

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

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

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

Related