ещё раз доброго времени суток!!!
вот кониг exim'а
root@test# cat configure
primary_hostname = mydome.ruhide mysql_servers = localhost/exim/sqlmail/my_password
domainlist local_domains = ${lookup mysql{SELECT domain FROM domains \
WHERE domain='${domain}' AND \
(type='LOCAL' OR type='VIRTUAL')}}
#domainlist relay_to_domains = *
domainlist relay_to_domains = ${lookup mysql{SELECT domain FROM domains \
WHERE domain='${domain}' AND type='RELAY'}}
hostlist relay_from_hosts = 127.0.0.1
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
qualify_domain = mydome.ru
allow_domain_literals = false
exim_user = mailnull
never_users = root:daemon:bin
host_lookup = *
#rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 30m
timeout_frozen_after = 3d
freeze_tell = postmaster@test.infnet.ru
auto_thaw = 1h
#system_filter = /etc/mail/system-filter
#message_body_visible = 5000
#message_size_limit = 10M
smtp_accept_max = 50
smtp_accept_max_per_connection = 50
smtp_connect_backlog = 50
smtp_accept_max_per_host = 25
split_spool_directory = true
remote_max_parallel = 15
return_size_limit = 70k
log_selector = \
+all_parents \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run
begin acl
acl_check_rcpt:
accept hosts = :
deny local_parts = ^[.] : ^.*[@%!/|]
domains = +local_domains
deny local_parts = ^[./|] : ^.*[@%!/|] : ^.*/\\.\\./
domains = !+local_domains
accept local_parts = postmaster
domains = +local_domains
# require verify = sender
deny message = HELO/EHLO required by SMTP RFC
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
accept authenticated = *
deny message = Go Away! You are spammer.
condition = ${if match{$sender_host_name} \
{bezeqint\\.net|net\\.il|dialup|dsl|pool|peer|dhcp} \
{yes}{no}}
deny message = host is listed in $dnslist_domain
dnslists = sbl.spamhaus.org : \
relays.ordb.org : \
opm.blitzed.org : \
proxies.blackholes.easynet.nl
accept domains = +local_domains
endpass
message = unknown user
verify = recipient
accept domains = +relay_to_domains
endpass
message = unrouteable address
verify = recipient
accept hosts = +relay_from_hosts
deny message = relay not permitted
acl_check_data:
deny message = Go Away! Eat Your Spam Self!
condition = ${if match{$message_body} \
{105[-_]*51[-_]*86|778[-_]*98[-_]*94} \
{yes}{no}}
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
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT recipients FROM aliases \
WHERE local_part='${local_part}' AND domain='${domain}'}}
userforward:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT recipients FROM userforward \
WHERE local_part='${local_part}' AND domain='${domain}'}}
mysqluser:
driver = accept
condition = ${if eq{} {${lookup mysql{SELECT home FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}' \
AND active='Y'}}}{no}{yes}}
transport = mysql_delivery
begin transports
remote_smtp:
driver = smtp
mysql_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT(home, "/Maildir") FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}'}}
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
quota = ${lookup mysql{SELECT quota FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}'}{${value}M}}
quota_size_regex = S=(\d+)$
quota_warn_threshold = 75%
return_path_add
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
begin retry
#* quota
* * 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 id FROM users \
WHERE id = '${quote_mysql:${local_part:$2}}'\
AND mbox_host = '${quote_mysql:${domain:$2}}'\
AND passwd = '${quote_mysql:$3}'\
AND active = 'Y'}{yes}{no}}
server_prompts = :
server_set_id = $2
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT id FROM users \
WHERE id = '${quote_mysql:${local_part:$1}}' \
AND mbox_host = '${quote_mysql:${domain:$1}}' \
AND passwd = '${quote_mysql:$2}' \
AND active = 'Y'}{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 users \
WHERE id = '${quote_mysql:${local_part:$1}}' \
AND mbox_host = '${quote_mysql:${domain:$1}}' \
AND active = 'Y'}{$value}fail}
server_set_id = $1
делаем
[root@alf ~]# telnet mydomen.ru 25
Trying x.x.x.x...
Connected to mydomen.ru (x.x.x.x).
Escape character is '^]'.
220 mydomen.ru ESMTP Exim 4.61 Wed, 10 May 2006 11:59:26 +0400
ehlo jurinva
250-mydomen.ru Hello jurinva [80.82.80.4]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
auth plain
334
anVyaW52YUB0ZXN0LmluZm5ldC5ydQBqdXJpbnZhQHRlc3QuaW5mbmV0LnJ1AG15LXBhc3M=
235 Authentication succeeded
mail from: username@mydomen.ru
250 OK
rcpt to: username@mail.ru
250 Accepted
data
354 Enter message, ending with "." on a line by itself
Subject: zxcvb
asldfkj
al;sdkfj
lasdfjk
.
250 OK id=1FdjcS-000Isr-Tp
quit
однако
root@test# cat rejectlog | grep 11:35:21
2006-05-10 11:35:21 H=f22.mail.ru [194.67.57.55] F=<username@mail.ru> rejected RCPT <username@mydomen.ru>: Unrouteable address
кто нибудь может подсказать что не так?
если требуется содержание mysql таблиц? могу дополнительно привести