Отправка почты с указанного IP-адреса для почтового домена
Материал из ISPWiki
Для почтовых серверов Exim и Postfix есть возможность указания IP-адреса интерфейса, используемого для отправки почты. С некоторых пор в ISPmanager Professional есть возможность указать IP-адрес для почтового домена.
При новой установке ISPmanager Pro этот функционал будет настроен автоматически (если в качестве MTA будет выбран exim или postfix) или при установке почтового SMTP-сервера через модуль Возможности (ISPmanager).
Для уже работающих систем с серверами exim или postfix и установленной панелью ISPmanager Pro необходимо сделать небольшие изменения:
Для Exim:
1. Нужно создать пустой файл, например domainips.
для Debian/Ubuntu:
# touch /etc/exim4/domainips
для FreeBSD:
# touch /usr/local/etc/exim/domainips
2. Добавить путь до этого файла в файл конфигурации ISPmanager и "убить" процесс ispmgr:
# echo "path exim-domainips /etc/exim4/domainips" >> /usr/local/ispmgr/etc/ispmgr.conf # killall ispmgr
или для FreeBSD:
# echo "path exim-domainips /usr/local/etc/exim/domainips" >> /usr/local/ispmgr/etc/ispmgr.conf # killall ispmgr
3. В конфигурации exim (/etc/exim4/exim4.conf.template для Debian/Ubuintu или /usr/local/etc/exim/configure для FreeBSD) найти блок:
begin transports remote_smtp: driver = smtp local_delivery:
и добавить в remote_smtp транспорт строку: "interface = ${extract{1}{;}{${lookup{$sender_address_domain}lsearch{__path_to_domainips__}}}}".
Измененный блок для Debian/Ubuntu должен выглядеть так:
begin transports
remote_smtp:
driver = smtp
interface = ${extract{1}{;}{${lookup{$sender_address_domain}lsearch{/etc/exim4/domainips}}}}
local_delivery:
Для FreeBSD:
begin transports
remote_smtp:
driver = smtp
interface = ${extract{1}{;}{${lookup{$sender_address_domain}lsearch{/usr/local/etc/exim/domainips}}}}
local_delivery:
После этого нужно перезапустить exim.
Debian/Ubuntu:
# /etc/init.d/exim4 restart
FreeBSD:
# /usr/local/etc/rc.d/exim restart
Для postfix:
1. в файл main.cf добавить строчки:
sender_dependent_default_transport_maps = regexp:/etc/postfix/domainips default_transport = smtp:
2. в ispmgr.conf добавить
path postfix_domainips /etc/postfix/domainips
3. Проверить что в ispmgr.conf есть строчки:
path postfix_main.cf /etc/postfix/main.cf path postfix_master.cf /etc/postfix/master.cf
4. Перезапустить postfix и ispmgr.
# /etc/init.d/postfix restart # killall ispmgr
После этого зайдите в ISPmanager -> модуль Почтовые домены и для каждого домена выберите необходимый адрес из списка.
