Вступление
Postfix - это агент передачи почты (MTA), приложение, используемое для отправки и получения электронной почты. В этом руководстве вы установите и настроите Postfix, чтобы он мог использоваться для отправки электронных писем только локальными приложениями, то есть теми, которые установлены на том же сервере, что и Postfix.
Почему вы хотите это сделать?
Если вы уже используете стороннего поставщика электронной почты для отправки и получения электронной почты, вам не нужно запускать собственный почтовый сервер. Однако если вы управляете облачным сервером, на котором установлены приложения, которым необходимо отправлять уведомления по электронной почте, использование локального SMTP-сервера, предназначенного только для отправки, является хорошей альтернативой использованию стороннего поставщика услуг электронной почты или запуска полноценного SMTP-сервера. сервер.
В этом руководстве вы установите и настроите Postfix как SMTP-сервер только для отправки в Debian 10.
Предпосылки
Чтобы следовать этому уроку, вам понадобится:
-
Один сервер Debian 10, настроенный с помощью Debian 10 начальное руководство по установке сервера, и пользователь без полномочий root с
+ sudo +
привилегии. -
Допустимое доменное имя, например * example.com *, указывающее на ваш сервер. Вы можете настроить это, следуя этим guidelines управлению DNS-хостингом в DigitalOcean.
Обратите внимание, что имя хоста вашего сервера должно соответствовать вашему домену или поддомену. Вы можете проверить имя хоста сервера, набрав + 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, чтобы сообщения вашего сервера с большей вероятностью рассматривались как законные.
При правильной настройке эти шаги затрудняют отправку спама с адресом, который, по-видимому, исходит из вашего домена. Выполнение этих дополнительных шагов по настройке также повысит вероятность того, что обычные почтовые провайдеры будут рассматривать письма с вашего сервера как законные.