Конфигурация PMTA

Мануал Конфигурация PMTA

  • Автор Underground Forum
  • Дата создания
В этом мануале были рассмотрены только самые основные настройки. Для получения более подробной информации, изучите
Пожалуйста, Войдите или Зарегистрируйтесь для просмотра содержания URL!
.

Что такое файл конфигурации PMTA?
Это файл расположенный в папке etc/pmta/ на сервере с установленным pmta, который отвечает за правила отправки почты с того или иного домена/ip адреса.
Короче говоря, то как будет происходить рассылка на тот или иной почтовый сервис, будет зависеть именно от этого файла.

За конфигурацию вашего сервера отвечают два файла, config и virtualhost.txt
После каждого редактирования этих файлов, нужно обязательно перезапустить конфиг командой:
pmta reload

В файле config находится вся статическая информация, а в файле virtualhost.txt динамическая(ваши домены и ip адреса).
Но по сути это один и тот же файл.
Строка include /etc/pmta/virtualhost.txt подключает virtualhost.

# Секция 1
Потоки

Код:
#####################################################################################################################################
# Section 1: POTOKI
#####################################################################################################################################

total-max-smtp-in 1000
total-max-smtp-out 5000

#####################################################################################################################################

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

# Секция 3
Основные настройки


Код:
#####################################################################################################################################
# Section 3: MAIN SETTINGS / VIRTUAL-MTA-POOL
#####################################################################################################################################

smtp-listener 0/0:2525        # Port PMTA
http-mgmt-port 1050
http-access 127.0.0.1 monitor
http-access ::1 monitor
http-access 180.183.74.0/24 admin
run-as-root no

#####################################################################################################################################

В строке smtp-listener можно указать номер порта для соединения с pmta, по умолчанию 2525.
http-mgmt-port - отвечает за порт для подключения к панели веб-мониторинга.
В строке http-access вы можете прописать свой ip адрес для доступа к панели веб-мониторинга.
Значение 0/24 означает, что любая последняя цифра будет разрешена.
Если вам нужно прописать несколько ip адресов, то вы можете просто копировать эту строчку и прописать внизу любой другой ip адрес.

Если вам нужно оставить панель открытой, но при этом скрыть вкладки command, license и configuration, то вы можете прописать эти строки друг за другом со значениями:
Код:
http-access (ваш ip) admin
http-access 0/0 monitor
http-access ::1 monitor


# Секция 4
Настройка bounce


Код:
#####################################################################################################################################
# Section 4: BOUNCE SETTINGS
#####################################################################################################################################

