Exim+Dovecot сново

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Exim+Dovecot сново

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 9:39:53

Добрый день.

Настраивал связку Exim по статье http://www.lissyara.su/?id=1173

Все проде хорошо, порыл кон фиги . почитал , что-то добавил. Все запустилось кроме postfixadmin не сдружился у меня почему то но я быстро нашел ему замену phpMyAdmin.

Что меня первое удивило что пользователей нужно заводить в таком виде
--- иначе девакод у меня матерился.

Ну это простительно но мне не ясно почему так !?

При пользователе yura_s@ авторизация проде проходит успешно, вол Лог :

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

dovecot: Apr 26 09:34:07 Info: auth(default): client in: AUTH   1       PLAIN   service=POP3    lip=192.168.0.200     rip=192.168.0.40        resp=AHl1cmFfcwAxMjM=
dovecot: Apr 26 09:34:07 Info: auth-worker(default): sql(yura_s,192.168.0.40): query: SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = 'yura_s@' AND `active`='1'
dovecot: Apr 26 09:34:07 Info: auth-worker(default): auth(yura_s,192.168.0.40): username changed yura_s -> yura_s@
dovecot: Apr 26 09:34:07 Info: auth(default): auth(yura_s,192.168.0.40): username changed yura_s -> yura_s@
dovecot: Apr 26 09:34:07 Info: auth(default): client out: OK    1       user=yura_s@
dovecot: Apr 26 09:34:07 Info: auth(default): master in: REQUEST        5       23459   1
dovecot: Apr 26 09:34:07 Info: auth-worker(default): sql(yura_s@,192.168.0.40): SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid` FROM `mailbox` WHERE `username` = 'yura_s@' AND `active`='1'
dovecot: Apr 26 09:34:07 Info: auth(default): master out: USER  5       yura_s@ home=/var/mail/exim/yura_s    uid=26  gid=26
dovecot: Apr 26 09:34:07 Info: pop3-login: Login: user=<yura_s@>, method=PLAIN, rip=192.168.0.40, lip=192.168.0.200
dovecot: Apr 26 09:34:08 Info: POP3(yura_s@): Effective uid=26, gid=26
dovecot: Apr 26 09:34:08 Info: POP3(yura_s@): maildir: data=/var/mail/exim/yura_s@
dovecot: Apr 26 09:34:08 Info: POP3(yura_s@): maildir: root=/var/mail/exim/yura_s@, index=/var/mail/exim/yura_s@, control=, inbox=
dovecot: Apr 26 09:34:08 Info: POP3(yura_s@): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Дальше я создаю еще одного такого пользователя и пробую ему заслать письмо.
Письмо уходит из "Исходящих" но не приходит, и вообще не понятко куда деваться.
Вот лог :

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

bopota# cat /var/log/exim/mainlog
2007-04-26 09:28:34 1HgxSz-00066C-W5 <= yura_s@spv.ua H=spv-shostka.spvcom.office.spv.com.ua (SPVShostka) [192.168.0.40] I=[192.168.0.200]:25 P=smtp S=1375 id=000601c787cc$1d5fe350$2800a8c0@spvcom.office.spv.com.ua from <yura_s@spv.ua> for igor_m@spv.ua
2007-04-26 09:28:34 1HgxSz-00066C-W5 ** igor_m@spv.ua R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 67 (could mean user nonexistent) from command: /usr/local/libexec/dovecot/deliver
2007-04-26 09:28:34 1HgxT0-00066H-56 <= <> R=1HgxSz-00066C-W5 U=mailnull P=local S=2153 from <> for yura_s@spv.ua
2007-04-26 09:28:34 1HgxSz-00066C-W5 Completed
2007-04-26 09:28:34 1HgxT0-00066H-56 ** yura_s@spv.ua R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 67 (could mean user nonexistent) from command: /usr/local/libexec/dovecot/deliver
2007-04-26 09:28:34 1HgxT0-00066H-56 Frozen (delivery error message)
2007-04-26 09:29:21 1HgrRn-0000wL-CO Message is frozen
2007-04-26 09:29:21 1HgrRn-0000xG-J3 Message is frozen
2007-04-26 09:29:21 1Hgied-000O20-Da Message is frozen
2007-04-26 09:29:21 1Hgwxd-0001C3-Hl Message is frozen
2007-04-26 09:29:21 1HgUyC-0007fQ-CF Message is frozen
2007-04-26 09:29:21 1HgUyC-0007fP-Br Message is frozen
Читал что нужно включить поддержку LDA в девакоде, помню что вроде включал с самого начала, н для уверенности пересобрал еще раз , результата никакого !! Срошу помогите решить проблему.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-26 9:55:47

где доменное имя?
==========
афтопотпесь: Юзайте кнопочку
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 10:00:48

В базу mysql я доменное имя вбивал в таком виде в столбце domain просто дописал spv.ua.
Ну и в конфиге Exima.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-26 10:02:07

в каком в таком?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 10:02:14

description aliases mailboxes maxquota -- это все пустое для DOMAIN столбца

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 10:10:09

domain description aliases mailboxes maxquota transport backupmx
spv.ua 0 0 0 NULL 0


Вот я показал кусочем с phpMyAdmin

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 10:25:16

Прошу не молчите. Очень прошу, если есть что сказать напишите !

Я сам пробывал сделать, руки опустились. С почтой я первый раз так столкнулся !

Сроки горят !

Заранее спасибо.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-26 10:30:59

copy -> paste
с сайта и закомментить опции на которые будет ругаться.
работает. проверено.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 10:34:49

А помочь решить то что у меня сейчас никак не выйдет ?

Я в принцепе почти так и делал ... !!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-26 10:35:38

а я непонимаю - что у тебя сейчас.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 10:37:16

Выложить конфиги ? Можно так сделать сюда ... ! одни команды ... ! или как поступить ?

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 11:02:43

Конфиги

EXIM :

primary_hostname = bopota.spv.ua
hide mysql_servers = localhost/exim/exim/exim
hostlist relay_from_hosts = localhost:127.0.0.0/8:192.168.0.0/16
domainlist local_domains = @ : spv.ua
domainlist relay_to_domains =
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

av_scanner = clamd:/var/run/clamav/clamd

tls_advertise_hosts = *

tls_certificate = /etc/ssl/exim.crt
tls_privatekey = /etc/ssl/exim.pem

daemon_smtp_ports = 25 : 465 : 587
tls_on_connect_ports = 465

qualify_domain =spv.ua

allow_domain_literals

exim_user = mailnull
exim_group = mail
never_users = root

host_lookup = *

rfc1413_query_timeout = 0s

ignore_bounce_errors_after = 45d

timeout_frozen_after = 15d
freeze_tell = postmaster@spv.ua


auto_thaw = 1h
smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"
smtp_accept_max = 40
smtp_accept_max_per_connection = 4
smtp_connect_backlog = 30
smtp_accept_max_per_host = 4

message_size_limit = 25M
remote_max_parallel = 5
return_size_limit = 30k
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

split_spool_directory = true

begin acl

acl_check_rcpt:

accept hosts = :

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

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

require verify = sender

deny message = "HELO/EHLO ПВСЪБОП ВЩФШ РП SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}

deny message = "оЕ ОБДП ХУФБОБЧМЙЧБФШ УЧПК IP Ч ЛБЮЕУФЧЕ HELO!"
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 = "ьФП НПК IP-БДТЕУ! пФЛБЪБОП!"

deny condition = ${if match{$sender_helo_name}\
{\N^\d+$\N}{yes}{no}}
hosts = !127.0.0.1:!localhost:*
message = "ч HELO ОЕ НПЗХФ ВЩФШ ФПЛБ ГЙЖТЩ!"

deny message = "оЕДПРХУФЙНПЕ ЙНС ИПУФБ..."
condition = ${if match{$sender_host_name} \
{adsl|dialup|pool|peer|dhcp} \
{yes}{no}}


accept authenticated = *

warn
set acl_m0 = 25s


accept domains = +local_domains
endpass
message = "ч ЬФПН ДПНЕОЕ ОЕФ ФБЛПЗП РПМШЪПЧБФЕМС"
verify = recipient

accept domains = +relay_to_domains
endpass
message = "нПС УЕТЧЕТБ ОЕ ЪОБФШ НБТЫТХФ ОБ ЬФПФ ИПУФ..."
verify = recipient
###############################################################################

###############################################################################
deny message = "ьФП ФЕВЕ ОЕ пРЕОтЕМЕК."

acl_check_data:

deny message = "this is spam - denied"
condition = ${if match{$message_body} \
{105[-_]*51[-_]*86|778[-_]*98[-_]*94} \
{yes}{no}}

deny malware = *
message = "In e-mail found VIRUS - $malware_name"
###############################################################################
accept

acl_check_virus:
deny message = Message rejected: virus found. I don't need virus :-).
hosts = *
malware = *
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 `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}}

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

