Доброго всем времени суток.Обращаюсь ко всем,кто ставил/настраивал связку exim+mysql.
Проблема в том,что exim при отправке почты "в мир" не пишет переменную $local_part в поле from.Т.е.,при отправке адрес отправителя выглядит как @domain.ru вместо user@domain.ru.
Вот кусок лога exim :
1LMF8P-00027l-0K <= @barnget.ru H=(46_5.barnget.local) [192.168.0.15] I=[172.16.0.2]:25 P=esmtpsa X=TLSv1:AES256-SHA:256 A=auth_cram_md5: S=697 id=496AD19E.2010004@barnget.ru from <nodep@barnget.ru> for kto-pisal@yandex.ru
2009-01-12 11:15:05 1LMF8P-00027l-0K ** kto-pisal@yandex.ru R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<@barnget.ru> SIZE=1741: host mx1.yandex.ru [77.88.21.89]: 501-5.1.7 Path data: No local part before leading @-character ?\n501 5.1.7 Hi [81.201.242.106], that was for input: @barnget.ru> SIZE=1741
Как видно из лога,переменная local_part пустая.
Куски конфига,относящиеся к sql-запросам,роутерам и транспортам:
domainlist local_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${domain}' AND \
`active`='1'}}
...........
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 mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}'}} OR \
`address`='${quote_mysql:@$domain}'}}
dovecot_user:
driver = accept
condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM \
`mailbox` WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
transport = local_delivery
begin transports
remote_smtp:
driver = smtp
local_delivery:
driver = appendfile
directory = /var/mail/exim/${domain}/${local_part}
maildir_format
delivery_date_add
envelope_to_add
return_path_add
user = mailnull
group = mail
mode = 0660
address_pipe:
driver = pipe
return_output
address_reply:
driver = autoreply
Перезаписи адресов нет,аутентификация работает.Если подцепиться к мускулу и вручную сделать запрос - возвращается именно то,что и нужно.
В принципе работает всё,кроме необходимой как воздух отправки "в мир".