Перейти к основному содержанию

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

Mail

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

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

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

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

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

lsb_release -a

postfix

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

Настройка DNS

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

postfix

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

postfix

postfix

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

postfix

Установка Postfix

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

apt-get update
apt-get install postfix

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

postfix

OK.

dpkg -l | grep postfix

postfix

Установлен 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
inet_protocols = ipv4

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

postfix

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

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

telnet 192.168.1.13 25
ehlo localhost

postfix

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

postfix

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

postfix

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

postfif

Не понравилось ему, что нет заголовка "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"

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

postfix

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

Теги

 

Похожие материалы

Keepalived для Postfix

Есть два сервера с операционной системой Ubuntu 20.04.4 LTS. На обоих серверах развёрнут Postfix сервер. Почтовики работают только на отправку писем, на них всё уже настроено. Пришла задача объединить их в один отказоустойчивый кластер Master — Slave с плавающим виртуальным IP-адресом с помощью keepalived. Главная задача: принимать почту на один IP адрес и обеспечить резервирование postfix.

Теги

Postfix с SMTP аутентификацией Cyrus

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

Теги