<bounce-category-patterns>
    /spam/ spam-related
    /junk mail/ spam-related
    /blacklist/ spam-related
    /blocked/ spam-related
    /\bU\.?C\.?E\.?\b/ spam-related
    /\bAdv(ertisements?)?\b/ spam-related
    /unsolicited/ spam-related
    /\b(open)?RBL\b/ spam-related
    /realtime blackhole/ spam-related
    /http:\/\/basic.wirehub.nl\/blackholes.html/ spam-related
    /\bvirus\b/ virus-related
    /message +content/ content-related
    /content +rejected/ content-related
    /quota/ quota-issues
    /limit exceeded/ quota-issues
    /mailbox +(is +)?full/ quota-issues
    /sender ((verify|verification) failed|could not be verified|address rejected|domain must exist)/ invalid-sender
    /unable to verify sender/ invalid-sender
    /requires valid sender domain/ invalid-sender
    /bad sender's system address/ invalid-sender
    /No MX for envelope sender domain/ invalid-sender
    /^[45]\.4\.4/ routing-errors
    /no mail hosts for domain/ invalid-sender
    /Your domain has no(t)? DNS\/MX entries/ invalid-sender
    /REQUESTED ACTION NOT TAKEN: DNS FAILURE/ invalid-sender
    /Domain of sender address/ invalid-sender
    /return MX does not exist/ invalid-sender
    /Invalid sender domain/ invalid-sender
    /Verification failed/ invalid-sender
    /\bstorage\b/ quota-issues
    /(user|mailbox|recipient|rcpt|local part|address|account|mail drop|ad(d?)ressee) (has|has been|is)? *(currently|temporarily +)?(disabled|expired|inactive|not activa
ted)/ inactive-mailbox
    /(conta|usu.rio) inativ(a|o)/ inactive-mailbox
    /Too many (bad|invalid|unknown|illegal|unavailable) (user|mailbox|recipient|rcpt|local part|address|account|mail drop|ad(d?)ressee)/ other
    /(No such|bad|invalid|unknown|illegal|unavailable) (local +)?(user|mailbox|recipient|rcpt|local part|address|account|mail drop|ad(d?)ressee)/ bad-mailbox
    /(user|mailbox|recipient|rcpt|local part|address|account|mail drop|ad(d?)ressee) +(\S+@\S+ +)?(not (a +)?valid|not known|not here|not found|does not exist|bad|inval
id|unknown|illegal|unavailable)/ bad-mailbox
    /\S+@\S+ +(is +)?(not (a +)?valid|not known|not here|not found|does not exist|bad|invalid|unknown|illegal|unavailable)/ bad-mailbox
    /no mailbox here by that name/ bad-mailbox
    /my badrcptto list/ bad-mailbox
    /not our customer/ bad-mailbox
    /no longer (valid|available)/ bad-mailbox
    /have a \S+ account/ bad-mailbox
    /\brelay(ing)?/ relaying-issues
    /domain (retired|bad|invalid|unknown|illegal|unavailable)/ bad-domain
    /domain no longer in use/ bad-domain
    /domain (\S+ +)?(is +)?obsolete/ bad-domain
    /denied/ policy-related
    /prohibit/ policy-related
    /refused/ policy-related
    /allowed/ policy-related
    /banned/ policy-related
    /policy/ policy-related
    /suspicious activity/ policy-related
    /bad sequence/ protocol-errors
    /syntax error/ protocol-errors
    /syntax error/ protocol-errors
    /\broute\b/ routing-errors
    /\bunroutable\b/ routing-errors
    /\bunrouteable\b/ routing-errors
    /Invalid 7bit DATA/ content-related
    /^2.\d+.\d+;/ success
    /^[45]\.1\.[1346];/ bad-mailbox
    /^[45]\.1\.2/ bad-domain
    /^[45]\.1\.[78];/ invalid-sender
    /^[45]\.2\.0;/ bad-mailbox
    /^[45]\.2\.1;/ inactive-mailbox
    /^[45]\.2\.2;/ quota-issues
    /^[45]\.3\.3;/ content-related
    /^[45]\.3\.5;/ bad-configuration
    /^[45]\.4\.1;/ no-answer-from-host
    /^[45]\.4\.2;/ bad-connection
    /^[45]\.4\.[36];/ routing-errors
    /^[45]\.4\.7;/ message-expired
    /^[45]\.5\.3;/ policy-related
    /^[45]\.5\.\d+;/ protocol-errors
    /^[45]\.6\.\d+;/ content-related
    /^[45]\.7\.[012];/ policy-related
    /^[45]\.7\.7;/ content-related
    // other # catch-all
</bounce-category-patterns>

<pattern-list sender>
#        rcpt-to /^.*@gmail.com$/ virtual-mta=vmta-pool-v6
#        rcpt-to /^.*@yandex.ru$/ virtual-mta=vmta-pool-v6
</pattern-list>

#####################################################################################################################################

В этой секции прописаны самые распространенные отчеты и коды ошибок возврата писем.


# Секция 5
Настройка доменов


Код:
#####################################################################################################################################
# MAIL.RU #
#####################################################################################################################################

# domains that resolve to MAIL.RU
domain-macro mailru mail.ru,bk.ru,inbox.ru,list.ru,mail.ua,mail.kz

<domain $mailru>
  use-starttls no
  max-smtp-out 1                                                  # default be nice on concurrent connections
  max-msg-per-connection 1                                       # max 500 mails in one session
  max-rcpt-per-message 1
  max-errors-per-connection 10                                    # avoid 'too long without data command' error
  reuse-ssl-session no

  max-msg-rate 2/m

  bounce-upon-no-mx yes                                           # proper mail domains should have mx
  assume-delivery-upon-data-termination-timeout yes               # avoid duplicate deliveries
  smtp-421-means-mx-unavailable yes
  smtp-553-means-invalid-mailbox yes
  bounce-upon-5xx-greeting true
  connect-timeout 1m
  smtp-greeting-timeout 5m
  data-send-timeout 5m
  retry-after 30m                                                 # typical greylisting period
  bounce-after 3d                                                 # default 4d12h

  smtp-pattern-list blocking-errors
  backoff-max-msg-rate 1/h                                        # send only regular tries during backoff (default unlimited)
  backoff-retry-after 1h,3h,6h,12h                                # retry at least every 20m (default 1h)
  backoff-to-normal-after-delivery yes                            # revert to normal asap (default no)
  backoff-to-normal-after 1h                                      # always revert to normal after 1h (default never)

  dk-sign yes
  dkim-sign yes
  deliver-local-dsn no
</domain>

Здесь вы можете задавать правила отправки почты для разных почтовых сервисов. Каждый макрос отвечает за отправку на конкретный почтовый сервис. Так же вы можете сами добавлять новые макросы к уже существующим.

