Виртуальные MTA в PowerMTA

Создание, редактирование и настройка VirtualMTA <virtual-mta mta> в PowerMTA:

Виртуальные MTA в конфигурации PMTA позволяют разделять трафик на отдельные управляемые почтовые потоки, распределять их по группе ip адресов, балансировать почтовый трафик на smtp и т.п, при одной системной конфигурации или объединять в пул множество ip/smtp для последующего распределения и ротации.

PowerMTA.

Статья — усеченный перевод 8 раздела официальной справки PMTA с дополнениями © My-Mails

Поддержка VirtualMTA / VirtualMTA Support 

VirtualMTA определяются с помощью директивы <virtual-mta>.

Создайте группы <virtual-mta> с желаемыми псевдонимами и присвоением имени хоста и IP-адреса SMTP.

Например: создать VMTA с именем mta1, просто добавьте в файл конфигурации:
в нашей версии 4.5r1 /etc/pmta/virtualhost.txt

<virtual-mta mta1>
 smtp-source-host 1.2.3.4 mta1.port25.com
</virtual-mta>

Обратите внимание, что если вы опустите в определении директиву smtp-source-host, PowerMTA, будет использовать глобальные настройки для этого VMTA.
Рекомендуется указывать директивы имени хоста в каждом определении VirtualMTA.
Убедитесь, в правильности имени хоста: smtp-source-host 2.3.4.5 mta2.port25.com

Если в определении указано более одного адреса smtp-source-host, PowerMTA будет использовать различные исходные IP-адреса в циклическом порядке для соединений:

<virtual-mta mta3>
 smtp-source-host 1.2.3.4 mta4.port25.com
 smtp-source-host 2.3.4.5 mta5.port25.com
 smtp-source-host 3.4.5.6 mta6.port25.com
</virtual-mta>
Пулы VirtualMTA

PowerMTA поддерживает определение и выбор пулов VirtualMTA для каждого сообщения или кампании, которые в основном состоят из нескольких VirtualMTA, сгруппированных в пул.

Когда Пул определен и выбран для кампании, PowerMTA будет использовать перечисленные VirtualMTA в ротации.

Пулы VirtualMTA определяются с помощью новой директивы <virtual-mta-pool>.

Определение пул влечет за собой создание группы <virtual-mta-pool> с желаемым псевдонимом и перечислением VirtualMTA, которые вы хотите объединить в группу.

Например, если вы хотите создать пул VirtualMTA с именем pond, вы должны сначала определить конкретные VirtualMTA, которые будут входить в группу, а затем впоследствии перечислите каждый из них в <virtual-mta-pool pond>:

Определяем VMTA

<virtual-mta mta1>
 smtp-source-host 1.2.3.4 mta1.port25.com
</virtual-mta>
<virtual-mta mta2>
 smtp-source-host 2.3.4.5 mta2.port25.com
</virtual-mta>

Объединяем в пул

<virtual-mta-pool pond>
 virtual-mta mta1
 virtual-mta mta2
</virtual-mta-pool>

Важно: имя virtual-mta-pool на может совпадать с именем virtual-mta

Выбор пула VirtualMTA

PMTA поддерживает различные методы выбора VirtualMTA (или пула) в зависимости от ваших методов соединения:

  • API представления:

Путем определения переменной * vmta mailmerge в сообщениях mailmerge;
С помощью setVirtualMta или эквивалентного метода

  • Представление каталога раскладки:

Путем определения переменной * vmta mailmerge в сообщениях mailmerge;
Путем сопоставления с образцом на основе MAIL FROM, RCPT TO или заголовка.

  • Отправка SMTP:

— Путем определения переменной * vmta mailmerge в сообщениях mailmerge;
— Путем включения в сообщение заголовка X-virtual-MTA
— Совпадением регулярного выражения SMTP MAIL FROM или RCPT TO адреса или заголовок сообщения;
— Путем настройки VirtualMTA по умолчанию для директивы <source>, выбранной IP-адрес и порт на компьютере PowerMTA, к которому вы подключаетесь
— Путем настройки VirtualMTA по умолчанию для директивы <source>, выбранной
IP-адрес источника
— Методы выбора, перечисленные выше, перечислены в порядке приоритета в каждом представлении.
методы.
Использование mailmerge может повлиять на выбор VirtualMTA. При использовании mailmerge
и API или SMTP, x-virtual-mta будет применяться ко всему заданию mailmerge, а не
отдельные получатели (в большинстве случаев с использованием первого определенного x-virtual-mta).
При использовании mailmerge и списков шаблонов, выбор VirtualMTA будет для каждого получателя
при сопоставлении RCPT TO, и будет только для каждого получателя для MAIL FROM
при использовании переменной * from mailmerge. Когда не используется * из или когда используется
Соответствие заголовка, *all * получатели в задании mailmerge будут использовать один и тот же VirtualMTA (в
в большинстве случаев первый подобранный шаблон).

