EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Stranger
- рядовой
- Сообщения: 16
- Зарегистрирован: 2007-08-06 23:46:32
Непрочитанное сообщение
Stranger » 2008-08-31 20:29:51
Приветствую.
Настраивал вот по этому конфигу
http://www.lissyara.su/?id=1148.
На прием и получение все ок. письма с mail.ru ходят без проблем.
А с отправкой какие то траблы:
Код: Выделить всё
2008-08-31 20:59:27 auth_cram_md5 authenticator failed for ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[mailservip]:25: 535 Incorrect authentication data (set_id=admin4@testmail.xxx.ru)
2008-08-31 20:59:27 auth_plain authenticator failed for ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[mailservip]:25: 535 Incorrect authentication data (set_id=admin4@testmail.xxx.ru)
2008-08-31 20:59:27 auth_login authenticator failed for ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[mailservip]:25: 535 Incorrect authentication data (set_id=admin4@testmail.xxx.ru)
2008-08-31 20:59:37 H=ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[mailservip]:25 F=<admin2@testmail.xxx.ru> rejected RCPT <testmail@mail.ru>: "Ups.. Open Relay = Bad Relay"
пробовал разные алгоритмы шифрование в dbmail но безрезультатно, из клиентов тестировал на M$ outlook'e и TheBat - абсолютно одинаковые ошибки...
вот конфиг экзима:
Код: Выделить всё
primary_hostname = testmail.xxx.ru
hide mysql_servers = localhost/dbmail/dbmail/DBMAIL
domainlist local_domains = ${lookup mysql{SELECT `domainname` FROM `domains` WHERE `domainname`='${domain}' AND (`type`='LOCAL' OR `type`='VIRTUAL')}}
domainlist relay_to_domains = ${lookup mysql{SELECT `domainname` FROM `domains` WHERE `domainname`='${domain}' AND `type`='RELAY'}}
hostlist relay_from_hosts = localhost:127.0.0.1/8
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
av_scanner = clamd:/var/run/clamav/clamd.sock
qualify_domain = testmail.xxx.ru
exim_user = mailnull
exim_group = mail
never_users = root
host_lookup = *
rfc1413_query_timeout = 0s
sender_unqualified_hosts = +relay_from_hosts
recipient_unqualified_hosts = +relay_from_hosts
ignore_bounce_errors_after = 60m
timeout_frozen_after = 14d
auto_thaw = 1h
smtp_accept_max = 250
smtp_accept_max_per_connection = 50
smtp_connect_backlog = 50
smtp_accept_max_per_host = 500
split_spool_directory = true
remote_max_parallel = 10
return_size_limit = 50k
message_size_limit = 20M
helo_allow_chars = _
smtp_enforce_sync = true
log_selector = \
+all_parents \
+connection_reject \
+incoming_interface \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
+queue_run
syslog_timestamp = no
begin acl
acl_check_rcpt:
accept hosts = :
deny message = "Bad Symbols"
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = "Bad Symbols..."
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
accept local_parts = postmaster
domains = +local_domains
require verify = sender
deny message = "HELO/EHLO must be like in SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
accept authenticated = *
deny message = "Dont write your ip in your HELO!"
# все хосты кроме тех, что в relay_from_hosts
hosts = * : !+relay_from_hosts
condition = ${if eq{$sender_helo_name}{$sender_host_address} \
{true}{false}}
deny condition = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "This ip address is mine"
warn
set acl_m0 = 10s
warn
hosts = +relay_from_hosts : 12.34.56.0/24
set acl_m0 = 0s
warn
logwrite = Delay $acl_m0 for $sender_host_name \
[$sender_host_address] with HELO=$sender_helo_name. Mail \
from $sender_address to $local_part@$domain.
delay = $acl_m0
accept domains = +local_domains
endpass
message = "Are you sure?"
verify = recipient
accept domains = +relay_to_domains
endpass
message = "I dont know route to this host... really"
verify = recipient
accept hosts = +relay_from_hosts
deny message = "Ups.. Open Relay = Bad Relay"
acl_check_data:
deny malware = *
message = "В письме вирус - $malware_name"
accept
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
dbmailuser:
driver = accept
condition = ${lookup mysql{SELECT `alias_idnr` FROM \
`dbmail_aliases` WHERE \
`alias`='${quote_mysql:$local_part@$domain}' OR \
`alias`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dbmail_delivery
begin transports
driver = smtp
dbmail_delivery:
driver = pipe
check_string =
command = /usr/local/sbin/dbmail-smtp -d ${pipe_addresses}
group = mail
message_prefix = ""
message_suffix = ""
path="/bin:/sbin:/usr/local/bin:/usr/local/sbin"
address_pipe:
driver = pipe
return_output
address_reply:
driver = autoreply
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}' AND `passwd` = '${quote_mysql:$2}'}{yes}{no}}
server_prompts = :
server_set_id = $2
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}' AND `passwd` = '${quote_mysql:$2}'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT `passwd` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}'}{$value}fail}
server_set_id = $1
Помогите, плз, кто чем может )
Stranger
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2008-08-31 20:41:25
auth_plain authenticator failed
auth_login authenticator failed
auth_cram_md5 authenticator failed
begin authenticators
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}' AND `passwd` = '${quote_mysql:$2}'}{yes}{no}}
server_prompts = :
server_set_id = $2
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}' AND `passwd` = '${quote_mysql:$2}'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT `passwd` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}'}{$value}fail}
server_set_id = $1
Вот тут у тебя проблемы.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Stranger
- рядовой
- Сообщения: 16
- Зарегистрирован: 2007-08-06 23:46:32
Непрочитанное сообщение
Stranger » 2008-08-31 20:49:36
Да это я понимаю, но если выполняю такой же запрос в базу ручками, то он мне выдает пасс.
Как протестировать чтобы понять в чем трабл, пытался экзим с ключом -d запустить, но что-то не срослось

