Вопрос по EXIM

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
FoxDW
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-08-04 4:42:43
Откуда: Красноярск
Контактная информация:

Вопрос по EXIM

Непрочитанное сообщение FoxDW » 2009-04-13 4:44:18

В очереди стало появляться куча замороженных сообщений, ниже вырезка из лога, адреса finans@bmw-elitavto.ru в виртуальном домене нет, почему эксим не отбрасывает письмо а продолжает его доставку, потом адрес отправителя вообще теряется.
Что это за фигня )

Код: Выделить всё

bsd# exim -bp
14h  3.3K 1LszQi-000Ap0-9V <>
          tenbeck@tillquistelteknik.se

12h  3.7K 1Lt10h-000B9f-Of <>
          wijbec@rozaug.ru

 6h  3.2K 1Lt6B9-000CJZ-1d <>
          hffverthnad@bordertown.com

 3h  9.4K 1Lt9A5-000CuX-58 <>
          ghod@olympus.ru

58m  4.6K 1LtBCU-000DPx-BL <> *** frozen ***
          xydvj@bonsorte.com

51m  8.5K 1LtBIf-000DSg-Oi <> *** frozen ***
          hiekiphly@cayman.ru

41m  3.1K 1LtBST-000DY5-Cj <> *** frozen ***
          wojot@rotaryinter.ru

Код: Выделить всё

#!/bin/sh

local_interfaces = 0.0.0.0.25 : 127.0.0.1.10025

primary_hostname = mail.bmw-elitavto.ru

domainlist local_domains = ${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE \
                            `domain`='${domain}' AND \
                            `active`='1' AND `transport`='LOCAL'}}

domainlist virtual_domains = ${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE \
                            `domain`='${domain}' AND \
                            `active`='1' AND \
			    `transport`='VIRTUAL'}}



domainlist relay_to_domains = ${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE \
                            `domain`='${domain}' AND \
                            `active`='1'}}

										    
hostlist relay_from_hosts = 127.0.0.1 : 192.168.2.0/24

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data


qualify_domain = bsd.eliteautocompany.ru

allow_domain_literals = false


exim_user = vmail

exim_group = vmail

never_users = root



rfc1413_query_timeout = 0s
sender_unqualified_hosts = +relay_from_hosts
recipient_unqualified_hosts = +relay_from_hosts
ignore_bounce_errors_after = 45m
timeout_frozen_after = 7d
helo_accept_junk_hosts = 192.168.2.0/24
auto_thaw = 1h
smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"
smtp_accept_max = 100
smtp_accept_max_per_connection = 100
smtp_connect_backlog = 30
smtp_accept_max_per_host = 100
split_spool_directory = true
remote_max_parallel = 15
return_size_limit = 70k
message_size_limit = 15M
helo_allow_chars = _
smtp_enforce_sync = false
warn_message_file = /usr/local/etc/exim/warn_message_file
bounce_message_file = /usr/local/etc/exim/bounce_message_file

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 = "incorrect symbol in address"
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]

deny	message = "incorrect symbol in address"
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

deny	message = "HELO/EHLO require by SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}