Обратите внимание, что один выбирает пул VirtualMTA, используя тот же точный заголовок, директивы или
вызов функции, но с использованием имени пула вместо имени VirtualMTA.

Выбор VirtualMTA с помощью X-virtual-MTA Заголовок

Чтобы выбрать VirtualMTA с заголовком X-virtual-MTA, вам необходимо:

Добавить к директиве

  1. определить VirtualMTA или пул (ы), используя директиву <virtual-mta>;
  1. определить конкретный IP-адрес или диапазон IP-адресов для источника сообщений

что оно применимо с использованием расширенной директивы <source>;

  1. определить способность PowerMTA обрабатывать заголовок x-virtual-mta через

директива process-x-virtual-mta в директиве <source>, определенной в шаг 2;

process-x-virtual-mta yes # разрешить выбор VirtualMTA

После правильной настройки файла конфигурации вам просто нужно добавить заголовок xvirtual-mta к вашему сообщению, указав псевдоним VirtualMTA, как в

x-virtual-mta: mta1

где mta1 — псевдоним VirtualMTA в файле конфигурации. Обратите внимание, что PowerMTA

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

почтовый шлюз получателя или получателя.

Например, предполагая, что у вас есть следующее определение VirtualMTA в вашем

конфигурационный файл:

<virtual-mta mta1>
 smtp-source-host 1.2.3.4 mta1.port25.com
</virtual-mta>

и вы хотели, чтобы PowerMTA обрабатывал заголовок x-virtual-mta только из почты

исходя из локального IP-адреса 127.0.0.1 для выбора VirtualMTA, вам потребуется

иметь как минимум следующее в вашем конфигурационном файле;

<source 127.0.0.1>
 process-x-virtual-mta yes # разрешить выбор VirtualMTA
 always-allow-relaying yes # разрешить кормление с 127.0.0.1
</source>

При этом любые сообщения, отправленные с локального IP-адреса 127.0.0.1, содержащие
заголовок x-virtual-mta: mta1 будет иметь PowerMTA, используя VirtualMTA mta1 и его
параметры при установлении соединения для доставки этих сообщений. Можно также выбрать
Пул VirtualMTA будет использоваться для сообщений таким же образом.

Выбор VirtualMTA по SMTP MAIL FROM / SMTP RCPT TO

Сайты также могут иметь PowerMTA использовать VirtualMTA или пул VirtualMTA для конкретных

сообщения посредством сопоставления с шаблоном регулярного выражения SMTP MAIL FROM

адрес, SMTP RCPT TO адрес или заголовок, основанный на IP-адресе источника

сообщение.

 

Чтобы выбрать пул VirtualMTA или VirtualMTA на основе шаблона регулярного выражения

  1. определить пулы VirtualMTA или VirtualMTA в файле конфигурации, используя

директива <virtual-mta>;

  1. определить псевдоним для списка шаблонов регулярного выражения с помощью <pattern-list>

директива;

  1. определить фактический шаблон регулярного выражения, который будет использоваться для сопоставления SMTP MAIL

ОТ, адрес RCPT TO или заголовок, а также последующий VirtualMTA или

Пул VirtualMTA для использования при совпадении через mail-from, rcpt-to и

директивы заголовка. Эти директивы определены в <pattern-list>

определение, созданное на шаге 2;

  1. определить конкретный IP-адрес или диапазон IP-адресов для источника сообщений

это применимо в расширенной директиве <source>;

  1. определить директиву pattern-list, используя соответствующий псевдоним, определенный на шаге 2

в директиве <source>, определенной на шаге 4. Условное сопоставление с образцом как

определенные в разделе 3.2.16, также могут быть использованы.

 

Например, если в вашем файле конфигурации есть следующие определения VirtualMTA:

