Отправка почты с указанного IP-адреса для почтового домена

Материал из ISPWiki

Перейти к: навигация, поиск
Внимание! Данный функционал доступен только в ISPmanager Professional.

Для почтовых серверов Exim и Postfix есть возможность указания IP-адреса интерфейса, используемого для отправки почты. С некоторых пор в ISPmanager Professional есть возможность указать IP-адрес для почтового домена.

Внимание! Postfix поддерживает эту функцию, начиная с версии 2.6.9

При новой установке 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 -> модуль Почтовые домены и для каждого домена выберите необходимый адрес из списка.

Была ли эта информация полезной? Да | Нет
Личные инструменты