Stranger
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2008-08-31 21:42:49
Stranger писал(а):Как протестировать чтобы понять в чем трабл, пытался экзим с ключом -d запустить, но что-то не срослось

exim -d+all
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Stranger
- рядовой
- Сообщения: 16
- Зарегистрирован: 2007-08-06 23:46:32
Непрочитанное сообщение
Stranger » 2008-08-31 23:06:38
Вообщем вот дебаг, к сожалению чего то не вижу конкретного места где бы сравнивались пассворды.... кстати а может быть дело в dbmail'e ?
Код: Выделить всё
46768 Listening...
46770 sender_fullhost = [12.34.56.78]
46770 sender_rcvhost = [12.34.56.78]
46770 Process 46770 is handling incoming connection from [12.34.56.78]
46770 checking for IP options
46770 no IP options found
46770 host in host_lookup? yes (matched "*")
46770 looking up host name for 12.34.56.78
46770 DNS lookup of 78.56.34.12.in-addr.arpa (PTR) succeeded
46770 IP address lookup yielded ppp12-34-56-78.pppoe.avangarddsl.ru
46770 gethostbyname looked up these IP addresses:
46770 name=ppp12-34-56-78.pppoe.avangarddsl.ru address=12.34.56.78
46770 checking addresses for ppp12-34-56-78.pppoe.avangarddsl.ru
46770 12.34.56.78 OK
46770 sender_fullhost = ppp12-34-56-78.pppoe.avangarddsl.ru [12.34.56.78]
46770 sender_rcvhost = ppp12-34-56-78.pppoe.avangarddsl.ru ([12.34.56.78])
46770 set_process_info: 46770 handling incoming connection from ppp12-34-56-78.pppoe.avangarddsl.ru [12.34.56.78] I=[88.88.88.88]:25
46770 host in host_reject_connection? no (option unset)
46770 gethostbyname looked up these IP addresses:
46770 name=localhost address=127.0.0.1
46770 host in "localhost:127.0.0.1/8"? no (end of list)
46770 host in sender_unqualified_hosts? no (end of list)
46770 cached no match for +relay_from_hosts
46770 host in recipient_unqualified_hosts? no (end of list)
46770 host in helo_verify_hosts? no (option unset)
46770 host in helo_try_verify_hosts? no (option unset)
46770 host in helo_accept_junk_hosts? no (option unset)
46770 SMTP>> 220 testmail.xxx.ru ESMTP Exim 4.69 Sun, 31 Aug 2008 23:58:34 +0300
46770 Process 46770 is ready for new message
46770 smtp_setup_msg entered
46770 SMTP<< EHLO stranger-f8sn.blablabla.ru
46770 sender_fullhost = ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78]
46770 sender_rcvhost = ppp12-34-56-78.pppoe.avangarddsl.ru ([12.34.56.78] helo=stranger-f8sn.blablabla.ru)
46770 set_process_info: 46770 handling incoming connection from ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[88.88.88.88]:25
46770 host in pipelining_advertise_hosts? yes (matched "*")
46770 host in auth_advertise_hosts? yes (matched "*")
46770 host in tls_advertise_hosts? no (option unset)
46770 SMTP>> 250-testmail.xxx.ru Hello ppp12-34-56-78.pppoe.avangarddsl.ru [12.34.56.78]
46770 250-SIZE 25165824
46770 250-PIPELINING
46770 250-AUTH PLAIN LOGIN CRAM-MD5
46770 250 HELP
46770 SMTP<< AUTH CRAM-MD5
46770 SMTP>> 334 PDQ2NzcwLjEyMjAyMTYzMTRAdGVzdG1haWwuY21rLnJ1Pg==
46770 SMTP<< c3RyYW5nZXJAdGVzdG1haWwuY21rLnJ1IDJhNWY1YzM5YWMzZTc3MDlmZTk0NjBlNWMyZmExMjI0
46770 search_open: mysql "NULL"
46770 search_find: file="NULL"
46770 key="SELECT `passwd` FROM `dbmail_users` WHERE `userid` = 'stranger@testmail.xxx.ru'" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `passwd` FROM `dbmail_users` WHERE `userid` = 'stranger@testmail.xxx.ru'"
46770 database lookup required for SELECT `passwd` FROM `dbmail_users` WHERE `userid` = 'stranger@testmail.xxx.ru'
46770 MySQL query: SELECT `passwd` FROM `dbmail_users` WHERE `userid` = 'stranger@testmail.xxx.ru'
46770 MYSQL new connection: host=localhost port=0 socket=NULL database=dbmail user=dbmail
46770 lookup yielded: $1$uhrjX/dS$2dbSur/FjZhFVvUnln9Ql1
46770 CRAM-MD5: user name = stranger@testmail.xxx.ru
46770 challenge = <46770.1220216314@testmail.xxx.ru>
46770 received = 2a5f5c39ac3e7709fe9460e5c2fa1224
46770 digest = 224f02d2fb301c91ce3dfa7776ee2a24
46770 SMTP>> 535 Incorrect authentication data
46770 LOG: MAIN REJECT
46770 auth_cram_md5 authenticator failed for ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[88.88.88.88]:25: 535 Incorrect authentication data (set_id=stranger@testmail.xxx.ru)
46770 SMTP<< AUTH PLAIN
46770 host in smtp_accept_max_nonmail_hosts? yes (matched "*")
46770 SMTP>> 334
46770 SMTP<< AHN0cmFuZ2VyQHRlc3RtYWlsLmNtay5ydQBhMTZWMDFwOTdhbHBoYQ==
46770 auth_plain authenticator:
46770 $auth1 =
46770 $auth2 = stranger@testmail.xxx.ru
46770 $auth3 = megapassword
46770 $1 =
46770 $2 = stranger@testmail.xxx.ru
46770 $3 = megapassword
46770 search_open: mysql "NULL"
46770 cached open
46770 search_find: file="NULL"
46770 key="SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '' AND `passwd` = 'stranger@testmail.xxx.ru'" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '' AND `passwd` = 'stranger@testmail.xxx.ru'"
46770 database lookup required for SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '' AND `passwd` = 'stranger@testmail.xxx.ru'
46770 MySQL query: SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '' AND `passwd` = 'stranger@testmail.xxx.ru'
46770 MYSQL using cached connection for localhost/dbmail/dbmail
46770 MYSQL: no data found
46770 lookup failed
46770 expanded string: no
46770 SMTP>> 535 Incorrect authentication data
46770 LOG: MAIN REJECT
46770 auth_plain authenticator failed for ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[88.88.88.88]:25: 535 Incorrect authentication data (set_id=stranger@testmail.xxx.ru)
46770 SMTP<< RSET
46770 SMTP>> 250 Reset OK
46770 SMTP<< AUTH LOGIN
46770 SMTP>> 334 VXNlcm5hbWU6
46770 SMTP<< c3RyYW5nZXJAdGVzdG1haWwuY21rLnJ1
46770 SMTP>> 334 UGFzc3dvcmQ6
46770 SMTP<< YTE2VjAxcDk3YWxwaGE=
46770 auth_login authenticator:
46770 $auth1 = stranger@testmail.xxx.ru
46770 $auth2 = megapassword
46770 $1 = stranger@testmail.xxx.ru
46770 $2 = megapassword
46770 search_open: mysql "NULL"
46770 cached open
46770 search_find: file="NULL"
46770 key="SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = 'stranger@testmail.xxx.ru' AND `passwd` = 'megapassword'" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = 'stranger@testmail.xxx.ru' AND `passwd` = 'megapassword'"
46770 database lookup required for SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = 'stranger@testmail.xxx.ru' AND `passwd` = 'megapassword'
46770 MySQL query: SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = 'stranger@testmail.xxx.ru' AND `passwd` = 'megapassword'
46770 MYSQL using cached connection for localhost/dbmail/dbmail
46770 MYSQL: no data found
46770 lookup failed
46770 expanded string: no
46770 SMTP>> 535 Incorrect authentication data
46770 LOG: MAIN REJECT
46770 auth_login authenticator failed for ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[88.88.88.88]:25: 535 Incorrect authentication data (set_id=stranger@testmail.xxx.ru)
46770 SMTP<< RSET
46770 SMTP>> 250 Reset OK
46770 SMTP<< MAIL FROM:<admin2@testmail.xxx.ru> SIZE=473
46770 spool directory space = 140030176K inodes = 19669784 check_space = 0K inodes = 0 msg_size = 5473
46770 SMTP>> 250 OK
46770 SMTP<< RCPT TO:<super-email@mail.ru>
46770 using ACL "acl_check_rcpt"
46770 processing "accept"
46770 check hosts = :
46770 host in ":"? no (end of list)
46770 accept: condition test failed
46770 processing "deny"
46770 check domains = +local_domains
46770 search_open: mysql "NULL"
46770 cached open
46770 search_find: file="NULL"
46770 key="SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')"
46770 database lookup required for SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')
46770 MySQL query: SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')
46770 MYSQL using cached connection for localhost/dbmail/dbmail
46770 MYSQL: no data found
46770 lookup failed
46770 mail.ru in ""? no (end of list)
46770 mail.ru in "+local_domains"? no (end of list)
46770 deny: condition test failed
46770 processing "deny"
46770 check domains = !+local_domains
46770 search_open: mysql "NULL"
46770 cached open
46770 search_find: file="NULL"
46770 key="SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')"
46770 cached data used for lookup of SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')
46770 lookup failed
46770 mail.ru in ""? no (end of list)
46770 mail.ru in "!+local_domains"? yes (end of list)
46770 check local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
46770 8288448 in "^[./|] : ^.*[@%!] : ^.*/\.\./"? no (end of list)
46770 deny: condition test failed
46770 processing "accept"
46770 check local_parts = postmaster
46770 8288448 in "postmaster"? no (end of list)
46770 accept: condition test failed
46770 processing "require"
46770 check verify = sender
46770 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
46770 Verifying admin2@testmail.xxx.ru
46770 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
46770 Considering admin2@testmail.xxx.ru
46770 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
46770 routing admin2@testmail.xxx.ru
46770 --------> dnslookup router <--------
46770 local_part=admin2 domain=testmail.xxx.ru
46770 checking domains
46770 search_open: mysql "NULL"
46770 cached open
46770 search_find: file="NULL"
46770 key="SELECT `domainname` FROM `domains` WHERE `domainname`='testmail.xxx.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `domainname` FROM `domains` WHERE `domainname`='testmail.xxx.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')"
46770 database lookup required for SELECT `domainname` FROM `domains` WHERE `domainname`='testmail.xxx.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')
46770 MySQL query: SELECT `domainname` FROM `domains` WHERE `domainname`='testmail.xxx.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')
46770 MYSQL using cached connection for localhost/dbmail/dbmail
46770 lookup yielded: testmail.xxx.ru
46770 testmail.xxx.ru in "testmail.xxx.ru"? yes (matched "testmail.xxx.ru")
46770 testmail.xxx.ru in "! +local_domains"? no (matched "! +local_domains")
46770 dnslookup router skipped: domains mismatch
46770 --------> dbmailuser router <--------
46770 local_part=admin2 domain=testmail.xxx.ru
46770 checking "condition"
46770 search_open: mysql "NULL"
46770 cached open
46770 search_find: file="NULL"
46770 key="SELECT `alias_idnr` FROM `dbmail_aliases` WHERE `alias`='admin2@testmail.xxx.ru' OR `alias`='@testmail.xxx.ru'" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `alias_idnr` FROM `dbmail_aliases` WHERE `alias`='admin2@testmail.xxx.ru' OR `alias`='@testmail.xxx.ru'"
46770 database lookup required for SELECT `alias_idnr` FROM `dbmail_aliases` WHERE `alias`='admin2@testmail.xxx.ru' OR `alias`='@testmail.xxx.ru'
46770 MySQL query: SELECT `alias_idnr` FROM `dbmail_aliases` WHERE `alias`='admin2@testmail.xxx.ru' OR `alias`='@testmail.xxx.ru'
46770 MYSQL using cached connection for localhost/dbmail/dbmail
46770 lookup yielded: 2
46770 calling dbmailuser router
46770 dbmailuser router called for admin2@testmail.xxx.ru
46770 domain = testmail.xxx.ru
46770 set transport dbmail_delivery
46770 queued for dbmail_delivery transport: local_part = admin2
46770 domain = testmail.xxx.ru
46770 errors_to=NULL
46770 domain_data=NULL localpart_data=NULL
46770 routed by dbmailuser router
46770 envelope to: admin2@testmail.xxx.ru
46770 transport: dbmail_delivery
46770 ----------- end verify ------------
46770 sender admin2@testmail.xxx.ru verified ok
46770 require: condition test succeeded
46770 processing "deny"
46770 check condition = ${if eq{$sender_helo_name}{}{yes}{no}}
46770 = no
46770 deny: condition test failed
46770 processing "accept"
46770 check authenticated = *
46770 accept: condition test failed
46770 processing "deny"
46770 check hosts = * : !+relay_from_hosts
46770 host in "* : !+relay_from_hosts"? yes (matched "*")
46770 check condition = ${if eq{$sender_helo_name}{$sender_host_address} {true}{false}}
46770 = false
46770 deny: condition test failed
46770 processing "deny"
46770 check condition = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}
46770 = no
46770 deny: condition test failed
46770 processing "warn"
46770 check set acl_m0 = 10s
46770 warn: condition test succeeded
46770 processing "warn"
46770 check hosts = +relay_from_hosts : 195.182.132.0/24
46770 cached no match for +relay_from_hosts
46770 cached lookup data = NULL
46770 host in "+relay_from_hosts : 195.182.132.0/24"? no (end of list)
46770 warn: condition test failed
46770 processing "warn"
46770 check logwrite = Delay $acl_m0 for $sender_host_name [$sender_host_address] with HELO=$sender_helo_name. Mail from $sender_address to $local_part@$domain.
46770 = Delay 10s for ppp12-34-56-78.pppoe.avangarddsl.ru [12.34.56.78] with HELO=stranger-f8sn.blablabla.ru. Mail from admin2@testmail.xxx.ru to super-email@mail.ru.
46770 LOG: MAIN
46770 Delay 10s for ppp12-34-56-78.pppoe.avangarddsl.ru [12.34.56.78] with HELO=stranger-f8sn.blablabla.ru. Mail from admin2@testmail.xxx.ru to super-email@mail.ru.
46770 check delay = $acl_m0
46770 = 10s
46770 delay modifier requests 10-second delay
46770 warn: condition test succeeded
46770 processing "accept"
46770 check domains = +local_domains
46770 search_open: mysql "NULL"
46770 cached open
46770 search_find: file="NULL"
46770 key="SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')"
46770 cached data used for lookup of SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND (`type`='LOCAL' OR `type`='VIRTUAL')
46770 lookup failed
46770 mail.ru in ""? no (end of list)
46770 mail.ru in "+local_domains"? no (end of list)
46770 accept: condition test failed
46770 processing "accept"
46770 check domains = +relay_to_domains
46770 search_open: mysql "NULL"
46770 cached open
46770 search_find: file="NULL"
46770 key="SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND `type`='RELAY'" partial=-1 affix=NULL starflags=0
46770 LRU list:
46770 internal_search_find: file="NULL"
46770 type=mysql key="SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND `type`='RELAY'"
46770 database lookup required for SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND `type`='RELAY'
46770 MySQL query: SELECT `domainname` FROM `domains` WHERE `domainname`='mail.ru' AND `type`='RELAY'
46770 MYSQL using cached connection for localhost/dbmail/dbmail
46770 MYSQL: no data found
46770 lookup failed
46770 mail.ru in ""? no (end of list)
46770 mail.ru in "+relay_to_domains"? no (end of list)
46770 accept: condition test failed
46770 processing "accept"
46770 check hosts = +relay_from_hosts
46770 cached no match for +relay_from_hosts
46770 cached lookup data = NULL
46770 host in "+relay_from_hosts"? no (end of list)
46770 accept: condition test failed
46770 processing "deny"
46770 deny: condition test succeeded
46770 SMTP>> 550 "Ups.. Open Relay = Bad Relay"
46770 LOG: MAIN REJECT
46770 H=ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[88.88.88.88]:25 F=<admin2@testmail.xxx.ru> rejected RCPT <super-email@mail.ru>: "Ups.. Open Relay = Bad Relay"
46770 SMTP<< RSET
46770 SMTP>> 250 Reset OK
46770 SMTP<< RSET
46770 SMTP>> 250 Reset OK
46770 SMTP<< QUIT
46770 SMTP>> 221 testmail.xxx.ru closing connection
46770 LOG: smtp_connection MAIN
46770 SMTP connection from ppp12-34-56-78.pppoe.avangarddsl.ru (stranger-f8sn.blablabla.ru) [12.34.56.78] I=[88.88.88.88]:25 closed by QUIT
46770 search_tidyup called
46770 close MYSQL connection: localhost/dbmail/dbmail
46768 child 46770 ended: status=0x0
46768 0 SMTP accept processes now running
Stranger
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2008-09-01 10:34:34
46770 SMTP<<
AUTH PLAIN
46770 host in smtp_accept_max_nonmail_hosts? yes (matched "*")
46770 SMTP>> 334
46770 SMTP<< AHN0cmFuZ2VyQHRlc3RtYWlsLmNtay5ydQBhMTZWMDFwOTdhbHBoYQ==
46770 auth_plain authenticator:
46770 $auth1 =
46770
$auth2 = stranger@testmail.xxx.ru
46770
$auth3 = megapassword
Здесь очевидно, что в $2($auth2) содержится login, а $3 - пароль.
Твой SQL запрос неверный и должен быть изменён.
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$2}' AND `passwd` = '${quote_mysql:$3}'}{yes}{no}}
server_prompts = :
server_set_id = $2
Аутентификация LOGIN не работает по неизвестным причинам. (Нужна одна запись из базы mysql)
46770 MySQL query: SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '
stranger@testmail.xxx.ru' AND `passwd` = 'megapassword'
46770 MYSQL: no data found
Пароли в базе должны быть в открытом виде.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
Stranger
- рядовой
- Сообщения: 16
- Зарегистрирован: 2007-08-06 23:46:32
Непрочитанное сообщение
Stranger » 2008-09-01 12:39:49
Спасибо, пофиксил.
По поводу открытых паролей дело в том, что по сути установка этого сервера это решение проблемы описанной в топике
http://forum.lissyara.su/viewtopic.php?f=20&t=10551.
Вкратце перенос из сендмаила с системными юзверями, в новую систему где все будет хранится в БД.
Соответсвенно открытых паролей быть к сожалению не может.
Насколько я понял dbmail абсолютно адекватно обрабатывает такие виды паролей, а вот экзим чего то не хочет.
Подскажите плиз как можно обучить экзим работать с такими типами паролей
Stranger
-
Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-09-01 18:59:43
процедурой на перле например
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-09-01 19:13:39
Код: Выделить всё
sub smtpauth
{
$username = Exim::expand_string('$1');
$password = Exim::expand_string('$2');
$extra = Exim::expand_string('$3');
$domain = "";
$unixuser = 1;
#check for netscape that offsets the login/pass by one
if ($username eq "" && length($extra) > 0)
{
$username = $password;
$password = $extra;
}
if ($username =~ /\@/)
{
$unixuser = 0;
($username,$domain) = split(/\@/, $username);
if ($domain eq "") { return "no"; }
}
if ($unixuser == 1)
{
#the username passed doesn't have a domain, so its a system account
$homepath = (getpwnam($username))[7];
if ($homepath eq "") { return 0; }
open(PASSFILE, "< $homepath/.shadow") || return "no";
$crypted_pass = <PASSFILE>;
close PASSFILE;
if ($crypted_pass eq crypt($password, $crypted_pass)) { return "yes"; }
else { return "no"; }
}
else
{
#the username contain a domain, which is now in $domain.
#this is a pure virtual pop account.
open(PASSFILE, "< /etc/virtual/$domain/passwd") || return "no";
while (<PASSFILE>)
{
($test_user,$test_pass) = split(/:/,$_);
$test_pass =~ s/\n//g; #snip out the newline at the end
if ($test_user eq $username)
{
if ($test_pass eq crypt($password, $test_pass))
{
close PASSFILE;
return "yes";
}
}
}
close PASSFILE;
return "no";
}
return "no";
}
это из директадмина
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Stranger
- рядовой
- Сообщения: 16
- Зарегистрирован: 2007-08-06 23:46:32
Непрочитанное сообщение
Stranger » 2008-09-01 21:32:27
Thx конечно, но где найти пример синтаксиса для того варианта:
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}' AND `passwd` = '${quote_mysql:</usr/local/etc/exim/crypt_password.pl $2>}'}{yes}{no}}
server_prompts = :
server_set_id = $2
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT `user_idnr` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}' AND `passwd` = '${quote_mysql: </usr/local/etc/exim/crypt_password.pl $2>}'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = </usr/local/etc/exim/crypt_password.pl ${lookup mysql{SELECT `passwd` FROM `dbmail_users` WHERE `userid` = '${quote_mysql:$1}'}{$value}fail}>
server_set_id = $1
Stranger
-
Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-09-01 21:55:06
в документации разумеется.
======
в экзиме перл встроенный, вызывается один раз на запуске, в дальнейшем идёт обращение непосредственно к процедуре по имени.
Код: Выделить всё
perl_startup = do '/usr/local/etc/exim/exim.pl'
в главной, и в аутентификаторах
Код: Выделить всё
begin authenticators
plain:
driver = plaintext
public_name = PLAIN
server_condition = "${perl{smtpauth}}"
server_set_id = $2
login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = "${perl{smtpauth}}"
server_set_id = $1
и ещё раз настоятельно рекомендую читать документацию.
у меня редко бывает настроение всё разжевать.
Убей их всех! Бог потом рассортирует...
Alex Keda