<virtual-mta mta1>
smtp-source-host 1.2.3.4 mta1.port25.com
</virtual-mta>

<virtual-mta mta2>
smtp-source-host 2.3.4.5 mta2.port25.com
</virtual-mta>

и вы хотели, чтобы PowerMTA соответствовал шаблонам «abc» и «xyz» в начале

ПОЧТА ОТ адреса, чтобы выбрать соответствующий VirtualMTA для использования для каждого, вы

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

 

<pattern-list group2>
mail-from /^abc/ virtual-mta=mta1
mail-from /^xyz/ virtual-mta=mta2
</pattern-list>

<source 127.0.0.1>
pattern-list group2 # выбирает список шаблонов для сообщений
always-allow-relaying yes # разрешить кормление с 127.0.0.1
</source>

 

При этом любые сообщения, отправленные с локального IP-адреса 127.0.0.1, будут иметь

PowerMTA с использованием сопоставления регулярных выражений по адресу MAIL FROM, и если

PowerMTA обнаружил «abc» в начале адреса (например, abc2890u8@bounces.port25.com), VirtualMTA mta1 и его параметры будут использованы

при создании соединений для доставки этих сообщений. Для отправленных сообщений, которые имели

ПОЧТА ОТ, начиная с «xyz», например, xyz-ljwer@bounces.port25.com,

VirtualMTA mta2 и его параметры вместо этого будут использоваться при подключении к

доставить эти сообщения.

 

Чтобы дополнительно выбрать несколько других VirtualMTA для получателей на yahoo.com, вы можете

добавьте директиву rcpt-to, как показано ниже:

 

<pattern-list group2>
mail-from /^abc/ virtual-mta=mta1
mail-from /^xyz/ virtual-mta=mta2
rcpt-to /@yahoo.com$/ virtual-mta=mta3
</pattern-list>

 

 

В приведенных выше простых примерах вы можете видеть, что PowerMTA может использовать различные соответствия

шаблоны для разных кампаний, клиентов и / или рассылок одновременно, чтобы

используйте разные VirtualMTA или пулы VirtualMTA для каждого.

 

Допускается использование нескольких директив mail-from, rcpt-to и header.

определение <pattern-list>, и поскольку используется первое совпадение, вы захотите перечислить

скорее всего совпадет первым. В группе <source> допускается только один шаблонный список.

Условное соответствие также допускается. Например, если вы хотите, чтобы все письма

иметь MAIL FROM of X и RCPT TO Y, что допускается по схеме, аналогичной

следующие

<pattern-list patterns>
  mail-from /X/ <pattern-list>
    rcpt-to /Y/ virtual-mta=vmta2
    rcpt-to /Z/ virtual-mta=vmta1
   * virtual-mta=vmta2
  </pattern-list>
</pattern-list>

 

Для получения дополнительной информации об условном сопоставлении с образцом см. Раздел 3.2.16.

Обратите внимание, что поддерживается простое и расширенное сопоставление с шаблоном регулярного выражения

который основан на Perl-совместимых регулярных выражениях (PCRE).

 

8.4.3 Выбор VirtualMTA по IP

Адрес / Порт, Получающий Соединения

 

Для дополнительной гибкости PowerMTA поддерживает возможность выбора VirtualMTA на основе

IP-адрес (и номер порта TCP) на компьютере PowerMTA, к которому вы подключаетесь

при отправке ваших сообщений.

Например, если вы определили 10 VirtualMTA, каждый из которых имеет свой IP-адрес, вы

можно выбрать VirtualMTA для использования для каждого сообщения, просто сделав свой SMTP

подключение к определенному IP-адресу, определенному на вашем компьютере PowerMTA для

конкретный VirtualMTA.

Это достигается с помощью «именованных» тегов <source> в сочетании с директивой smtplistener. Именованные теги <source> позволяют вам указывать директивы, которые переопределяют

те, которые обычно выбираются по IP-адресу источника; они применяются только при условии ссылки в

Директива smtp-listener (и для аутентифицированных пользователей — см. Раздел 10.2.2).

Например, чтобы выбрать VirtualMTA vmta1 по назначенному адресу smtp-source-host

1.2.3.4 и стандартный порт SMTP (25), вы должны настроить:

 

<virtual-mta vmta1>
smtp-source-host 1.2.3.4 vmta1.yourdomain.com
...
</virtual-mta>