Макрос # DEFAULT DOMAIN SETTINGS # отвечает за настройки для всех почтовых сервисов по умолчанию.
Код:
#####################################################################################################################################
# DEFAULT DOMAIN SETTINGS #
#####################################################################################################################################

<domain *>
  use-starttls no
  max-smtp-out 1                                                  # default be nice on concurrent connections
  max-msg-per-connection 1                                       # max 500 mails in one session
  max-rcpt-per-message 1
  max-errors-per-connection 10                                    # avoid 'too long without data command' error
  reuse-ssl-session no

  max-msg-rate 25/m

  bounce-upon-no-mx yes                                           # proper mail domains should have mx
  assume-delivery-upon-data-termination-timeout yes               # avoid duplicate deliveries
  smtp-421-means-mx-unavailable yes
  smtp-553-means-invalid-mailbox yes
  bounce-upon-5xx-greeting true
  connect-timeout 1m
  smtp-greeting-timeout 5m
  data-send-timeout 5m
  retry-after 30m                                                 # typical greylisting period
  bounce-after 3d                                                 # default 4d12h

  smtp-pattern-list blocking-errors
  backoff-max-msg-rate 1/m                                        # send only regular tries during backoff (default unlimited)
  backoff-retry-after 10m,30m,1h,2h                                # retry at least every 20m (default 1h)
  backoff-to-normal-after-delivery yes                            # revert to normal asap (default no)
  backoff-to-normal-after 10m                                      # always revert to normal after 1h (default never)

  dk-sign yes
  dkim-sign yes
  deliver-local-dsn no
</domain>

Все что находится межу тегами <domain></domain> является правилами отправки почты на тот или иной домен.
Давайте рассмотрим самые основные настройки в режиме normal.

max-smtp-out - количество исходящих потоков. Если выставить значение = 1, то при каждом соединении с сервером, отправка почты будет осуществляться через 1 поток.
max-msg-per-connection - количество писем за одно соединение. При значении = 1, от каждого ip будет открываться 1 соединение и отправляться 1 сообщение.
max-msg-rate - ограничение максимальной скорости рассылки в секунду/минуту/час.

Настройки в режиме backoff

Если вдруг ваши письма начнут возвращаться из-за спама, то рассылка автоматически перейдет в режим backoff

backoff-max-msg-rate - ограничивает количество исходящих сообщений, при значении 0/h останавливает рассылку полностью.
backoff-retry-after - параметр отвечает за то, когда в следующий раз будет осуществлена попытка отправки почты. Например, если через 10 минут письмо вернется из-за спама, то в следующий раз pmta попытается отправить письмо уже через 30 минут, 1 час, 2 часа и т.д.
backoff-to-normal-after-delivery - при значении yes, рассылка автоматически вернется в режим normal, если на этот раз письмо не было отклонено сервером.

# Секция SMTP PATTERN SETTINGS

Код:
#####################################################################################################################################
# Section 5: SMTP PATTERN SETTINGS
#####################################################################################################################################

<smtp-pattern-list common-errors>
  reply /generating high volumes of.* complaints from AOL/    mode=backoff
  reply /Excessive unknown recipients - possible Open Relay/  mode=backoff
  reply /^421 .* too many errors/                             mode=backoff
  reply /blocked.*spamhaus/                                   mode=backoff
  reply /451 Rejected/                                        mode=backoff
</smtp-pattern-list>

