uz
АБ
Антон Белов
июня 23, 2025
Обновлено июня 23, 2025

Как настроить Postfix для использования виртуальных почтовых ящиков на Ubuntu 20.04

Ubuntu VPS

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

Настройка системы

В первую очередь требуется подготовка системы для работы виртуальных почтовых ящиков. Для этого создадим папку virtualmailboxes (для вашего доменного имени) — ее имя может быть произвольным. Если вы его измените, не забудьте использовать соответствующее имя папки при дальнейшей настройке. В эту папку Postfix будет добавлять файлы, соответствующие каждому виртуальному пользователю, после получения этим пользователем первого письма.

sudo mkdir -p /home/virtualmailboxes/domain-name.com

Теперь давайте настроим пользователя virtualmail, группу и права на работу с этими папками.

sudo groupadd -g 2000 virtualmail
sudo useradd -g virtualmail -u 2000 virtualmail -d /home/virtualmailboxes -m
chown -R virtualmail:virtualmail /home/virtualmailboxes

Настройка Postfix

Откроем файл настройки Postfix:

sudo nano /etc/postfix/main.cf

При обработке почты для одного домена, Postfix может работать в одном из двух режимов:

  • доставлять почту пользователям системы, как было настроено ранее;
  • работать с виртуальными почтовыми ящиками и доставлять почту виртуальным пользователям – что нам и требуется.

Так как для настройки первого варианта целевой домен добавляется в переменную mydestination, то мы удалим его оттуда и приведем к следующему виду:

mydestination = localhost.com, localhost

Далее добавим следующие настройки в файл конфигурации:

virtual_mailbox_domains = domain-name.com
virtual_mailbox_base = /home/virtualmailboxes
virtual_mailbox_maps = hash:/etc/postfix/virtualmaps
virtual_minimum_uid = 500
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
Добавленные строки в файле настроек
Добавленные строки в файле настроек

Описание добавленных настроек:

  • virtual_mailbox_domains указывает на то, что Postfix работает в режиме виртуального почтового ящика, а также содержит в себе домен, для которого обрабатывается почта;
  • virtual_mailbox_base указывает путь для хранения почты;
  • virtual_mailbox_maps указывает файл со списком виртуальных пользователей;
  • virtual_minimum_uid, virtual_uid_maps, virtual_gid_maps – настройки системного пользователя, который будет управлять почтовой папкой.

Теперь создадим файл со списком виртуальных почтовых ящиков, путь к которому был указан в virtual_mailbox_maps.

sudo nano /etc/postfix/virtualmaps

Каждая строка этого файла должна содержать адрес электронной почты в формате user@domain и путь к файлу для хранения почты в формате Домен/папка (адрес и пусть разделены пробелом). Путь к файлу указывается относительно значения опции virtual_mailbox_base файла настроек, в нашем случае – /home/virtualmailboxes.

user1@domain-name.com domain-name.com/user1
user2@domain-name.com domain-name.com/user2
support@domain-name.com domain-name.com/support
Добавленные строки в /etc/postfix/virtualmaps
Добавленные строки в /etc/postfix/virtualmaps

Сохраним файл. Для применения настроек нужно выполнить две команды:

postmap /etc/postfix/virtualmaps
postfix reload

Теперь протестируем

Чтобы проверить корректность настройки, отправим электронное письмо виртуальному пользователю от имени другого пользователя, созданного нами, и укажем его почту в качестве обратного адреса (параметры -u и -r):

sudo echo "Postfix virtual mailboxes test" | mail -r user2@domain-name.com -u user2@domain-name.com -s "Subject" user1@domain-name.com

Чтобы просмотреть сообщения, полученные пользователем user1, используйте команду:

sudo cat /home/virtualmailboxes/domain-name.com/user1

Результат:

Результат тестирования
Результат тестирования

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

Для того, чтобы просмотреть почтовый ящик отправителя (user2), используйте команду:

sudo cat /home/virtualmailboxes/domain-name.com/user2

Логи работы Postfix хранятся в /var/log/mail.log, сообщения об ошибках в /var/log/mail.err.

Оценка:
5 из 5
Аverage rating : 5
Оценок: 4
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...