EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
mediamag
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Непрочитанное сообщение
mediamag » 2011-01-14 11:18:30
Есть exim+dovecot+dspam. Настроил по статье, вообщем работает dspam и обучается...и вот начал приходить долгожданный класифицированый спам (с темой ***SPAM*****) и стали приходить ошибочные спам письма....начал я dspam обучать что это не спам, пересылая письма на
notspam-user@domain.ua и эти письма тубо стали приходить мне назад, как будто я не переслал его сам себе. Может косяк в транспорте или в роутере (не в том месте стоит), хотя настраивал по статье и читал много тем на форуме....помогите понять почему так???????..судя по maillog я как будто отсылаю обычное письмо, оно даже сканируется на спам и все такое))))...привожу листинг роутеров и транспортов:
Код: Выделить всё
dspam_addspam_router:
driver = accept
domains = +local_domains
local_part_prefix = spam-
transport = dspam_addspam_transport
dspam_notspam_router:
driver = accept
domains = +local_domains
local_part_prefix = notspam-
transport = dspam_notspam_transport
# Cистемные Алиасы
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}'}}
# DNS lookup router
dnslookup:
driver = dnslookup
domains = !+local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 10.0.0.0/24
no_more
############## DSPAM роутеры #######################
dspam_spamscan_router:
driver = accept
domains = +local_domains
no_verify
condition = "${if and {{!eq {$received_protocol}{spam-scanned}} {!eq {$received_protocol}{local}} } {1}{0}}"
transport = dspam_spamcheck_transport
require_files = /usr/local/bin/dspam
address_test = false
local_delivery_spam_router:
driver = accept
domains = +local_domains
condition = ${if match{$h_X-DSPAM-Result:}{Spam}}
transport = local_delivery_spam_transport
no_more
# Доставляем почтy в dovecot
dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM `alias` WHERE `address`='${quote_mysql:$local_part@$domain}' OR `address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery
# Убивает в очереди bounce сообщения, если bounce всё же прокрался
bounce_killer:
senders = :
domains = !+local_domains
driver = redirect
allow_fail
data = :fail: bounce ignored
no_more
no_verify
# Стандартный роутер, предназначен для доставки почты в майлбоксы, находящиеся в /var/mail
# В случае, если доставка невозможна, ответит Unknown user
localuser:
driver = accept
check_local_user
transport = local_delivery
cannot_route_message = Error!!! "Unknown user"
################################################################################################
# #Секция транспортов
################################################################################################
begin transports
# Доставка на удалённые хосты - по SMTP
remote_smtp:
driver = smtp
########### DSPAM транспорты ####################################
dspam_addspam_transport:
driver = pipe
command = "/usr/local/bin/dspam --user $local_part@$domain --class=spam --source=error"
return_path_add = false
return_fail_output = true
log_output = true
home_directory = "/var/db/dspam"
current_directory = "/var/db/dspam"
user = mailnull
group = mail
dspam_notspam_transport:
driver = pipe
command = "/usr/local/bin/dspam --user $local_part@$domain --class=innocent --source=error --deliver=innocent %u"
return_path_add = false
return_fail_output = true
log_output = true
home_directory = "/var/db/dspam"
current_directory = "/var/db/dspam"
user = mailnull
group = mail
mediamag
-
Хостинг 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/
-
mediamag
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Непрочитанное сообщение
mediamag » 2011-01-14 11:24:42
Кстати spam-user или notspam-user я отсылаю с ящика куда редиректятся все письма с проблемных ящиков (office sekretar director) группа у меня shared тоесть база актуальна для всех ящиков
mediamag
-
blade_007
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
-
Контактная информация:
Непрочитанное сообщение
blade_007 » 2011-01-14 20:57:46
1.Пересылаете как вложение?
2. exim -bd -d-all+route+transport + тестовая пересылка
3. Уровень логгирования в dspam.conf (Debug параметр)
4. ну и логи вышеперечисленного в студию - может кто то поможет.
blade_007
-
mediamag
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Непрочитанное сообщение
mediamag » 2011-01-14 22:09:14
dspam.debug
Код: Выделить всё
18473: [01/14/2011 21:03:28] DSPAM Instance Startup
18473: [01/14/2011 21:03:28] input args: /usr/local/bin/dspam --user hr@domain.ua --class=innocent --source=error --deliver=innocent %u
18473: [01/14/2011 21:03:28] pass-thru args: /usr/local/sbin/exim -oMr spam-scanned %u
18473: [01/14/2011 21:03:28] processing user hr@domain.ua
18473: [01/14/2011 21:03:28] uid = 26, euid = 26, gid = 6, egid = 6
18473: [01/14/2011 21:03:28] loading preferences for user hr@domain.ua
18473: [01/14/2011 21:03:28] default preferences empty. reverting to dspam.conf preferences.
18473: [01/14/2011 21:03:28] Loading preferences from dspam.conf
18473: [01/14/2011 21:03:28] using /var/db/dspam/opt-in/hr@domain.ua.dspam as path
18473: [01/14/2011 21:03:28] using /var/db/dspam/opt-out/hr@domain.ua.nodspam as path
18473: [01/14/2011 21:03:28] assigning user hr@domain.ua to group globalgroup
18473: [01/14/2011 21:03:28] sedation level set to: 0
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam: successful returning struct for name: globalgroup
18473: [01/14/2011 21:03:28] message is signed. retaining original text for reassembly
18473: [01/14/2011 21:03:28] found signature '4d2f4ee3162751707111935'
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam returning cached name globalgroup.
18473: [01/14/2011 21:03:28] processing signature. length: 3984
18473: [01/14/2011 21:03:28] reversing 332 tokens
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam returning cached name globalgroup.
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam returning cached name globalgroup.
18473: [01/14/2011 21:03:28] Control: [10 10] [9 11] Delta: [4294967295 1]
18473: [01/14/2011 21:03:28] reclassifying iteration 1 result: 0
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam: successful returning struct for name: globalgroup
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam returning cached name globalgroup.
18473: [01/14/2011 21:03:28] Loading 1 BNR patterns
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam returning cached name globalgroup.
18473: [01/14/2011 21:03:28] [graham] [0.010000] E: 6585108579934434292 (1frq, 0s, 13i)
18473: [01/14/2011 21:03:28] [burton] [0.010000] E: 6585108579934434292 (1frq, 0s, 13i)
18473: [01/14/2011 21:03:28] [graham] [0.010000] E: 8060226005252249236 (2frq, 0s, 13i)
18473: [01/14/2011 21:03:28] [burton] [0.010000] E: 8060226005252249236 (2frq, 0s, 13i)
18473: [01/14/2011 21:03:28] [burton] [0.010000] E: 8060226005252249236 (2frq, 0s, 13i)
18473: [01/14/2011 21:03:28] [graham] [0.010000] E: 11426791468258627746 (1frq, 0s, 7i)
18473: [01/14/2011 21:03:28] [burton] [0.010000] E: 11426791468258627746 (1frq, 0s, 7i)
18473: [01/14/2011 21:03:28] [graham] [0.010000] E: 17282744031410202237 (1frq, 0s, 11i)
18473: [01/14/2011 21:03:28] [burton] [0.010000] E: 17282744031410202237 (1frq, 0s, 11i)
18473: [01/14/2011 21:03:28] [graham] [0.010000] E: 17003144855752775821 (1frq, 0s, 61i)
18473: [01/14/2011 21:03:28] [burton] [0.010000] E: 17003144855752775821 (1frq, 0s, 61i)
18473: [01/14/2011 21:03:28] [graham] [0.010000] E: 12062479380743041302 (1frq, 0s, 7i)
18473: [01/14/2011 21:03:28] [burton] [0.010000] E: 12062479380743041302 (1frq, 0s, 7i)
18473: [01/14/2011 21:03:28] Graham-Bayesian Probability: 0.000000 Samples: 15
18473: [01/14/2011 21:03:28] Burton-Bayesian Probability: 0.000000 Samples: 27
18473: [01/14/2011 21:03:28] no factors specified; using default
18473: [01/14/2011 21:03:28] Result Confidence: 0.99
18473: [01/14/2011 21:03:28] total processing time: 0.01051s
18473: [01/14/2011 21:03:28] libdspam returned probability of 0.000000
18473: [01/14/2011 21:03:28] message result: NOT SPAM
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam returning cached name globalgroup.
18473: [01/14/2011 21:03:28] delivering message
18473: [01/14/2011 21:03:28] Opening pipe to LDA: /usr/local/sbin/exim -oMr spam-scanned hr@18473: [01/14/2011 21:03:28] Graham-Bayesian Probability: 0.000000 Samples: 15
18473: [01/14/2011 21:03:28] Burton-Bayesian Probability: 0.000000 Samples: 27
18473: [01/14/2011 21:03:28] no factors specified; using default
18473: [01/14/2011 21:03:28] Result Confidence: 0.99
18473: [01/14/2011 21:03:28] total processing time: 0.01051s
18473: [01/14/2011 21:03:28] libdspam returned probability of 0.000000
18473: [01/14/2011 21:03:28] message result: NOT SPAM
18473: [01/14/2011 21:03:28] _mysql_drv_getpwnam returning cached name globalgroup.
18473: [01/14/2011 21:03:28] delivering message
18473: [01/14/2011 21:03:28] Opening pipe to LDA: /usr/local/sbin/exim -oMr spam-scanned hr@domain.ua
18473: [01/14/2011 21:03:28] LDA returned success
18473: [01/14/2011 21:03:28] DSPAM Instance Shutdown. Exit Code: 0
18473: [01/14/2011 21:03:28] LDA returned success
18473: [01/14/2011 21:03:28] DSPAM Instance Shutdown. Exit Code: 0
Вроде по логам всё ок и теперь подобные сообщения от этого адресата больше не класифицируются как спам. Но почему оно прыгает назад в тот же ящик?
mediamag
-
blade_007
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
-
Контактная информация:
Непрочитанное сообщение
blade_007 » 2011-01-14 22:14:48
Т.е. вы хотите, чтоб письмо один раз отправленное на переобучение обратно не возвращалось?
blade_007
-
mediamag
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
mediamag
-
blade_007
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
-
Контактная информация:
Непрочитанное сообщение
blade_007 » 2011-01-14 23:04:56
Обратите внимание на следующие строки. Чтоб при переобучении НЕ происходило доставки - уберите --deliver.
Код: Выделить всё
dspam_notspam_transport:
driver = pipe
command = "/usr/local/bin/dspam --user $local_part@$domain --class=innocent --source=error --deliver=innocent %u"
Как то так.
blade_007
-
mediamag
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Непрочитанное сообщение
mediamag » 2011-01-15 13:34:15
Спасибо - в принципе так и думал убрать параметр deliver. Чтобы не создавать новую тему вопрос к вам - вот весь класифицированый спам падает в папку
/var/mail/mydomain.ua/usr@mydomain.ua/INBOX.Spam а как заставить почтовые клиенты типа outlook express видеть эту папку? (чтобы юзер мог увидеть неверно класифицированый спам и сообщить админу)
mediamag
-
blade_007
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
-
Контактная информация:
Непрочитанное сообщение
blade_007 » 2011-01-15 14:03:21
может папка .INBOX.Spam ? (точка обязательна)
а в другом почтовом клиенте, Mozilla Thunderbird например, папка со спамом видна?
blade_007
-
mediamag
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Непрочитанное сообщение
mediamag » 2011-01-15 14:21:08
Да вы правы - .INBOX.spam эта папка не видна ни в одном клиенте (the bat outlook и тд). Вот например в the bat есть такая настройка "добавить папку" но выбор пути разрешен только на локальные диски. Если бы можно было как то показать эту папку почтовым клиентам, было бы шикарно))
mediamag
-
blade_007
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
-
Контактная информация:
Непрочитанное сообщение
blade_007 » 2011-01-15 14:28:38
хм.. а вы пробовали на эту папку подписаться (кстати у вас imap или pop3)?
Чтоб автоматически пользователь подписывался на эту папку (.INBOX.Spam) в транспорте local_delivery_spam_transport смотрите параметр -s!
Код: Выделить всё
local_delivery_spam_transport:
driver = pipe
command = /usr/libexec/dovecot/deliver -d $local_part@$domain -s -m INBOX.Spam
blade_007