<smtp-pattern-list blocking-errors>
 
  #AOL Errors
    reply /421 .* SERVICE NOT AVAILABLE/ mode=backoff
    reply /generating high volumes of.* complaints from AOL/ mode=backoff
    reply /554 .*aol.com/ mode=backoff
    reply /421dynt1/ mode=backoff
    reply /HVU:B1/ mode=backoff
    reply /DNS:NR/ mode=backoff
    reply /RLY:NW/ mode=backoff
    reply /DYN:T1/ mode=backoff
    reply /RLY:BD/ mode=backoff
    reply /RLY:CH2/ mode=backoff
    #
    #Yahoo Errors
    reply /421 .* Please try again later/ mode=backoff
    reply /421 Message temporarily deferred/ mode=backoff
    reply /VS3-IP5 Excessive unknown recipients/ mode=backoff
    reply /VSS-IP Excessive unknown recipients/ mode=backoff
    #
    # The following 4 Yahoo errors may be very common
    # Using them may result in high use of backoff mode
    #
    reply /\[GL01\] Message from/ mode=backoff
    reply /\[TS01\] Messages from/ mode=backoff
    reply /\[TS02\] Messages from/ mode=backoff
    reply /\[TS03\] All messages from/ mode=backoff
    #
    #Hotmail Errors
    reply /exceeded the rate limit/ mode=backoff
    reply /exceeded the connection limit/ mode=backoff
    reply /Mail rejected by Windows Live Hotmail for policy reasons/ mode=backoff
    reply /mail.live.com\/mail\/troubleshooting.aspx/ mode=backoff
    #
    #Adelphia Errors
    reply /421 Message Rejected/ mode=backoff
    reply /Client host rejected/ mode=backoff
    reply /blocked using UCEProtect/ mode=backoff
    #
    #Road Runner Errors
    reply /Mail Refused/ mode=backoff
    reply /421 Exceeded allowable connection time/ mode=backoff
    reply /amIBlockedByRR/ mode=backoff
    reply /block-lookup/ mode=backoff
    reply /Too many concurrent connections from source IP/ mode=backoff
    #
    #General Errors
    reply /too many/ mode=backoff
    reply /Exceeded allowable connection time/ mode=backoff
    reply /Connection rate limit exceeded/ mode=backoff
    reply /refused your connection/ mode=backoff
    reply /try again later/ mode=backoff
    reply /try later/ mode=backoff
    reply /550 RBL/ mode=backoff
    reply /TDC internal RBL/ mode=backoff
    reply /connection refused/ mode=backoff
    reply /please see www.spamhaus.org/ mode=backoff
    reply /Message Rejected/ mode=backoff
    reply /refused by antispam/ mode=backoff
    reply /Service not available/ mode=backoff
    reply /currently blocked/ mode=backoff
    reply /locally blacklisted/ mode=backoff
    reply /not currently accepting mail from your ip/ mode=backoff
    reply /421.*closing connection/ mode=backoff
    reply /421.*Lost connection/ mode=backoff
    reply /476 connections from your host are denied/ mode=backoff
    reply /421 Connection cannot be established/ mode=backoff
    reply /421 temporary envelope failure/ mode=backoff
    reply /421 4.4.2 Timeout while waiting for command/ mode=backoff
    reply /450 Requested action aborted/ mode=backoff
    reply /550 Access denied/ mode=backoff
    reply /exceeded the rate limit/ mode=backoff
    reply /421rlynw/ mode=backoff
    reply /permanently deferred/ mode=backoff
    reply /\d+\.\d+\.\d+\.\d+ blocked/ mode=backoff
    reply /www\.spamcop\.net\/bl\.shtml/ mode=backoff
    reply /generating high volumes of.* complaints from AOL/    mode=backoff
    reply /Excessive unknown recipients - possible Open Relay/  mode=backoff
    reply /^421 .* too many errors/                             mode=backoff
    reply /blocked.*spamhaus/                                   mode=backoff
    reply /451 Rejected/                                        mode=backoff
</smtp-pattern-list>

#####################################################################################################################################
# END Section 5: SMTP PATTERN SETTINGS
#####################################################################################################################################

В этой секции прописаны коды ошибок при возникновении которых переводить рассылку в режим backoff.


# Секция 6: LOG AND SPOOL SETTINGS
Логирование

Код:
#####################################################################################################################################
# Section 6: LOG AND SPOOL SETTINGS
#####################################################################################################################################

log-file /var/log/pmta/log        # logrotate is used for rotation

# All logs
 <acct-file /var/log/pmta/acct.csv>
     move-interval 5m
     max-size 25M
     delete-after 7d
 </acct-file>
 
 # HardBounce logs
<acct-file /var/log/pmta/hardbounces.csv>
    records r
    records rb
    record-fields r *
    record-fields rb *
    move-interval 5m
    max-size 50M # MB
    delete-after 7d
</acct-file>

# SoftBounce logs
<acct-file /var/log/pmta/softbounces.csv>
    records t
    record-fields t *
    move-interval 5m
    max-size 50M # MB
    delete-after 7d
</acct-file>

# Delivery log
<acct-file /var/log/pmta/success.csv>
    records d
    record-fields d *
    move-interval 5m
    max-size 50M # MB
    delete-after 7d
</acct-file>

#####################################################################################################################################

Тег <acct-file /var/log/pmta/acct.csv></acct-file> отвечает за файл acct.csv, который будет создаваться каждый день. Это самый главный файл, в него будут записываться все данные о рассылке, доставленных и не доставленных письмах, получателях и т.д.

move-interval - отвечает за частоту обновления файла acct.csv. При значении 5m, файл будет обновляться каждые 5 минут.
max-size - максимальный размер файла.
delete-after - промежуток времени, через который файл будет удален.

Другие, дополнительные файлы настраиваются аналогичным образом.


Стандарнтый файл конфигурации PMTA:
Пожалуйста, Войдите или Зарегистрируйтесь для просмотра содержания URL!
Сверху