Поиск по сайту:

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


Введение

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

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

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

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

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

Предпосылки

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

  • Одна капля Ubuntu 16.04, настроенная с помощью руководства по начальной настройке Ubuntu 16.04, включая создание пользователя sudo без полномочий root.
  • Допустимое доменное имя, например example.com, указывающее на ваш сервер. Вы можете настроить это, следуя этому руководству по имени хоста

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

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

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

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

  1. sudo apt-get update

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

  1. sudo apt install mailutils

Ближе к концу процесса установки вам будет представлено окно, точно такое же, как на изображении ниже. Параметр по умолчанию — Интернет-сайт. Это рекомендуемый вариант для этого руководства, поэтому нажмите TAB, затем ENTER.

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

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

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

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

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

  1. sudo nano /etc/postfix/main.cf

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

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

Измените строку с текстом inet_interfaces=all на inet_interfaces=loopback-only.

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .

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

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

Рекомендуемые значения по умолчанию для этого сценария приведены в блоке кода ниже, поэтому измените свои, чтобы они соответствовали:

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

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

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

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

  1. sudo systemctl restart postfix

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

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

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

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

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

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

Обратите внимание, что при такой конфигурации адрес в поле «От кого» для отправляемых вами тестовых писем будет следующим: sammy@example.com, где sammy — ваше имя пользователя Linux, а доменная часть — это имя хоста сервера. Если вы измените свое имя пользователя, адрес отправителя также изменится.

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

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

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

  1. 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: your_email_address

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

  1. sudo newaliases

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

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

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

Заключение

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

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

  • Как использовать запись SPF для предотвращения спуфинга и повышения надежности электронной почты
  • Как установить и настроить DKIM с Postfix в Debian Wheezy Хотя эта статья была написана для Debian Wheezy, те же шаги применимы и для Ubuntu 16.04.

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