deny	condition = ${if eq{$sender_helo_name}\
{$interface_address}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "main IP in your HELO! Access denied!"

deny	condition = ${if match{$sender_helo_name}\
{\N^\d+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "can not be only number in HELO!"


deny	condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Sender address contains spaces?! not for RFC..."


deny	condition = ${if eq{$sender_address}{}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Sender address is empty?! not for RFC..."

deny    message       = "your hostname is bad (adsl, poll, ppp & etc)."
        condition     = ${if match{$sender_host_name}{adsl|dialup|pool|peer|dhcp}{yes}{no}}
									

warn
        set acl_m0 = 30s
warn
        hosts = +relay_from_hosts:192.168.2.0/24
        set acl_m0 = 0s

deny    message       = "you in blacklist - $dnslist_domain \n $dnslist_text"
hosts = !+relay_from_hosts : !localhost : !127.0.0.1 : !192.168.2.0/24
        dnslists      = cbl.abuseat.org : bl.csma.biz
																				

 
  
accept	domains = +local_domains
	endpass
	message = "NOT FOUND IN LOCAL"
	verify 	= recipient
	
accept	domains = +virtual_domains
	endpass
	message = "NOT FOUND IN VIRTUAL"
	verify 	= recipient

accept	domains = +relay_to_domains
	endpass
	message = "main server not know how relay to this address"
	verify  = recipient
  
accept	hosts = +relay_from_hosts
  
deny	message = "Relay not allow !"
  
  
acl_check_data:
  
  
accept
  
  
  
begin routers

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}'}}
   
amavis:
        driver = manualroute
        condition = "${if eq {$interface_port}{10025} {0}{1}}"
        # if scanning incoming mails, uncomment the following line and
        # change local_domains accordingly
        # domains = +local_domains
        transport = amavis
        route_list = "* localhost byname"
        self = send

vacation_autoreply:
driver = accept
domains = +virtual_domains
condition = ${lookup mysql{SELECT active FROM mailbox WHERE \
username='${quote_mysql:$local_part@$domain}' AND \
vacation='1'}{true}{false}}
senders = " ! ^.*-request@.*:\
! ^owner-.*@.*:\
! ^postmaster@.*:\
! ^listmaster@.*:\
! ^mailer-daemon@.*\
! ^root@.*\
! ^noreply@.*"
no_expn
no_verify
transport = vacation_autoreply
unseen
								
virtual_user:
driver = accept
domains = +virtual_domains
condition  = ${lookup mysql{ SELECT maildir FROM mailbox WHERE username='${quote_mysql:${local_part}@${domain}}' AND redirect=''}{yes}{no}}
transport = maildrop
		    
virtual_redirect:
driver = redirect
data  = ${lookup mysql{ SELECT redirect FROM mailbox WHERE username='${quote_mysql:${local_part}@${domain}}' AND redirect!=''}}


dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more								   


begin transports

remote_smtp:
driver = smtp
	     
maildrop:
driver = pipe
command = /usr/local/bin/maildrop -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = vmail

address_pipe:
driver = pipe
return_output
  
address_reply:
driver = autoreply
   
amavis:
driver = smtp
port = 10024
allow_localhost

vacation_autoreply:
driver = autoreply
to = $sender_address
from = "$local_part@$domain"
once = /var/spool/exim/vacation/$local_part.db
once_repeat = 7d
subject = Re: =?UTF-8?B?KNCw0LLRgtC+LdC+0YLQstC10YIpINCvINCyINC+0YLQv9GD0YE=?= \
=?UTF-8?B?0LrQtSBcIChhdXRvcmVwbHkpIEkgYW0gb24gdmFjYXRpb24=?=
text = "\
ъДТБЧУФЧХКФЕ $h_from\n\n\
ьФП - БЧФПНБФЙЮЕУЛЙК ПФЧЕФ ОБ чБЫЕ РЙУШНП $original_local_part@$original_domain \
оЕ УФЕУОСКФЕУШ РПУЩМБФШ ДПРПМОЙФЕМШОХА\n\
РПЮФХ, РПУЛПМШЛХ ЬФП ХЧЕДПНМЕОЙЕ ЧЩУЩМБЕФУС 1 ТБЪ ЛБЦДЩЕ 7 ДОЕК.\n\n\
English version below\n\n\
Dear $h_from\n\n\
This is an automatic reply to Your message for $original_local_part@$original_domain \
Feel free to send additional\n\
mail, as only this one notice will be generated once every 7 \
days."


begin retry


# Address or Domain  Error   Retries
# -----------------  -----   -------
*                    *       F,2h,15m; G,16h,1h,1.5; F,2d,6h

Код: Выделить всё

bsd# cat /var/log/maillog | grep byigjeur@expoindustry.ru
Apr 13 09:25:36 bsd exim[51030]: 1LtAvX-000DH4-Ko <= byigjeur@expoindustry.ru H=(4.subnet125-164-133.speedy.telkom.net.id) [125.164.133.4] I=[192.168.1.2]:25 P=esmtp S=1106 id=0426647244.98511915586612@expoindustry.ru from <byigjeur@expoindustry.ru> for finans@bmw-elitavto.ru
Apr 13 09:25:42 bsd exim[51037]: 1LtAve-000DHB-Om <= byigjeur@expoindustry.ru H=localhost [127.0.0.1] I=[127.0.0.1]:10025 P=esmtp S=1555 id=0426647244.98511915586612@expoindustry.ru from <byigjeur@expoindustry.ru> for finans@bmw-elitavto.ru
Apr 13 09:25:42 bsd amavis[50168]: (50168-07) Passed CLEAN, [125.164.133.4] [125.164.133.4] <byigjeur@expoindustry.ru> -> <finans@bmw-elitavto.ru>, Message-ID: <0426647244.98511915586612@expoindustry.ru>, mail_id: sj1ETWCGeE5R, Hits: 4.498, size: 1134, queued_as: 250 OK id=1LtAve-000DHB-Om, 5991 ms
Apr 13 09:25:42 bsd exim[51040]: 1LtAve-000DHE-Ps <= <> R=1LtAve-000DHB-Om U=vmail P=local S=2720 from <> for byigjeur@expoindustry.ru
Apr 13 09:25:44 bsd exim[51044]: 1LtAvg-000DHI-K4 <= <> H=localhost [127.0.0.1] I=[127.0.0.1]:10025 P=esmtp S=2944 id=E1LtAve-000DHE-Ps@mail.bmw-elitavto.ru from <> for byigjeur@expoindustry.ru
Apr 13 09:25:44 bsd amavis[50173]: (50173-07) Passed CLEAN, <> -> <byigjeur@expoindustry.ru>, Message-ID: <E1LtAve-000DHE-Ps@mail.bmw-elitavto.ru>, mail_id: 3Tbx3uxu7whD, Hits: -0.013, size: 2787, queued_as: 250 OK id=1LtAvg-000DHI-K4, 1813 ms
Apr 13 09:25:44 bsd exim[51041]: 1LtAve-000DHE-Ps => byigjeur@expoindustry.ru R=amavis T=amavis H=localhost [127.0.0.1] C="250 2.6.0 Ok, id=50173-07, from MTA([127.0.0.1]:10025): 250 OK id=1LtAvg-000DHI-K4"
Apr 13 09:25:45 bsd exim[51045]: 1LtAvg-000DHI-K4 ** byigjeur@expoindustry.ru R=dnslookup T=remote_smtp: SMTP error from remote mail server after RCPT TO:<byigjeur@expoindustry.ru>: host cluster.relay.agava.net [89.108.67.8]: 550 "Unknown user for this domain"
Последний раз редактировалось FoxDW 2009-04-13 10:04:40, всего редактировалось 1 раз.
Вот как то так

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.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/

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Вопрос по EXIM

Непрочитанное сообщение Laa » 2009-04-13 9:55:19

В конфиге не вижу описаных relay_to_domains и local_domains, а также virtualdomains.
Вы их скрыли от нас или они реально не описаны?
exim -bh some.ip.addr -- сделайте, сэмулируйте отправку письма на свой почтовик, посмотрите ПОЧЕМУ он эти письма принимает.

Еще было бы не плохо имееть verify = recipient.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
FoxDW
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-08-04 4:42:43
Откуда: Красноярск
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение FoxDW » 2009-04-13 10:05:11

конфиг перезалил

тест выдал что хост в блаклисте

Код: Выделить всё

550-"you in blacklist - cbl.abuseat.org
550 Blocked - see http://cbl.abuseat.org/lookup.cgi?ip=125.164.133.4"
LOG: H=(4.subnet125-164-133.speedy.telkom.net.id) [125.164.133.4] F=<byigjeur@expoindustry.ru> rejected RCPT finans@bmw-elitavto.ru: "you in blacklist - cbl.abuseat.org

А вот ответ полученый от сервера когда я послал письмо на несуществующий test@bmw-elitavto.ru

Код: Выделить всё

220 mail.bmw-elitavto.ru, ESMTP EXIM 4.69
helo bmw-elitavto.ru
>>> bmw-elitavto.ru in helo_lookup_domains? no (end of list)
250 mail.bmw-elitavto.ru Hello bmw-elitavto.ru [87.103.150.85]
mail from:byigjeur@expoindustry.ru
250 OK
rcpt to:test@bmw-elitavto.ru
>>> using ACL "acl_check_rcpt"
>>> processing "accept"
>>> check hosts = :
>>> host in ":"? no (end of list)
>>> accept: condition test failed
>>> processing "deny"
>>> check domains = +local_domains
>>> bmw-elitavto.ru in ""? no (end of list)
>>> bmw-elitavto.ru in "+local_domains"? no (end of list)
>>> deny: condition test failed
>>> processing "deny"
>>> check domains = !+local_domains
>>> bmw-elitavto.ru in ""? no (end of list)
>>> bmw-elitavto.ru in "!+local_domains"? yes (end of list)
>>> check local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
>>> test in "^[./|] : ^.*[@%!] : ^.*/\.\./"? no (end of list)
>>> deny: condition test failed
>>> processing "deny"
>>> check condition = ${if eq{$sender_helo_name}{}{yes}{no}}
>>>                 = no
>>> deny: condition test failed
>>> processing "deny"
>>> check condition = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}
>>>                 = no
>>> deny: condition test failed
>>> processing "deny"
>>> check condition = ${if match{$sender_helo_name}{\N^\d+$\N}{yes}{no}}
>>>                 = no
>>> deny: condition test failed
>>> processing "deny"
>>> check condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
>>>                 = no
>>> deny: condition test failed
>>> processing "deny"
>>> check condition = ${if eq{$sender_address}{}{yes}{no}}
>>>                 = no
>>> deny: condition test failed
>>> processing "deny"
>>> looking up host name for 87.103.150.85
>>> IP address lookup yielded mail.bmw-elitavto.ru
>>> gethostbyname looked up these IP addresses:
>>>   name=mail.bmw-elitavto.ru address=87.103.150.85
>>> checking addresses for mail.bmw-elitavto.ru
>>>   87.103.150.85 OK
>>> check condition = ${if match{$sender_host_name}{adsl|dialup|pool|peer|dhcp}{yes}{no}}
>>>                 = no
>>> deny: condition test failed
>>> processing "warn"
>>> check set acl_m0 = 30s
>>> warn: condition test succeeded
>>> processing "warn"
>>> check hosts = +relay_from_hosts:192.168.2.0/24
>>> host in "+relay_from_hosts:192.168.2.0/24"? no (end of list)
>>> warn: condition test failed
>>> processing "deny"
>>> check hosts = !+relay_from_hosts : !localhost : !127.0.0.1 : !192.168.2.0/24
>>> gethostbyname looked up these IP addresses:
>>>   name=localhost address=127.0.0.1
>>> host in "!+relay_from_hosts : !localhost : !127.0.0.1 : !192.168.2.0/24"? yes (end of list)
>>> check dnslists = cbl.abuseat.org : bl.csma.biz
>>> DNS list check: cbl.abuseat.org
>>> new DNS lookup for 85.150.103.87.cbl.abuseat.org
>>> DNS lookup for 85.150.103.87.cbl.abuseat.org failed
>>> => that means 87.103.150.85 is not listed at cbl.abuseat.org
>>> DNS list check: bl.csma.biz
>>> new DNS lookup for 85.150.103.87.bl.csma.biz
>>> DNS lookup for 85.150.103.87.bl.csma.biz failed
>>> => that means 87.103.150.85 is not listed at bl.csma.biz
>>> deny: condition test failed
>>> processing "accept"
>>> check domains = +local_domains
>>> bmw-elitavto.ru in ""? no (end of list)
>>> bmw-elitavto.ru in "+local_domains"? no (end of list)
>>> accept: condition test failed
>>> processing "accept"
>>> check domains = +virtual_domains
>>> bmw-elitavto.ru in "bmw-elitavto.ru"? yes (matched "bmw-elitavto.ru")
>>> bmw-elitavto.ru in "+virtual_domains"? yes (matched "+virtual_domains")
>>> check verify = recipient
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing test@bmw-elitavto.ru
>>> calling system_aliases router
>>> system_aliases router declined for test@bmw-elitavto.ru
>>> calling amavis router
>>> bmw-elitavto.ru in "*"? yes (matched "*")
>>> local host found for non-MX address
>>> fully qualified name = localhost
>>> gethostbyname looked up these IP addresses:
>>>   name=localhost address=127.0.0.1
>>> routed by amavis router
>>> ----------- end verify ------------
>>> accept: condition test succeeded
250 Accepted
Вот как то так

Аватара пользователя
FoxDW
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-08-04 4:42:43
Откуда: Красноярск
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение FoxDW » 2009-04-13 10:39:56

почему сервер не сообщает о том что получатель не существует и не отбрасывает письмо а пытается его отправить ?

ответ сервера

Код: Выделить всё

A message that you sent could not be delivered to all of its recipients.
This is a permanent error. The following address(es) failed:

  test@bmw-elitavto.ru
    retry time not reached for any host after a long failure period
может быть дело в этом

Код: Выделить всё

amavis:
        driver = manualroute
        condition = "${if eq {$interface_port}{10025} {0}{1}}"
        [b]# if scanning incoming mails, uncomment the following line and
        # change local_domains accordingly
        # domains = +local_domains[/b]
        transport = amavis
        route_list = "* localhost byname"
        self = send
Вот как то так

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Вопрос по EXIM

Непрочитанное сообщение Laa » 2009-04-13 11:16:44

Заюзайте что-то вроде:

Код: Выделить всё

        deny    domains         = +local_domains : +relay_to_domains
                !verify         = recipient
                message         = Unknown account <$local_part@$domain>
Проверьте, сообщите.
Только вдумчиво решите где это ставить.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
FoxDW
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-08-04 4:42:43
Откуда: Красноярск
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение FoxDW » 2009-04-13 11:49:18

поставил что то нечего не изменилось

Код: Выделить всё

accept   domains = +local_domains
   endpass
   message = "NOT FOUND IN LOCAL"
   verify    = recipient
   
accept   domains = +virtual_domains
   endpass
   message = "NOT FOUND IN VIRTUAL"
   verify    = recipient
тоже самое, почему интересно не срабатывают правила
Вот как то так

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Вопрос по EXIM

Непрочитанное сообщение Laa » 2009-04-13 12:05:42

А то что я дал ставили или нет?

Просто в вашем случае принимается то что для локальных доменов и где проверен получатель, а где не проверен ничего не сказано что с ним делать... и пхоже что для непроверенных тоже принимается. В моем случае для непроверенных дается deny.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
FoxDW
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-08-04 4:42:43
Откуда: Красноярск
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение FoxDW » 2009-04-13 12:34:05

Ваш вариант пробовал не помогло, вставил в конфиге после проверки на adsl ppp
Вот как то так

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Вопрос по EXIM

Непрочитанное сообщение Laa » 2009-04-13 13:02:28

пересмотрел еще раз ваш вывод exim -bh, непонравилось routed by amavis router...
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
FoxDW
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-08-04 4:42:43
Откуда: Красноярск
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение FoxDW » 2009-04-14 7:39:40

C этим вопросом решилось, надо было немного транспорт подправить

у меня вот в очереди писем много, я так понял это когда спам приходит на несуществующий адрес и сервер пытается отправить сообщение об этом, но адреса эти уже не доступны, как этого избежать

Код: Выделить всё

66m  3.0K 1LtZ8X-0005Mv-H1 <> *** frozen ***
          nugizpoipi@dvregion.ru

66m  4.6K 1LtZ8Z-0005N2-Fq <> *** frozen ***
          nugizpoipi@dvregion.ru

43m  2.9K 1LtZVG-0005TC-HH <> *** frozen ***
          atarouja@mctrade.ru

43m   14K 1LtZVI-0005TJ-GP <> *** frozen ***
          atarouja@mctrade.ru

34m  2.9K 1LtZdN-0005VG-Ou <> *** frozen ***
          geytluojo@hotbox.ru

34m  8.3K 1LtZdP-0005VN-FS <> *** frozen ***
          geytluojo@hotbox.ru

28m  2.9K 1LtZjA-0005WW-T1 <> *** frozen ***
          beva@omsknet.ru

28m  3.6K 1LtZjD-0005Wf-2J <> *** frozen ***
          beva@omsknet.ru

19m  2.9K 1LtZrf-0005Zk-5P <> *** frozen ***
          aquitpeyn@omsknet.ru

19m  8.3K 1LtZrh-0005Zb-09 <> *** frozen ***
          aquitpeyn@omsknet.ru

 3m  3.6K 1Lta7w-0005gB-Db <> *** frozen ***
          igsuk@ellink.ru

 3m  2.8K 1Lta81-0005gJ-8f <> *** frozen ***
Вот как то так

Аватара пользователя
FoxDW
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-08-04 4:42:43
Откуда: Красноярск
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение FoxDW » 2009-04-14 7:41:02

видимо как то надо проверять адрес отправителя, если не существует делать deny, не подскажите как

verify = recipient проверяет MX записи, а если запись существует а ящик нет то пропустит сообщение, как исправить
Вот как то так

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение zingel » 2009-04-14 11:28:35

в *полезностях* вверху форума
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
FoxDW
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-08-04 4:42:43
Откуда: Красноярск
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение FoxDW » 2009-04-14 12:23:28

Я там смотрел взял от туда кое что но все ровно что то не получается, вот кусок из конфига посмотрите плиз что тут не так, сообщения от не существующих ящиков приходят все ровно

Код: Выделить всё

acl_check_rcpt:
accept  hosts = :


deny    message = "incorrect symbol in address"
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]

deny    message = "incorrect symbol in address"
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

deny     message      = Invalid account  $sender_address_local_part
         condition    = ${if match {$sender_address_local_part}{\N^(\.|.+\.\.|.*[\%\/\!\&\@\|\~\`])\N} {yes}{no}}

accept  local_parts   = postmaster
        domains       = +local_domains


#require verify       = sender/callout=10s,defer_ok

deny      log_message   = "Sender Email not exist !"
          !senders      = : Mailer-Daemon@* : postmaster@rambler.ru
          !verify       = sender/callout=120s,defer_ok,maxwait=180s,random

deny    message = "HELO/EHLO require by SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}

deny    condition     = ${if eq{$sender_helo_name}\
        {$interface_address}{yes}{no}}
        hosts         = !127.0.0.1 : !localhost : *
        message       = "HELO IS MY IP!"

deny    condition = ${if eq{$sender_helo_name}\
{$interface_address}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Main IP in your HELO! Access denied!"

deny    condition = ${if match{$sender_helo_name}\
{\N^\d+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Can not be only number in HELO!"

deny    message       = "YOUR IP IN HELO!"
        hosts         =  *:!+relay_from_hosts
        condition     = ${if eq{$sender_helo_name}\
       {$sender_host_address}{true}{false}}

deny    condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Sender address contains spaces?! not for RFC..."


deny    condition = ${if eq{$sender_address}{}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Sender address is empty?! not for RFC..."

deny    message       = "your hostname is bad (adsl, poll, ppp & etc)."
        condition     = ${if match{$sender_host_name}{adsl|dialup|pool|peer|dhcp}{yes}{no}}

warn
        set acl_m0 = 35s
warn
        hosts = +relay_from_hosts
        set acl_m0 = 0s


deny    message       = "you in blacklist - $dnslist_domain \n $dnslist_text"
hosts = !+relay_from_hosts : !localhost : !127.0.0.1 : !192.168.2.0/24
        dnslists      = cbl.abuseat.org : bl.csma.biz


accept  domains = +local_domains
        endpass
        message = "NOT FOUND IN LOCAL"
        verify  = recipient

accept  domains = +virtual_domains
        endpass
        message = "NOT FOUND IN VIRTUAL"
        verify  = recipient

accept  domains = +relay_to_domains
        endpass
        message = "main server not know how relay to this address"
        verify  = recipient

accept  hosts = +relay_from_hosts

deny    message = "Relay not allow !"


acl_check_data:


accept
Кусок лога который это показывает

Код: Выделить всё

Apr 14 17:06:48 bsd exim[29521]: 1LtebP-0007g9-8S <= ewruesfag@mail.infostar.ru H=(dsldevice.lan) [92.84.78.66] I=[192.168.1.2]:25 P=esmtp S=1135 from <ewruesfag@mail.infostar.ru> for 111@bmw-elitavto.ru
Apr 14 17:06:48 bsd exim[29526]: H=localhost [127.0.0.1] I=[127.0.0.1]:10025 F=<ewruesfag@mail.infostar.ru> rejected RCPT <111@bmw-elitavto.ru>: Unrouteable address
Apr 14 17:06:48 bsd exim[29526]: H=localhost [127.0.0.1] I=[127.0.0.1]:10025 F=<ewruesfag@mail.infostar.ru> rejected RCPT <111@bmw-elitavto.ru>: Unrouteable address
Apr 14 17:06:48 bsd amavis[29507]: (29507-02) (!)FWD via SMTP: <ewruesfag@mail.infostar.ru> -> <111@bmw-elitavto.ru>, 550 5.1.0 Failed, id=29507-02, from MTA([127.0.0.1]:10025): 550 "NOT FOUND IN VIRTUAL"
Apr 14 17:06:48 bsd exim[29526]: 1LtebQ-0007gE-7e <= <> H=localhost [127.0.0.1] I=[127.0.0.1]:10025 P=esmtp S=2707 id=DSNsLmGI5aBOaG2@bsd.eliteautocompany.ru from <> for ewruesfag@mail.infostar.ru
Apr 14 17:06:48 bsd amavis[29507]: (29507-02) Blocked MTA-BLOCKED, [92.84.78.66] [92.84.78.66] <ewruesfag@mail.infostar.ru> -> <111@bmw-elitavto.ru>, quarantine: badh-sLmGI5aBOaG2, mail_id: sLmGI5aBOaG2, Hits: 1.407, size: 1164, 168 ms
Apr 14 17:06:48 bsd exim[29528]: 1LtebQ-0007gG-8h <= <> R=1LtebP-0007g9-8S U=vmail P=local S=2405 from <> for ewruesfag@mail.infostar.ru
Apr 14 17:06:50 bsd exim[29534]: 1LtebS-0007gM-Ne <= <> H=localhost [127.0.0.1] I=[127.0.0.1]:10025 P=esmtp S=2631 id=E1LtebQ-0007gG-8h@mail.bmw-elitavto.ru from <> for ewruesfag@mail.infostar.ru
Apr 14 17:06:50 bsd amavis[29514]: (29514-01) Passed CLEAN, <> -> <ewruesfag@mail.infostar.ru>, Message-ID: <E1LtebQ-0007gG-8h@mail.bmw-elitavto.ru>, mail_id: hlYPLaNtvVH8, Hits: 0.432, size: 2464, queued_as: 250 OK id=1LtebS-0007gM-Ne, 2456 ms
Apr 14 17:06:50 bsd exim[29530]: 1LtebQ-0007gG-8h => ewruesfag@mail.infostar.ru R=amavis T=amavis H=localhost [127.0.0.1] C="250 2.6.0 Ok, id=29514-01, from MTA([127.0.0.1]:10025): 250 OK id=1LtebS-0007gM-Ne"
Apr 14 17:06:59 bsd exim[29527]: 1LtebQ-0007gE-7e ** ewruesfag@mail.infostar.ru R=dnslookup T=remote_smtp: SMTP error from remote mail server after RCPT TO:<ewruesfag@mail.infostar.ru>: host mail.infostar.ru [77.221.143.178]: 550 5.1.1 Mailbox <ewruesfag@mail.infostar.ru> does not exist
Apr 14 17:07:01 bsd exim[29535]: 1LtebS-0007gM-Ne ** ewruesfag@mail.infostar.ru R=dnslookup T=remote_smtp: SMTP error from remote mail server after RCPT TO:<ewruesfag@mail.infostar.ru>: host mail.infostar.ru [77.221.143.178]: 550 5.1.1 Mailbox <ewruesfag@mail.infostar.ru> does not exist
Да и кстати не скажите почему в логах задвоение, всего по два
Вот как то так

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Вопрос по EXIM

Непрочитанное сообщение zingel » 2009-04-14 12:44:34

Код: Выделить всё

Unrouteable address

Код: Выделить всё

require verify        = sender
добавьте, потом поместите проверку в mysql на local выше остальных проверок, дальше проверку по-DNS (dnslookup:), а двоятся они из-за

Код: Выделить всё

begin retry


# Address or Domain  Error   Retries
# -----------------  -----   -------
*                    *       F,2h,15m; G,16h,1h,1.5; F,2d,6h
Z301171463546 - можно пожертвовать мне денег

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: Вопрос по EXIM

Непрочитанное сообщение ViktorichZ » 2009-04-14 13:41:20

require verify = sender
убивает почту при всяких грейлистингах и прочих фичах требующих обратиться позднее