PDA

Просмотр полной версии : Postfix: отправка почты.


Arsak
06.08.2007, 17:47
Сделал postfix c sasl-аутентификацией. Почта на домен приходит отовсюду - с этим проблем нет. Но вот с отправкой .... Почта нормально отправляется только на адрес из домена; в какой-либо другой домен почта не уходит - письмо просто помещается в очередь и находится в ней неограниченно долго; причём без ругательств (queue active, ok и всё). Подозреваю, что это может быть связано с тем, что postfix находится за фаерволом (хотя на фаере для него все нат-преобразования сделаны). Как можно решить проблему с отправкой почты на другие домены?
конфиг постфикса:

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix

myhostname = mx2.any.ru
mydomain = any.ru
myorigin = $mydomain
inet_interfaces = all
proxy_interfaces = xxx.xx.xx.xx
mydestination = $mydomain, mx2.any.ru, relay.any.ru, $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = xxx.xxx.xxx.xxx/nn, xxx.xxx.xxx.xxx/nn, xxx.xxx.xx.xx/nn

debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = maildrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/packages/postfix/samples
readme_directory = /usr/share/doc/packages/postfix/README_FILES
inet_protocols = all
biff = no
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
program_directory = /usr/lib/postfix
masquerade_domains =
defer_transports =
disable_dns_lookups = no
mailbox_command =
strict_8bitmime = no
disable_mime_output_conversion = no

mailbox_transport = lmtp:unix:/var/spool/postfix/public/lmtp
virtual_transport = lmtp:unix:/var/spool/postfix/public/lmtp
virtual_mailbox_domains = any.ru
virtual_alias_maps = hash:/etc/postfix/virtual

smtpd_client_restrictions = permit_sasl_authenticated
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname
strict_rfc821_envelopes = no

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_application_name = smtpd
smtp_sasl_local_domain = any.ru
smtpd_sasl_security_options = noanonymous
smtpd_sasl_autheticated_header=yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_use_tls = no
smtp_use_tls = no

alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 3250000

smtp_sasl_tls_security_options = no
smtp_sasl_tls_verified_security_options = no
smtpd_sasl_tls_security_options = no

Артур Крюков
07.08.2007, 15:52
в первую очередь проверить настройки роутинга и клиента Dns.

Arsak
07.08.2007, 21:03
в первую очередь проверить настройки роутинга и клиента Dns.
А как их проверить -- вроде host -t mx rambler.ru или host -t mx мой_домен.ru отрабатывают одинаково - выдают MX записи доменов.
Впечатление, что у меня что-то не так с транспортом. Сообщение в другой домен помещается в очередь, висит там и похоже даже не предпринимаются попытки к отправке -- смотрел tcpdump-ом - после обмена инфой между клиентом и сервером (авторизация+постановка сообщения в очередь) на сетевом интерфейсе сервера какая-либо активность прекращается.

Arsak
07.08.2007, 21:32
вот логи МТА
- при отправке на свой домен:

Aug 7 16:54:08 hostname postfix/smtpd[9214]: connect from unknown[xx.xxx.xxx.xxx]
Aug 7 16:54:08 hostname postfix/smtpd[9214]: 9DB351326F: client=unknown[xx.xxx.xxx.xxx], sasl_method=LOGIN, sasl_username=agent@any.ru
Aug 7 16:54:08 hostname postfix/cleanup[9226]: 9DB351326F: message-id=<01f901c7d8f2$f8706830$c000a8c0@domain.local>
Aug 7 16:54:08 hostname postfix/qmgr[6110]: 9DB351326F: from=<agent@any.ru>, size=617, nrcpt=1 (queue active)
Aug 7 16:54:08 hostname postfix/smtpd[9214]: disconnect from unknown[xx.xxx.xxx.xxx]
Aug 7 16:54:08 hostname postfix/lmtp[9234]: 9DB351326F: to=<doctor@any.ru>, relay=mx2.any.ru[/var/spool/postfix/public/lmtp], delay=0.14, delays=0.08/0.02/0.02/0.02, dsn=2.1.5, status=sent (250 2.1.5 Ok)
Aug 7 16:54:08 hostname postfix/qmgr[6110]: 9DB351326F: removed
и письмо благополучно оказывается в цир-имаповском ящике
(письма приходят с любых доменов)

- а вот при отправке на другой домен:

Aug 7 17:01:09 hostname postfix/smtpd[9288]: connect from unknown[xx.xxx.xxx.xxx]
Aug 7 17:01:09 hostname postfix/smtpd[9288]: 522C0131C0: client=unknown[xx.xxx.xxx.xxx], sasl_method=LOGIN, sasl_username=agent@any.ru
Aug 7 17:01:09 hostname postfix/cleanup[9300]: 522C0131C0: message-id=<01ff01c7d8f3$f3350820$c000a8c0@domain.local>
Aug 7 17:01:09 hostname postfix/qmgr[6110]: 522C0131C0: from=<agent@any.ru>, size=615, nrcpt=1 (queue active)
Aug 7 17:01:09 hostname postfix/smtpd[9288]: disconnect from unknown[xx.xxx.xxx.xxx]
и тишина
в очереди появляется и висит
522C0131C0* 615 Tue Aug 7 17:01:09 agent@any.ru
nekto@mail.ru

от почтового клиента не зависит; в the_bat всё то же самое, только sasl_method изменяется на cram-md5

то ли оно зацикливается в очереди (хотя tcpdump-ом это не видно), то ли считает, что попав в очередь, достигло цели