<source vmta1>
default-virtual-mta vmta1
</source>

smtp-listener 1.2.3.4:25 source=vmta1

В файле конфигурации может быть указано несколько записей smtp-слушателя, каждая из которых указав другой IP-адрес и / или порт.

 

Обратите внимание, что если указаны какие-либо директивы smtp-listener, все слушатели должны быть явно определено: PowerMTA больше не запускает прослушиватель автоматически на основе значения

Директивы smtp-ip и smtp-port. При настройке вашей первой записи smtp-listener,

чтобы сохранить прослушиватель по умолчанию, вы должны добавить еще одну директиву smtp-listener, указав

твой smtp-ip и smtp-порт в нем. Если у вас не настроен smtp-ip, используйте 0.0.0.0

вместо этого, что заставляет PowerMTA связываться со всеми локальными IP-адресами:

 

smtp-listener 0.0.0.0:25

 

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

адрес и порт, нужно быть осторожным с тем, что там вводится. Например,

Всегда разрешать ретрансляцию, скорее всего, не следует включать в названном источнике.

Вместо этого следует разрешить пересылку, доступ к расширениям mailmerge и т. Д.

на основе аутентифицированных источников (см. раздел 10.2.2) или IP-адреса источника, как в

пример ниже:

 

<virtual-mta vmta1>
 smtp-source-host 1.2.3.4 vmta1.yourdomain.com
 ...
</virtual-mta>

smtp-listener 1.2.3.4:25 source=vmta1
smtp-listener 0.0.0.0:26

<source vmta1>
 default-virtual-mta vmta1
</source>

<source 10.0.0.0/8>
 allow-mailmerge yes
 always-allow-relaying yes
</source>

<source 0/0>
 allow-mailmerge no
 always-allow-relaying no
</source>

Выше VirtualMTA vmta1 выбран по умолчанию для любых сообщений, полученных через

1.2.3.4 на машине PowerMTA. Прослушиватель по умолчанию на 0.0.0.0:25 сохраняется

 

через собственную директиву smtp-listener. Разрешение на ретрансляцию и использование

Расширения mailmerge предоставляются для подключений из <source 10.0.0.0/8>,

подключаются ли они к 1.2.3.4 или нет.

 

Выбор VirtualMTA по исходному IP Адресу отправителя
  1. определите пулы VirtualMTA или VirtualMTA в файле конфигурации, используя

директива <virtual-mta>;

  1. определить конкретный IP-адрес или диапазон IP-адресов для источника сообщений

это применимо с использованием расширенной директивы <source>;

  1. определить VirtualMTA, который будет использоваться для сообщений через новый default-virtual-mta

директива внутри директивы <source>, определенной на шаге 2.

Например, предполагая, что у вас есть следующее определение VirtualMTA в вашем

конфигурационный файл:

<virtual-mta mta1>
smtp-source-host 1.2.3.4 mta1.port25.com
</virtual-mta>

 

и вы хотели использовать только почту с локального IP-адреса 127.0.0.1

VirtualMTA по умолчанию для каждого сообщения (без указания x-virtual-mta

заголовок в сообщениях), вы должны иметь как минимум следующее

конфигурационный файл;

 

<source 127.0.0.1>
default-virtual-mta mta1 # выбирает VirtualMTA / пул по источнику сообщения
always-allow-relaying yes # разрешить кормление с 127.0.0.1
</source>

При этом любые сообщения, отправленные с локального IP-адреса 127.0.0.1, будут иметь

PowerMTA, использующий VirtualMTA mta1 и его параметры при подключении к

доставить эти сообщения. Можно также выбрать пул VirtualMTA, который будет использоваться для сообщений

исходя из определенного IP-адреса, указав вместо этого имя пула VirtualMTA через

директива default-virtual-mta

 

Вы можете в основном определить столько разных IP-адресов источника или диапазонов IP-адресов для

сообщения в файле конфигурации, как вы хотите, каждый из которых использует разные VirtualMTA

или пул VirtualMTA.

 

Выбор VirtualMTA по IP-адресу VirtualMTA

Адрес

В дополнение к вышесказанному, VirtualMTA может быть привязан в зависимости от того, какой PowerMTA IP

используется для подключения, и соответствующий VirtualMTA, который настроен с этим

  1. IP. Чтобы использовать этот метод выбора, потребуется исходная директива default-virtual-mta.