begin transports

remote_smtp:
driver = smtp

dovecot_delivery:
driver = pipe
command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = mailnull

address_pipe:
driver = pipe
return_output

address_file:
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 `username` FROM \
`mailbox` WHERE `username` = \
'${quote_mysql:$1}' AND `password` = \
'${quote_mysql:$2}'}{yes}{no}}

server_prompts = :
server_set_id = $2

# чТПДЕ РП ЬФПНХ ПХФЗМАЛ, Б РП РТЕДЩДХЭЕНХ ОЕФУЛЕКР.
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT `username` FROM \
`mailbox` WHERE `username` = \
'${quote_mysql:$1}' AND `password` = \
'${quote_mysql:$2}'}{yes}{no}}

server_prompts = Username:: : Password::
server_set_id = $1

# б ФБЛ БЧФПТЙЪХЕФУС "мЕФХЮБС нЩЫШ" - TheBat!
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT `password` FROM \
`mailbox` WHERE `username` \
= '${quote_mysql:$1}'}{$value}fail}

server_set_id = $1

#######################################################

dovecot.conf

##

base_dir = /var/run/dovecot/
protocols = imap pop3
listen = *
ssl_disable = yes
disable_plaintext_auth = no
shutdown_clients = yes
log_path = /var/log/dovecot.log
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_process_size = 64
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 64
login_greeting = dovecot MUA ready
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
max_mail_processes = 1024
verbose_proctitle = yes
first_valid_uid = 25
first_valid_gid = 0
mail_extra_groups = mail
auth_debug = yes
auth_debug_passwords = yes
default_mail_env = maildir:/var/mail/exim/%n@%d
mail_read_mmaped = yes
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
}
pop3_uidl_format = %08Xu%08Xv

pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}

postmaster_address = support@lissyara.su

auth_socket_path = /var/run/dovecot/auth-master
}

auth default {
mechanisms = plain

socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = mailnull
#group = mail
}
}

# SQL database
passdb sql {
args = /usr/local/etc/dovecot-sql.conf
}

# SQL database
userdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
user = nobody

plugin {
}

#######################################################

dovecot-sql.conf

##
driver = mysql
connect = host=localhost dbname=exim user=exim password=exim
default_pass_scheme = PLAIN

password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'

user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'

###########################################################

Очень буду благодарен. ! Просто немогу описать как !
:(

Аватара пользователя
Dolphin_BSD
ст. сержант
Сообщения: 353
Зарегистрирован: 2007-04-26 9:09:10
Откуда: Kiev
Контактная информация:

Непрочитанное сообщение Dolphin_BSD » 2007-04-26 11:30:31

Всем ОГРОМНОЕ спасибо.

Благодаря Вашим давним обсуждения у меня появилась мысль и она прошла испытание на УРА.

Все решено. Еще раз спасибо.

Zl0
проходил мимо
Сообщения: 6
Зарегистрирован: 2007-05-23 5:55:43

Авторизация Dovecot | проблемы!!

Непрочитанное сообщение Zl0 » 2007-05-23 6:04:01

Fedora Core 6, Exim 4.67(конфиг Vexim 2.0) + Mysql 5.0 + Dovecot 1.0

Вобщем такая вот связочка, все тоже самое прекрасно работает на Debian, а на федоре ни как не могу добиться чтобы работал довекот, не работает авторизация точнее пароль не вытаскивает он из базы

dovecot: May 22 12:09:50 Error: auth-worker(default): sql(postmaster@domain.com,::1): Password query must return a field named 'password'


Единственное отличие от дебиан там стоит довекот постарее еще с нормальным конфигом

Метод авторизации Plain
вот sql запросы из dovecot-sql.conf

password_query = SELECT clear FROM users WHERE users.username = '%u' AND users.enabled = '1'

user_query = SELECT pop as home, uid, gid FROM users WHERE username = '%u'

Пробую из подставлять через phpmyadmin в базу напрямиг все выдает правильно и логин и пароль.

Через телнет когда к 110 порту соединяюсь

+OK Dovecot ready.
user postmaster@domain.com
+OK
pass 123
-ERR Temporary authentication failure.


При этом если смотреть sql запросы в логах mysql то довекот делает их правильно, но авторизация собака не проходит, проверил все права, такие же как и на дебиане, такое ощущение что все таки дело в них но не понятно на что тогда, на maildir или куда копать короче?

Жду помощи!!

Аватара пользователя
grave
ефрейтор
Сообщения: 65
Зарегистрирован: 2006-02-20 16:52:04
Откуда: Сургут
Контактная информация:

Непрочитанное сообщение grave » 2007-05-23 6:08:51

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

password_query = SELECT clear AS password FROM users WHERE users.username = '%u' AND users.enabled = '1' 
Acta est fabula..

Zl0
проходил мимо
Сообщения: 6
Зарегистрирован: 2007-05-23 5:55:43

Непрочитанное сообщение Zl0 » 2007-05-23 6:38:53

grave писал(а):

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

password_query = SELECT clear AS password FROM users WHERE users.username = '%u' AND users.enabled = '1' 
Товарищ! Спасибо огромное!
Работает однако, по крайней мере после этого изменения сразу вылезли где права не верно стояли, выставил права и все заработало!
СПАСИБО!
Если не сложно для общего развития объясните в чем такая критичная разница была запроса, выдает то он одно и то же??

P.S. пошел копать учебник sql :!:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-05-23 8:10:42

довекот ищет в ответе муси колонки с соответствующими именами.
во всех конфигах, кстати, это чётко описано.
Убей их всех! Бог потом рассортирует...

Zl0
проходил мимо
Сообщения: 6
Зарегистрирован: 2007-05-23 5:55:43

Непрочитанное сообщение Zl0 » 2007-05-23 8:16:34

Все я понял, я кстати читал об этом но почему то не придал этому большого значения, т.к в дебиане с теми же запросами sql все работало.

Тут алиас получается clear -> password

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-05-23 8:17:54

в дебиане могли и искходники поправить.
Убей их всех! Бог потом рассортирует...