Или можно обойтись реальным ИП на шлюзе, а на Mail сервер прокинуть 25 и 110 порт?
И обязательно ли поднимать DNS в сети при использовании Mail сервера?
P.S. не могу побороть EXIM+Mysql+Dovecot
Exim
Код: Выделить всё
######################################################################
# MAIN CONFIGURATION SETTINGS #
######################################################################
#Полное, официальное имя сервера.
primary_hostname = domain.ru
# Вводим данные для подключения к MySQL серверу.
# словечко `hide`, вначале, означает, что при
# вызове проверки конфига командой
# exim -bV config_file эти данные не будут отображаться.
# Если без него - то будут показаны... Формат записи:
# хост/имя_бд/пользователь/пароль
hide mysql_servers = localhost/postfixadmin/root/password
# Cписок локальных доменов. Он необходим для определения доменов которые нужно доставлять на локальный хост.
# "@" - специальная форма, вхождение которая означает имя локального хоста.
domainlist local_domains = domain.ru
# Список доменов на которые разрешон релеинг почты через локальный хост к перечисленным доменам.
# По дефолту, здесь, не разрешён релей на основе имён почтовых доменов.
domainlist relay_to_domains = yandex.ru
# Составляем список хостов с которых разрешён релей.
# Обычно в нём находятся локальные сети, и локалхост.
hostlist relay_from_hosts = localhost : 127.0.0.0/8 : 192.168.12.0/24
# Эти опции задают списки контроля доступа - ACLs,
# которые используются в течение входящего SMTP-подключения для каждого получателя сообщения,
# и после того, как сообщение было получено, соотвественно.
# RCPT ACL контролирует, какие получатели разрешены для входящих сообщений.
# DATA ACL контролирует содержиме сообщения.
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
# Первая строчка задаёт интерфейс к сканеру вирусов, а вторая задаёт интерфейс к SpamAssassin.
# av_scanner = clamd:/tmp/clamd
spamd_address = 127.0.0.1 783
# If Exim is compiled with support for TLS, you may want to enable the
# following options so that Exim allows clients to make encrypted
# connections. In the authenticators section below, there are template
# configurations for plaintext username/password authentication. This kind
# of authentication is only safe when used within a TLS connection, so the
# authenticators will only work if the following TLS settings are turned on
# as well.
# Allow any client to use TLS.
# tls_advertise_hosts = *
# Specify the location of the Exim server's TLS certificate and private key.
# The private key must not be encrypted (password protected). You can put
# the certificate and private key in the same file, in which case you only
# need the first setting, or in separate files, in which case you need both
# options.
# tls_certificate = /etc/ssl/exim.crt
# tls_privatekey = /etc/ssl/exim.pem
# In order to support roaming users who wish to send email from anywhere,
# you may want to make Exim listen on other ports as well as port 25, in
# case these users need to send email from a network that blocks port 25.
# The standard port for this purpose is port 587, the "message submission"
# port. See RFC 4409 for details. Microsoft MUAs cannot be configured to
# talk the message submission protocol correctly, so if you need to support
# them you should also allow TLS-on-connect on the traditional but
# non-standard port 465.
# daemon_smtp_ports = 25 : 465 : 587
# tls_on_connect_ports = 465
# Первая строчка задаёт имя домена котрое будет добавляться для локальных отправителей, а вторая для локальных получателей.
# Т.е. почта отправляемая от root, будет от root@домен_указанный_здесь и обратно.
qualify_domain = domain.ru
qualify_recipient = domain.ru
# Позволяем exim-у понимать адреса вида “user@[10.11.12.13]”
# allow_domain_literals = false
# Это определяет, что никакая доставка не должна осуществляться от имени пользователя “root”..
never_users = root
# Заставляет exim проводить обратный поиск в DNS для всех входящих соединений, чтобы получить имя хоста.
host_lookup = *
# Эти настройки заставляют exim делать вызовы “ident” для всех входящих SMTP подключений.
# Можно ограничить список хостов, на которые делается этот вызов, или изменить таймаут, если он используется.
rfc1413_hosts = *
rfc1413_query_timeout = 5s
# Две опции в которых можно указать хосты которым разрешается посылать неполные адреса отправителей и получателей.
# sender_unqualified_hosts = +relay_from_hosts
# recipient_unqualified_hosts = +relay_from_hosts
# Эта опция обеспечивает список доменов, для которых должно работать “percent hack”.
# percent_hack_domains =
# Период повторных попыток доставки сообщений об ошибке.
ignore_bounce_errors_after = 2d
# Период через который exim удалит то, что так и не смог доставить.
timeout_frozen_after = 7d
# Ход ладьёй - для увеличения производительности,
# директория `spool` внутри, разбивается на
# директории - это ускоряет обработку
# By default, messages that are waiting on Exim's queue are all held in a
# single directory called "input" which it itself within Exim's spool
# directory. (The default spool directory is specified when Exim is built, and
# is often /var/spool/exim/.) Exim works best when its queue is kept short, but
# there are circumstances where this is not always possible. If you uncomment
# the setting below, messages on the queue are held in 62 subdirectories of
# "input" instead of all in the same directory. The subdirectories are called
# 0, 1, ... A, B, ... a, b, ... z. This has two benefits: (1) If your file
# system degrades with many files in one directory, this is less likely to
# happen; (2) Exim can process the queue one subdirectory at a time instead of
# all at once, which can give better performance with large queues.
# split_spool_directory = true
# Список хостов, почта от которых принимается, несмотря
# на ошибки в HELO/EHLO (тут указана моя подсеть)
#helo_accept_junk_hosts = 192.168.0.0/16
# Приветствие сервера
smtp_banner = "$primary_hostname, ESMTP EXIM "
# Максимальное число одновременных подключений по
# SMTP. Рассчитывать надо исходя из нагрузки на сервер
smtp_accept_max = 50
# максимальное число сообщений принимаемое за одно соединение
# от удалённого сервера (или пользователя)..
smtp_accept_max_per_connection = 25
# чё-то про логи и борьбу с флудом - я так понимаю -
# максимальное число сообщений записываемых в логи
smtp_connect_backlog = 30
# максимальное число коннектов с одного хоста
smtp_accept_max_per_host = 20
# Если у сообщения много адресатов на удалённых хостах,
# то запускатеся до указанного числа максимально число
# параллельных процессов доставки
remote_max_parallel = 15
# размер сообщения.
message_size_limit = 5M
#Ограничение количества получателей в exim
recipients_max = 2
# разрешаем неположенные символы в HELO (столкнулся
# с этим случайно - имя фирмы состояло из двух слов
# и какой-то раздолбай домен обозвал my_firme_name
# прям с подчёркиваниями... Виндовые клиенты при
# соединении радостно рапортовали о себе
# `vasya.my_firme_name` ну а экзим их футболил :))
helo_allow_chars = _
# Принудительная синхронизация. Если отправитель
# торопится подавать команды, не дождавшись ответа,
# то он посылается далеко и надолго :) Немного,
# спам режется.
smtp_enforce_sync = true
# Выбираем, что мы будем логировать
# + - писать в логи,
# - - Не писать в логи.
# +all_parents - все входящие?
# +connection_reject - разорваные соединения
# +incoming_interface - интерфейс (реально - IP)
# +lost_incoming_connections - потеряные входящие
# соединения
# +received_sender - отправитель
# +received_recipients - получатель
# +smtp_confirmation - подтверждения SMTP?
# +smtp_syntax_error - ошибки синтаксиса SMTP
# +smtp_protocol_error - ошибки протокола SMTP
# -queue_run - работа очереди (замороженные мессаги)
log_selector = \
+all_parents \
+connection_reject \
+incoming_interface \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
######################################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
######################################################################
begin acl
# This access control list is used for every RCPT command in an incoming
# SMTP message. The tests are run in order until the address is either
# accepted or denied.
acl_check_rcpt:
# Accept if the source is local SMTP (i.e. not over TCP/IP). We do this by
# testing for an empty sending host field.
accept hosts = :
# Запрещщаем тех, кто не обменивается приветственными сообщениями (HELO/EHLO)
deny message = "HELO/EHLO require by SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
delay = 30s
# Запрещаем письма для локальных доменов, содержащие в локальной части символы @; %; !; /; |.
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
# Проверяем недопустимые символы для нелокальных получателей.
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
# Не принимаем почту от тех, кто в HELO ставит адрес моего интерфейса.
deny condition = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}
message = "This is SPAM!1"
# Не принимаем почту от тех, кто подставляет свой IP в HELO.
deny condition = ${if eq{$sender_helo_name}{$sender_host_address}{yes}{no}}
message = "This is SPAM!2"
# Запрет приема сообщений для адреса postmaster@домен если количество получателей более одного:
deny message = Legitimate bounces are never sent to more than one recipient.
senders = : postmaster@*
condition = ${if >{$recipients_count}{1}{yes}{no}}
# Запрет приема сообщений с несуществуещего адреса
deny !verify = sender/callout=postmaster,100s,random
message = No verifiable envelope sender address. See http://www.sput.nl/spam/
sender_domains = !+local_domains
# Тоже самое, но в случае если MAIL FROM содержит локальный домен
deny sender_domains = +local_domains
message = Sender unknown/invalid
!verify = sender/callout=defer_ok,5s
!authenticated = * require verify = sender
# Принять письмо, если получатель существует
accept domains = +local_domains
endpass
message = unknown user
verify = recipient
# Принять письмо, если оно предназначено домену из списка relay_to_domain
accept domains = +relay_to_domains
endpass
message = unrouteable address
verify = recipient
# Принять письмо, если оно направлено с IP из списка relay_from_host.
accept hosts = +relay_from_hosts
# Принять письмо, если пользователь авторизован.
accept authenticated = *
# В остальных случаях не принимать писем.
deny message = relay not permitted
#############################################################################
# Разрешаем почту от доменов в списке relay_from_hosts
#deny message = "Deny to host"
#hosts = !+relay_from_hosts
# Accept mail to postmaster in any local domain, regardless of the source,
# and without verifying the sender.
accept local_parts = postmaster
domains = +local_domains
# Deny unless the sender address can be verified.
require verify = sender
# Accept if the message comes from one of the hosts for which we are an
# outgoing relay. It is assumed that such hosts are most likely to be MUAs,
# so we set control=submission to make Exim treat the message as a
# submission. It will fix up various errors in the message, for example, the
# lack of a Date: header line. If you are actually relaying out out from
# MTAs, you may want to disable this. If you are handling both relaying from
# MTAs and submissions from MUAs you should probably split them into two
# lists, and handle them differently.
# Recipient verification is omitted here, because in many cases the clients
# are dumb MUAs that don't cope well with SMTP error responses. If you are
# actually relaying out from MTAs, you should probably add recipient
# verification here.
# Note that, by putting this test before any DNS black list checks, you will
# always accept from these hosts, even if they end up on a black list. The
# assumption is that they are your friends, and if they get onto a black
# list, it is a mistake.
accept hosts = +relay_from_hosts
control = submission
# Accept if the message arrived over an authenticated connection, from
# any host. Again, these messages are usually from MUAs, so recipient
# verification is omitted, and submission mode is set. And again, we do this
# check before any black list tests.
accept authenticated = *
control = submission
# Insist that any other recipient address that we accept is either in one of
# our local domains, or is in a domain for which we explicitly allow
# relaying. Any other domain is rejected as being unacceptable for relaying.
require message = relay not permitted
domains = +local_domains : +relay_to_domains
# We also require all accepted addresses to be verifiable. This check will
# do local part verification for local domains, but only check the domain
# for remote domains. The only way to check local parts for the remote
# relay domains is to use a callout (add /callout), but please read the
# documentation about callouts before doing this.
require verify = recipient
#############################################################################
# There are no default checks on DNS black lists because the domains that
# contain these lists are changing all the time. However, here are two
# examples of how you can get Exim to perform a DNS black list lookup at this
# point. The first one denies, whereas the second just warns.
#
# deny message = rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
# dnslists = black.list.example
#
# warn dnslists = black.list.example
# add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
# log_message = found in $dnslist_domain
#############################################################################
#############################################################################
# This check is commented out because it is recognized that not every
# sysadmin will want to do it. If you enable it, the check performs
# Client SMTP Authorization (csa) checks on the sending host. These checks
# do DNS lookups for SRV records. The CSA proposal is currently (May 2005)
# an Internet draft. You can, of course, add additional conditions to this
# ACL statement to restrict the CSA checks to certain hosts only.
#
# require verify = csa
#############################################################################
# At this point, the address has passed all the checks that have been
# configured, so we accept it unconditionally.
accept
# This ACL is used after the contents of a message have been received. This
# is the ACL in which you can test a message's headers or body, and in
# particular, this is where you can invoke external virus or spam scanners.
# Some suggested ways of configuring these tests are shown below, commented
# out. Without any tests, this ACL accepts all messages. If you want to use
# such tests, you must ensure that Exim is compiled with the content-scanning
# extension (WITH_CONTENT_SCAN=yes in Local/Makefile).
acl_check_data:
# Deny if the message contains a virus. Before enabling this check, you
# must install a virus scanner and set the av_scanner option above.
#
# deny malware = *
# message = This message contains a virus ($malware_name).
# Add headers to a message if it is judged to be spam. Before enabling this,
# you must install SpamAssassin. You may also need to set the spamd_address
# option above.
#
warn spam = nobody
add_header = X-Spam_score: $spam_score\n\
X-Spam_score_int: $spam_score_int\n\
X-Spam_bar: $spam_bar\n\
X-Spam_report: $spam_report
message = This message contains a Spam.
add_header = Subject: ***SPAM*** $h_Subject:
# Accept the message.
accept
######################################################################
# ROUTERS CONFIGURATION #
# Specifies how addresses are handled #
######################################################################
# THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! #
# An address is passed to each router in turn until it is accepted. #
######################################################################
begin routers
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT goto FROM alias WHERE address='${quote_mysql:$local_part@$domain}' OR address='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery
################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
######################################################################
# A transport is used only when referenced from a router that successfully
# handles an address.
begin transports
# This transport is used for delivering messages over SMTP connections.
remote_smtp:
driver = smtp
dovecot_delivery:
driver = pipe
command = /usr/lib/dovecot/deliver -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = mail
address_pipe:
driver = pipe
return_output
address_reply:
driver = autoreply
######################################################################
# RETRY CONFIGURATION #
######################################################################
begin retry
# This single retry rule applies to all domains and all errors. It specifies
# retries every 15 minutes for 2 hours, then increasing retry intervals,
# starting at 1 hour and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 6 hours until 4 days have passed since the first
# failed delivery.
# WARNING: If you do not have any retry rules at all (this section of the
# configuration is non-existent or empty), Exim will not do any retries of
# messages that fail to get delivered at the first attempt. The effect will
# be to treat temporary errors as permanent. Therefore, DO NOT remove this
# retry rule unless you really don't want any retries.
# Address or Domain Error Retries
# ----------------- ----- -------
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
######################################################################
# REWRITE CONFIGURATION #
######################################################################
# There are no rewriting specifications in this default configuration file.
begin rewrite
######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################
# The following authenticators support plaintext username/password
# authentication using the standard PLAIN mechanism and the traditional
# but non-standard LOGIN mechanism, with Exim acting as the server.
# PLAIN and LOGIN are enough to support most MUA software.
#
# These authenticators are not complete: you need to change the
# server_condition settings to specify how passwords are verified.
# They are set up to offer authentication to the client only if the
# connection is encrypted with TLS, so you also need to add support
# for TLS. See the global configuration options section at the start
# of this file for more about TLS.
#
# The default RCPT ACL checks for successful authentication, and will accept
# messages from authenticated users from anywhere on the Internet.
begin authenticators
plain_login:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT '1' FROM mailbox WHERE username = '${quote_mysql:$2}' AND password = '${quote_mysql:$3}'} {yes}{no}}
server_set_id = $2
fixed_login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{SELECT '1' FROM mailbox WHERE username = '${quote_mysql:$1}' AND password = '${quote_mysql:$2}'} {yes}{no}}
server_set_id = $1
fixed_cram:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT password FROM mailbox WHERE username = '${quote_mysql:$1}'}{$value}fail}
server_set_id = $1
######################################################################
# CONFIGURATION FOR local_scan() #
######################################################################
# If you have built Exim to include a local_scan() function that contains
# tables for private options, you can define those options here. Remember to
# uncomment the "begin" line. It is commented by default because it provokes
# an error with Exim binaries that are not built with LOCAL_SCAN_HAS_OPTIONS
# set in the Local/Makefile.
# begin local_scan
# End of Exim configuration file
Dovecot
Код: Выделить всё
# Директория для временных файлов
base_dir = /var/run/dovecot/
# Протоколы, по которым обслуживаем пользователей. Доступны еще imaps и pop3s (SSL).
protocols = imap pop3
# POP3 слушаем на 110-м порту
protocol pop3 {
listen = *:110
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
# IMAP слушаем на 143-м порту
protocol imap {
listen = *:143
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
}
protocol lda {
# Куда слать письма про превышение квоты
postmaster_address = feona@mail.ss.lg.ua
}
# Формат таймстэмпа (strftime()) для записи в лог
log_timestamp = "%b %d %H:%M:%S
# Чем будем логиниться в syslog()
syslog_facility = mail
# Логфайл вместо syslog()
log_path = /var/log/dovecot.log
# Сюда пишутся информационные и дебаг-сообщения
info_log_path = /var/log/dovecot.log
# Отключаем SSL/TLS. Все равно оно нужно только если используем pop3s и imaps
ssl_disable = yes
# Приветственное сообщение для клиентов.
login_greeting = Welcome to IMAP/POP3 server
# Расположение пользовательских ящиков
mail_location = maildir:/var/vmail/%n@%d
#default_mail_env = maildir:/var/spool/mail/%n@%d
# Здесь можем отключить аутентификаию открытым текстом, если не включён SSL/TLS
# С локалхоста, впрочем, он всё равно будет разрешать такую аутентификацию
disable_plaintext_auth = no
# Убивать все процессы IMAP и POP3 при закрытии родительского процесса dovecot
shutdown_clients = yes
# Директория где аутентификационный процесс размещает UNIX сокеты
# которые требуются для процесса логина. Сокеты создаются от суперпользователя,
# поэтому можно не беспокоится насчёт прав. При старте dovecot всё
# содержимое этой директории удаляется.
login_dir = /var/run/dovecot/login
# Делаем chroot для процесса аутентификации dovecot
login_chroot = yes
# Юзер, использующийся в процессе логина
login_user = dovecot
# Каждый логин должен быть обработан своим собственным процессом ('yes'),
# или один процесс может обрабатывать несколько соединений ('no'). 'yes' более
# секьюрно, особенно если включено SSL/TLS. 'no' быстрее работает, ибо нет
# необходимости создавать процесс на каждое соединение
login_process_per_connection = yes
# Число запускаемых процессов логина. Если 'login_process_per_connection'
login_processes_count = 3
login_process_size = 64
# Максимальное число соединений разрешённых в сосоянии 'логина'. Когда
# достигается указанный тут лимит, самые старые связи разрываются
login_max_processes_count = 64
#login_max_logging_users = 128
# Разделённый пробелами лист элементов, которые будут записаны в лог.
# Непустые элементы будут объединены через запятую.
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
# Включаем режим дебага, на первых порах очень полезно
mail_debug = yes
login_log_format = %$: %s
#mail_extra_groups = mail
verbose_proctitle = yes
# Разрешённый диапазон UIDов для пользователей.
# Так мы защитимся от подключения демонов или системных пользователей.
# Как root подключиться не получится в любом случае
first_valid_uid = 25
first_valid_gid = 0
umask = 0077
# Парметры для дебага
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
auth default {
# Список требуемых механизмов аутентификации, разделённый пробелами
# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi
mechanisms = plain login cram-md5
passdb sql {
# Путь к файлу, где у нас прописаны все параметры базы данных
args = /etc/dovecot/dovecot-mysql.conf
}
userdb sql {
# Путь к файлу, где у нас прописаны все параметры базы данных
args = /etc/dovecot/dovecot-mysql.conf
}
# Юзер, от которого будет работать процесс аутентификации
user = nobody
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
}
client {
path = /var/run/dovecot/auth-client
mode = 0660
}
}
}
Код: Выделить всё
driver = mysql
default_pass_scheme = PLAIN
connect = host=localhost dbname=postfixadmin user=root password=password
password_query = SELECT username as user, password FROM mailbox WHERE username = '%n@%d' AND active='1'
user_query = SELECT maildir AS home, 101 AS uid, 8 AS gid FROM mailbox WHERE username = '%n@%d' AND active ='1'
А теперь логи...
exim4/mainlog
Код: Выделить всё
2011-06-22 16:16:02 1QZJPO-00017R-T6 Message is frozen
2011-06-22 16:16:02 1QZMHE-0001Rc-L4 == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:02 1QZLck-0001KP-EN == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:02 1QZLdf-0001Ky-QD == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:02 1QZLoz-0001Or-EH == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:02 1QZM4d-0001Qu-P7 == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:02 1QZJTO-0001CE-Ko Message is frozen
2011-06-22 16:16:02 1QZLc0-0001Jv-MX == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:02 1QZLnt-0001OZ-Pa == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:03 1QZLhi-0001Md-1L == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:03 1QZJOf-00015w-Iq Message is frozen
2011-06-22 16:16:03 1QZLbc-0001JQ-Gh == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:03 1QZJSH-0001An-Bw Message is frozen
2011-06-22 16:16:03 1QZMIo-0001Rv-1i == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:03 1QZJRu-00019a-6s Message is frozen
2011-06-22 16:16:03 1QZLsu-0001QJ-TW == info@domain.ru R=dovecot_user T=dovecot_delivery defer (-52): Retry time not yet reached
2011-06-22 16:16:03 End queue run: pid=5594
2011-06-22 16:21:10 no host name found for IP address 192.168.12.120
2011-06-22 16:21:10 1QZMQg-0001Se-7l <= info@domain.ru H=(sande) [192.168.12.120] I=[192.168.12.252]:25 P=esmtpa A=fixed_login:info@domain.ru S=2026 from <info@domain.ru> for admin@mail.ru
2011-06-22 16:21:10 1QZMQg-0001Se-7l => admin@mail.ru R=dnslookup T=remote_smtp H=mxs.mail.ru [94.100.176.20] C="250 OK id=1QZJY5-0007rc-00"
2011-06-22 16:21:10 1QZMQg-0001Se-7l Completed
2011-06-22 16:25:55 H=domain.local (devel.oikumena.com) [192.168.12.254] I=[192.168.12.252]:25 F=<> rejected RCPT <straggliestqrys65@domain.ru>: Unrouteable address
2011-06-22 16:26:15 1QZMVL-0001Sv-N4 <= admin@mail.ru H=domain.local (f183.mail.ru) [192.168.12.254] I=[192.168.12.252]:25 P=esmtp S=1640 id=E1QZJcj-0000iV-00.admin-mail-ru@f183.mail.ru from <admin@mail.ru> for info@domain.ru
2011-06-22 16:26:15 1QZMVL-0001Sv-N4 == info@domain.ru R=dovecot_user T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/lib/dovecot/deliver
Код: Выделить всё
127.0.0.1 localhost
192.168.12.254 domain.local
127.0.0.1 domain.ru
|192.168.0.2|<mail----------gate>|192.168.0.1|+|222.111.222.111|<----internet----->