для использования с настройкой «by-smtp-source-ip» вместо имени VirtualMTA.

При такой настройке для входящего SMTP-подключения PowerMTA будет использовать как

VirtualMTA по умолчанию, чей параметр «smtp-source-host» равен целевому IP

адрес на входящем соединении.

 

Пример:

<virtual-mta mta1>
smtp-source-host 1.2.3.4 vmta1.port25.com
</virtual-mta>
<source 0/0>
default-virtual-mta by-smtp-source-ip
</source>

 

В приведенном выше примере подключение к IP-адресу 1.2.3.4 будет автоматически маршрутизировать

сообщение через VirtualMTA «mta1». Также при подключении с внешнего

отправив PowerMTA по почте, PowerMTA ответит именем хоста, настроенным в

VirtualMTA.

 

 

 

8.6 Настройка дополнительных IP-адресов

Прежде чем вы сможете назначить IP-адреса для VirtualMTA, они должны быть распознаны

операционная система. Обычно для каждого сетевого адаптера назначается один IP-адрес (сеть

Интерфейсная карта), также возможно определить дополнительные (псевдоним) IP-адреса к существующему

NIC.

В Windows 2000 вы добавляете псевдоним IP-адреса, открыв Панель управления, затем щелкнув правой кнопкой мыши «Подключение по локальной сети», открыв «Свойства», дважды щелкнув «Интернет».

Протокол », нажимая« Дополнительно »и, наконец, нажимая« Добавить … »в верхней половине« IP

Вкладка «Настройки». Для получения дополнительных IP-адресов, просто нажмите «Добавить …» несколько раз, предоставляя новый

IP-адреса. Изменения должны стать активными, как только вы нажмете «ОК»

закрыть окно свойств подключения по локальной сети.

В Red Hat Linux вы добавляете IP-адрес псевдонима, скопировав / etc / sysconfig / networkscripts / ifcfg-eth0 (подставив соответственно имя интерфейса, если оно не eth0), в

ifcfg-eth0: 1 (в том же каталоге), а затем отредактируйте файл, изменив DEVICE на eth0: 1

и IPADDR на новый IP. Если добавляемый IP-адрес находится не в той же подсети, что и

основной IP-адрес, возможно, вам также потребуется обновить NETMASK. Вы можете просто удалить

поля NETWORK и BROADCAST, если они есть, так как они автоматически вычисляются

система. Для получения дополнительных IP-адресов создайте дополнительные файлы с именем ifcfg-eth0: 2 и т. Д. Чтобы активировать

изменения, либо остановите и перезапустите интерфейс, либо просто перезагрузите систему.

В Solaris вы добавляете псевдоним IP-адреса, создавая файл с именем /etc/hostname.hme0:1

(подставив имя интерфейса, если оно не hme0) и введя нужный IP-адрес в

этот файл, возможно, следуя за ним с сетевой маской или другими параметрами, как требуется. Для большего количества IP-адресов,

создайте дополнительные файлы с именем hostname.hme0: 2 и т. д. Чтобы активировать изменения, перезагрузитесь

система.

 

Естественно, любые IP-адреса, которые вы добавляете, должны быть действительными в локальной сети, в которой находится ваша система.

прилагается. Пожалуйста, проконсультируйтесь с вашим сетевым администратором, если не уверены, какие IP-адреса

использовать.

 

Настройка конфигурации брандмауэра

Если PowerMTA работает на машине за брандмауэром, после того, как он настроен на использование

разные IP-адреса для каждого VirtualMTA, ваш брандмауэр будет видеть исходящее соединение

попытки с этих IP-адресов. Возможно, вам придется настроить конфигурацию брандмауэра

соответственно.

8.7 Предварительные условия DNS

Многие интернет-провайдеры проверяют имя хоста и IP-адреса источника, используемые во входящем SMTP

соединения с информацией в DNS, чтобы помочь определить законность. Потому что

поэтому крайне важно, чтобы у вас был настроен DNS в соответствии с вашим использованием

VirtualMTAs.

 

Изменения в определениях VirtualMTA можно применять с помощью команды pmta reload, не требуют перезагрузки.

0

my-mails.ru

Всегда On-Line

Авторизация
*
*

Капча загружается...


Регистрация
*
*
*
*

Капча загружается...


Генерация пароля

Капча загружается...


51276208