Найти тему

Установка Postfix на Ubuntu 20.04 LTS в минимальной конфигурации

Оглавление

Установим Postfix на Ubuntu 20.04 LTS. Настроим самую минимальную конфигурацию, лишь бы отправлялись письма.

Операционная система

Используем операционную систему Ubuntu Server 20.04 LTS. Если кому-то нужна инструкция по установке, то вот ссылка:

Установка Ubuntu Server 20.04 LTS на виртуальную машину VMware ESXi 6.7

Итак, ОС установлена.

lsb_release -a
-2

Я создам для тестирования отдельный домен третьего уровня testsender.internet-lab.ru, настрою DNS и буду слать письма с адреса info@testsender.internet-lab.ru без аутентификации.

Настройка DNS

Добавим домен testsender.internet-lab.ru и настроим почту. Добавляем A запись домена. Я использую тот же IP, что у основного домена.

-3

Postfix будет представляться как postfix.testsender.internet-lab.ru, добавим A запись.

-4
-5

Настроим SPF и DMARC, чтобы письма можно было отправлять со своего IP адреса.

-6

Установка Postfix

Установим Postfix самым простым способом из репозитория без настроек.

apt-get update
apt-get install postfix

Общий тип почтовой настройки выбираем "Без настройки":

-7

OK.

dpkg -l | grep postfix
-8

Установлен postfix версии 3.4.10.

Настройка Postfix

Создаём главный файл настроек /etc/postfix/main.cf:

myorigin = postfix.testsender.internet-lab.ru
myhostname = postfix.testsender.internet-lab.ru
mydomain = testsender.internet-lab.ru

smtpd_banner = postfix.testsender.internet-lab.ru
biff = no

alias_maps = hash:/etc/postfix/aliases

mynetworks = 127.0.0.0/8 192.168.1.0/24 [::ffff:127.0.0.0]/104 [::1]/128
message_size_limit = 35840000
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

masquerade_classes = envelope_sender, header_sender

relay_domains = testsender.internet-lab.ru

maximal_queue_lifetime = 5d

compatibility_level = 2

Пока ничего особо не настроено, почтовик обслуживает один домен testsender.internet-lab.ru. Представляется как postfix.testsender.internet-lab.ru, 192.168.1.0/24 — моя локальная сеть, из которой я буду отправлять в postfix письма. После настройки SMTP аутентификации отправлять письма можно будет не только из этой сети.

Создаём файл /etc/postfix/aliases:

postmaster:root

Выполняем:

postalias /etc/postfix/aliases

 Перезагружаем Postfix.

service postfix restart
-9

Проверка отправки письма

Из подсети 192.168.1.0/24 пытаемся отправить письмо с помощью telnet по 25 порту.

telnet 192.168.1.13 25
ehlo localhost
-10

Отправляем письмо без аутентификации.

-11

Письмо ушло в postfix. Смотрим логи postfix:

-12

status=sent, письмо отправлено. Уже хорошо, система заработало. Получатель, конечно, попытался далее переслать письмо мне на ящик в gmail, но не смог.

-13

Не понравилось ему, что нет заголовка "From". Но это уже другая история. Кстати, можно обойти проблему, отправив письмо с помощью VBS, накидал скрипт:

Set emailObj = CreateObject("CDO.Message")

emailObj.From = "Тест postfix <info@testsender.internet-lab.ru>"
emailObj.To = "info@internet-lab.ru"

emailObj.Subject = "Test postfix"
emailObj.TextBody = "Test body postfix"

Set emailConfig = emailObj.Configuration

emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "192.168.1.13"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = false

emailConfig.Fields.Update

emailObj.Send

If err.number = 0 then Msgbox "Done"

Отправляю скриптом:

-14

Письма дошло, можно двигаться дальше.

Источник:
https://internet-lab.ru/postfix_ubuntu_20_04_lts_min

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.