Страница 1 из 6
exim+mysql-users - не работает =(
Добавлено: 2008-06-26 10:40:34
Seltsam
Доброго дня всем.
Поднимал и настраивал EXIM по нескольким источникам, но как релей-сервер на другой сервер, внутренний (Postfix), с базой юзерей в mysql.
Решил попробовать поднять Exim уже как основной почтовый сервер, т.е. с доставкой почты в ящики юзерей из mysql.
Настройку с mysql смотрел по
http://www.lissyara.su/?id=1175 - сделал по статье за исключением структуры БД и имен полей, но это не суть.
Проблемка возникла следующая - Exim запустился без ошибок, но при отправке письма (telnet localhost 25)
mail from:ddd@domain.ru
rcpt to:admin@domain.ru
в mainlog выпадает:
Filed to find user "admin" from expanded string "$local_part" for the mysql_delivery transport
Конфиг касательно юзерей:
Код: Выделить всё
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `rcpt` FROM `aliases` WHERE \
`alias`='${quote_mysql:$local_part@$domain}' OR \
`alias`='${quote_mysql:@$domain}'}}
mysqluser:
driver = accept
condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `users` \
WHERE `login`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
transport = mysql_delivery
mysql_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT('/var/mail/virtual/', `maildir`) \
FROM `users` WHERE `login`='${local_part}@${domain}'}}
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
В поле login в БД у меня пишется полный адрес, т.е.
admin@domain.ru, также и в алиасах - alias, rcpt. В maildir - domain/admin/
Пробовал делать и так:
mail from:ddd@domain.ru
rcpt to:admin@domain.ru
-- всё равно в логах ссылается на admin (З.Ы.:
ddd@domain.ru у меня алиас для
admin@domain.ru)
Подскажите плиз где грабли. Мот я что упустил?
Re: exim+mysql-users - не работает =(
Добавлено: 2008-06-26 13:09:34
dikens3
1. В полезных скриптах есть пример для отладки.
2. Логи нужны.
Re: exim+mysql-users - не работает =(
Добавлено: 2008-09-07 15:26:57
ydafff
такая проблема при отправлении письма через летучую мышь:
07.09.2008, 16:10:05: SEND - Аутентификация (программный CRAM-MD5)...
07.09.2008, 16:10:05: SEND - Сервер сообщает об ошибке: Incorrect authentication data
07.09.2008, 16:10:05: SEND - Аутентификация (обычный метод)...
07.09.2008, 16:10:05: SEND - Сервер сообщает об ошибке: Incorrect authentication data
07.09.2008, 16:10:05: SEND - Аутентификация (проверка имени пользователя и пароля)...
07.09.2008, 16:10:05: SEND - Сервер сообщает об ошибке: Incorrect authentication data
07.09.2008, 16:10:05: SEND - ВНИМАНИЕ: не удалось обнаружить на сервере подходящих алгоритмов аутентификации
конфиг:
Код: Выделить всё
#!/bin/sh
primary_hostname = aumtuci.ru
hide mysql_servers = localhost/exim/***/***
domainlist local_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${domain}' AND \
`active`='1'}}
domainlist relay_to_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${domain}' AND \
`active`='1'}}
hostlist relay_from_hosts = localhost:127.0.0.0/8:192.168.1.0/16
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
av_scanner = clamd:/var/run/clamav/clamd
qualify_domain = aumtuci.ru
qualify_recipient = aumtuci.ru
allow_domain_literals = false
exim_user = mailnull
exim_group = mailnull
never_users = root
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 45m
timeout_frozen_after = 15d
freeze_tell = admin@aumtuci.ru
helo_accept_junk_hosts = 192.168.1.0/16
auto_thaw = 1h
smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"
smtp_accept_max = 50
smtp_accept_max_per_connection = 25
smtp_connect_backlog = 30
smtp_accept_max_per_host = 20
split_spool_directory = true
remote_max_parallel = 15
return_size_limit = 70k
message_size_limit = 24M
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
system_filter = /usr/local/etc/exim/copy_mail.conf
begin acl
acl_check_rcpt:
accept hosts = :
deny message = "Недопустимые символы в адресе"
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = "Недопустимые символы в адресе"
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
deny message = "HELO/EHLO обязано быть по SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
accept authenticated = *
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}}
warn
set acl_m0 = 20s
warn
hosts = +relay_from_hosts : 213.234.195.226/28
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 = "В этом домене нет такого пользователя"
verify = recipient
accept domains = +relay_to_domains
endpass
message = "Моя сервера не знать маршрут на этот хост..."
verify = recipient
accept hosts = +relay_from_hosts
deny message = "Свободен. Это тебе не ОпенРелей."
acl_check_data:
deny malware = *
message = "In e-mail found VIRUS - $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
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}'}}
mysqluser:
driver = accept
condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` \
WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{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('/var/mail/exim/', `maildir`) \
FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_pipe:
driver = pipe
return_output
address_reply:
driver = autoreply
begin retry
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
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
Re: exim+mysql-users - не работает =(
Добавлено: 2008-09-09 12:41:39
sakura
Та же проблема с The Bat
в базе лежат хэши паролей в md5
вот аутентификаторы:
Код: Выделить всё
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `username` FROM `mailbox` WHERE `username` = '${quote_mysql:$1}' AND `password` = md5('${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` = md5('${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 `password` FROM `mailbox` WHERE `username`= '${quote_mysql:$1}'}{$value}fail}
server_set_id = $1
возвращать бд к незашифрованому виду не хочется, а зебатники курят...
Re: exim+mysql-users - не работает =(
Добавлено: 2008-09-25 19:01:15
PiroMAN
а что нужно в конфиге поправить что б сервак работал как локальный. тоесть без MX записи. и почта ходила только внутри него?
Re: exim+mysql-users - не работает =(
Добавлено: 2008-09-25 21:48:18
dikens3
убери роутер dnslookup
Re: exim+mysql-users - не работает =(
Добавлено: 2008-09-26 9:57:39
PiroMAN
Что то я где то туплю
в логах
Код: Выделить всё
Sep 26 09:57:49 shadow exim[1373]: 1Kj7Gv-0000M9-D9 <= root@shadow.com.ua U=root P=local S=373 from <root@shadow.com.ua> for test
Sep 26 09:57:49 shadow exim[1374]: 1Kj7Gv-0000M9-D9 ** test@shadow.fbp.com.ua: Unrouteable address
Sep 26 09:57:49 shadow exim[1375]: 1Kj7Gv-0000MB-HQ <= <> R=1Kj7Gv-0000M9-D9 U=mailnull P=local S=1213 from <> for root@shadow.fbp.com.ua
Sep 26 09:57:49 shadow exim[1374]: 1Kj7Gv-0000M9-D9 Completed
Sep 26 09:57:49 shadow exim[1376]: 1Kj7Gv-0000MB-HQ ** root@shadow.com.ua: Unrouteable address
Sep 26 09:57:49 shadow exim[1376]: 1Kj7Gv-0000MB-HQ ** admin@a.in.ua <system-filter>: Unrouteable address
Sep 26 09:57:49 shadow exim[1376]: 1Kj7Gv-0000MB-HQ Frozen (delivery error message)
При этом у меня не создаются ящики в /var/mail/exim.
В mysql занес:
Код: Выделить всё
в mailbox:
username test
password test
name test
maildir /var/mail/exim/shadow.com.ua/test
quota 0
domain shadow.com.ua
created 2008-09-25 00:00:00 0000-00-00 00:00:00
modified 2008-09-25 00:00:00 0000-00-00 00:00:00
active
и в domain
Код: Выделить всё
domain description aliases mailboxes maxquota transport backupmx created modified active
shadow.com.ua 0 10 20 LOCAL 0 0000-00-00 00:00:00 0000-00-00 00:00:00 1
Re: exim+mysql-users - не работает =(
Добавлено: 2008-09-26 12:18:31
PiroMAN
Все. разобрался
Re: exim+mysql-users - не работает =(
Добавлено: 2008-09-27 21:24:15
Rita
PiroMAN писал(а):Все. разобрался
И ... ?
Re: exim+mysql-users - не работает =(
Добавлено: 2008-10-13 11:05:33
PiroMAN
как только переписал
в mailbox:
Код: Выделить всё
username test
password test
name test
maildir /var/mail/exim/shadow.com.ua/test
quota 0
domain shadow.com.ua
created 2008-09-25 00:00:00 0000-00-00 00:00:00
modified 2008-09-25 00:00:00 0000-00-00 00:00:00
active
на
в mailbox:
Код: Выделить всё
username test@shadow.com.ua
password test@shadow.com.ua
name test
maildir /var/mail/exim/shadow.com.ua/test
quota 0
domain shadow.com.ua
created 2008-09-25 00:00:00 0000-00-00 00:00:00
modified 2008-09-25 00:00:00 0000-00-00 00:00:00
active
все заработало.
Re: exim+mysql-users - не работает =(
Добавлено: 2008-10-21 15:06:12
Linxpro
Помогите разобратся!!! Делал вот по этой статье
http://www.lissyara.su/?id=1175
Код: Выделить всё
domain# telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to localhost
Escape character is '^]'.
+OK Hello there.
USER test
+OK Password required.
PASS 0000000
-ERR chdir Maildir failed
Connection closed by foreign host.
В лога вот такая вот беда! При этом нет каталога exim в /var/mail/
Код: Выделить всё
Oct 21 17:52:14 domain pop3d: LOGIN FAILED, user=test@domain.tld, ip=[192.168.1.2]
Oct 21 17:52:14 domain pop3d: authentication error: No such file or directory
Re: exim+mysql-users - не работает =(
Добавлено: 2008-10-21 18:53:21
Alex_hha
Не создана папка
Re: exim+mysql-users - не работает =(
Добавлено: 2008-11-13 14:15:27
ita
Возникла проблема с копированием входящей почты
Код: Выделить всё
if $recipients is "${lookup mysql{SELECT `address` FROM `alias` WHERE \
`address`='$recipients' AND `copy_mail`='1' LIMIT 1}}"
then
unseen deliver user@domen.com
endif
Если в письме 2 и более адресов(копия, скрытая копия) письмо не копируеться в ящик
user@domen.com
подозреваю что в переменной $recipients в таком случае строка типа
user1@domen.com,
user2@domen.com
Вариант изменить запрос на что-то вроде
SELECT `address` FROM `alias` WHERE `address`in ('$recipients') AND `copy_mail`='1'
не работает - mysql выдаст ошибку "Unknoun column ...."
Re: exim+mysql-users - не работает =(
Добавлено: 2008-11-13 15:50:18
Alex_hha
Та же проблема с The Bat
в базе лежат хэши паролей в md5
вот аутентификаторы:
про CRAM-MD5 забудь сразу ибо для его работы пароли нужны в чистом виде
Re: exim+mysql-users - не работает =(
Добавлено: 2008-11-27 12:47:32
favt
Извините за может тупой вопрос, но по этой связке что в статье (
http://www.lissyara.su/?id=1175) почта ходит внутри и уходит вовне, а как сделать чтобы он её принимал извне? Только прикручиванием fetchmail?
Re: exim+mysql-users - не работает =(
Добавлено: 2008-11-27 15:06:44
dikens3
favt писал(а):Извините за может тупой вопрос, но по этой связке что в статье (
http://www.lissyara.su/?id=1175) почта ходит внутри и уходит вовне, а как сделать чтобы он её принимал извне? Только прикручиванием fetchmail?
Покупаешь домен, поднимаешь DNS, прописываешь в нём MX запись (IP) на свой сервер и всё.
Re: exim+mysql-users - не работает =(
Добавлено: 2008-12-05 2:47:01
Dzirt
Извените за глупый вопрос но все жей!
У меня почта настроена
http://www.lissyara.su/?id=1175 все как тут описано.
Все ходит в логи пишет локально все норм из вне принемает.
Проблема с исходящей почтой!
SMTP error from remote mail server after RCPT TO:<
tsr.trol@ua.fm>:
host mx3.ua.fm [91.197.130.8]: 550 ACL.SHH00003 rejected. See
http://mail.i.ua/err/7/
при этом!
Received: from [192.168.13.10] (helo=ANREY-HOME)
Я так понимаю что Неверное значение параметра команды HELO/EHLO
но только как с этим боротся????
ANREY-HOME имя моей машинки, а должен быть мой домен.
Re: exim+mysql-users - не работает =(
Добавлено: 2008-12-05 10:05:29
dikens3
В в прилепленную тему, там есть ссылки на описание того, как работает почта.
Re: exim+mysql-users - не работает =(
Добавлено: 2008-12-05 11:30:19
Dzirt
dikens3 писал(а):В в прилепленную тему, там есть ссылки на описание того, как работает почта.
Я понял что меня послали
Вот только непонял куда?
Я половину форума перерыл ничего схожего не нашол.
А мне нужно понять как оно работает
Re: exim+mysql-users - не работает =(
Добавлено: 2008-12-05 11:46:09
dikens3
Re: exim+mysql-users - не работает =(
Добавлено: 2008-12-05 12:04:38
Dzirt
Пасиба!
Вот только не сильно то и помогло!
Я настраиваю сервак дома у меня есть доме все прописано правельно!
при попытке отправить почту примерно так
mail -s test
tsr.trol@ua.fm < /etc/rc.conf
в гогах пишет
Код: Выделить всё
Dec 5 10:59:08 trol exim[56434]: 1L8WWe-000EgD-J5 ** tsr.trol@ua.fm R=dnslookup T=remote_smtp: SMTP error from remote mail server after RCPT TO:<tsr.trol@ua.fm>: host mx3.ua.fm [91.197.130.8]: 550 ACL.SHH00003 rejected. See http://mail.i.ua/err/7/
Dec 5 10:59:08 trol exim[56436]: 1L8WWi-000EgG-46 <= <> R=1L8WWe-000EgD-J5 U=mailnull P=local S=2618 from <> for root@trol.dynalias.net
а в письме нет вообше строчки с HELO/EHLO
я так понимаю в конфиге
Код: Выделить всё
# Имя хоста. Используется в EHLO.
# Фигурирует в других пунктах, если они не заданы -
# типа qualify_domain и прочих..
# Если тут ничё не установлено (строка закомметрована)
# то используется то, что вернёт функция uname()
primary_hostname = trol.dynalias.net
отвечает за HELO и должно подставлять trol.dynalias.net
Или я чего не понял?
Если мне нужно настраивать локально DNS на моем серваке то хоть подскажите где и как!
Re: exim+mysql-users - не работает =(
Добавлено: 2008-12-05 16:37:54
dikens3
Твой DNS, если он не глобальный, никого не интересует вообще.
# host mail.mydomain.ru
mail.mydomain.ru has address 100.100.100.100
# host 100.100.100.100
100.100.100.100.in-addr.arpa domain name pointer mail.mydomain.ru.
configure
primary_hostname = mail.mydomain.ru
Re: exim+mysql-users - не работает =(
Добавлено: 2009-01-24 13:50:46
no_fate
Длительное время пользовался exim+courier настроенными еще по старой статье. Сейчас решил обновить систему, заодно сделал все по этой статье. Почта отправляется и принимается, директории создаются. Одна проблема - Outlook не подключается, пишет что не удалось синхронизировать папки. В логе никаких ошибок нет, телнетом подключается, выводит список писем. Подскажите пожалуйста где покопаться ?
Re: exim+mysql-users - не работает =(
Добавлено: 2009-01-25 19:49:45
Alex Keda
в другом почтовом клиенте, для начала
exim+the bat не работает =(
Добавлено: 2009-02-04 16:41:19
DFC
Добрый день, возникла проблема с клиентом The Bat(с Outlook'ом всё нормально).. Клиенты не проходят аутентификацию. Пишет следующее:
Код: Выделить всё
04.02.2009, 16:27:53: SEND - Отправка почты - писем в очереди: 1
04.02.2009, 16:27:53: SEND - Соединение с SMTP сервером прошло удачно
04.02.2009, 16:27:53: SEND - Аутентификация (программный CRAM-MD5)...
04.02.2009, 16:27:53: SEND - Сервер сообщает об ошибке: Incorrect authentication data
04.02.2009, 16:27:53: SEND - Аутентификация (обычный метод)...
04.02.2009, 16:27:53: SEND - Сервер сообщает об ошибке: Incorrect authentication data
04.02.2009, 16:27:53: SEND - Аутентификация (проверка имени пользователя и пароля)...
04.02.2009, 16:27:53: SEND - Сервер сообщает об ошибке: Incorrect authentication data
04.02.2009, 16:27:53: SEND - ВНИМАНИЕ: не удалось обнаружить на сервере подходящих алгоритмов аутентификации
04.02.2009, 16:27:53: SEND - Отправка письма для admin@********
04.02.2009, 16:27:53: SEND - Последний переданный адрес получателя был <admin@*******>
!04.02.2009, 16:27:53: SEND - Письмо не отправлено. Сервер сообщает: Sender verify failed
04.02.2009, 16:27:53: SEND - Соединение завершено - отправлено писем: 0
04.02.2009, 16:27:53: SEND - Не удалось отправить некоторые письма - подробности смотрите в Журнале работы
В логах exima:
Код: Выделить всё
Feb 4 16:27:23 gate exim[6001]: CRAM_MD5 authenticator failed for (localhost) [192.168.20.4] I=[192.168.20.3]:25: 535 Incorrect authentication data (set_id=test@*****)
Feb 4 16:27:23 gate exim[6001]: CRAM_MD5 authenticator failed for (localhost) [192.168.20.4] I=[192.168.20.3]:25: 535 Incorrect authentication data (set_id=test@*****)
Feb 4 16:27:23 gate exim[6001]: PLAIN authenticator failed for (localhost) [192.168.20.4] I=[192.168.20.3]:25: 535 Incorrect authentication data (set_id=test@*****)
Feb 4 16:27:23 gate exim[6001]: PLAIN authenticator failed for (localhost) [192.168.20.4] I=[192.168.20.3]:25: 535 Incorrect authentication data (set_id=test@*****)
Feb 4 16:27:23 gate exim[6001]: LOGIN authenticator failed for (localhost) [192.168.20.4] I=[192.168.20.3]:25: 535 Incorrect authentication data (set_id=test@*****)
Feb 4 16:27:23 gate exim[6001]: LOGIN authenticator failed for (localhost) [192.168.20.4] I=[192.168.20.3]:25: 535 Incorrect authentication data (set_id=test@*****)
Feb 4 16:27:23 gate exim[6001]: H=(localhost) [192.168.20.4] I=[192.168.20.3]:25 sender verify fail for <test@192.168.20.3>: Unrouteable address
Feb 4 16:27:23 gate exim[6001]: H=(localhost) [192.168.20.4] I=[192.168.20.3]:25 sender verify fail for <test@192.168.20.3>: Unrouteable address
Feb 4 16:27:23 gate exim[6001]: H=(localhost) [192.168.20.4] I=[192.168.20.3]:25 F=<test@192.168.20.3> rejected RCPT <admin@*****>: Sender verify failed
Feb 4 16:27:23 gate exim[6001]: H=(localhost) [192.168.20.4] I=[192.168.20.3]:25 F=<test@192.168.20.3> rejected RCPT <admin@*****>: Sender verify failed
Все настройки как в статье.
Посоветуйте как можно исправить ?