На сервере установлена связка Centos + Posfix + MySQL + Devecot + PostfixAdmin, вопрос вот в чём, почта не уходит на внешние ящики, но приходит на него.
настройки велись по http://phn.ho.ua/articles/postfix_mysql_centos.html#3В логах:
Mar 30 10:24:39 mail postfix/smtpd[10294]: connect from localhost[::1]
Mar 30 10:24:39 mail postfix/cleanup[10302]: 7C2111600B4: message-id=<20120330072439.7C2111600B4@mail.********>
Mar 30 10:24:39 mail postfix/qmgr[10258]: 7C2111600B4: from=<>, size=272, nrcpt=1 (queue active)
Mar 30 10:24:39 mail postfix/virtual[10304]: 7C2111600B4: to=<admin@********>, relay=virtual, delay=0.02, delays=0.01/0.01/0/0, dsn=2.0.0 , status=deliverable (delivers to maildir)
Mar 30 10:24:39 mail postfix/qmgr[10258]: 7C2111600B4: removed
Mar 30 10:24:42 mail postfix/smtpd[10294]: NOQUEUE: reject: RCPT from localhost[::1]: 554 5.7.1 <admin@********>: Sender address rejected: Access denied; from=<admin@********> to=<********@yandex.ua> proto=ESMTP helo=<mail.********>
Mar 30 10:24:42 mail postfix/smtpd[10294]: warning: non-SMTP command from localhost[::1]: To: ********@yandex.ua
Mar 30 10:24:42 mail postfix/smtpd[10294]: disconnect from localhost[::1]Помогите решить проблему, буду очень благодарен!!!
> 554 5.7.1Postfix: 554 5.7.1 Relay access denied
>> 554 5.7.1
> Postfix: 554 5.7.1 Relay access deniedКуда копать, что смотреть, как пофиксить?
>>> 554 5.7.1
>> Postfix: 554 5.7.1 Relay access denied
> Куда копать, что смотреть, как пофиксить?/etc/postfix/main.cf смотреть на предмет релея....
например там:
# Список сетей, которым разрешен relay; слушаем на всех интерфейсах
mynetworks = 127.0.0.0/8, 192.168.0.0/24
smtpd_recipient_restrictions = reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destinationsmtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_helo_access hash:/etc/postfix/hello_access,smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/client_access,
reject_rbl_client combined.njabl.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dul.ru,
reject_rbl_client dnsbl.dronebl.org
reject_rbl_client blackholes.mail-abuse.org,
reject_rbl_client dialups.mail-abuse.org,
>[оверквотинг удален]
> smtpd_client_restrictions =
> permit_mynetworks,
> permit_sasl_authenticated,
> check_client_access hash:/etc/postfix/client_access,
> reject_rbl_client combined.njabl.org,
> reject_rbl_client bl.spamcop.net,
> reject_rbl_client dul.ru,
> reject_rbl_client dnsbl.dronebl.org
> reject_rbl_client blackholes.mail-abuse.org,
> reject_rbl_client dialups.mail-abuse.org,вот что у меня в main.cf
# RESTRICTIONS START
smtpd_sender_restrictions = permit_mynetworks,
reject_authenticated_sender_login_mismatch,
reject_unknown_sender_domain,
reject_unlisted_sender,
reject_unverified_sender,
reject
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
permit_auth_destination,
check_policy_service unix:/var/spool/postfix/postgrey/socket,
reject_unauth_destination,
reject_unlisted_recipient,
reject_unknown_recipient_domain,
reject_non_fqdn_recipient,
reject
smtpd_data_restrictions = reject_unauth_pipelining, reject_multi_recipient_bounce
smtpd_etrn_restrictions = reject
smtpd_reject_unlisted_sender = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
show_user_unknown_table_name = no
address_verify_sender = <>
unverified_sender_reject_code = 550
smtpd_helo_required = yes
smtp_always_send_ehlo = yes
smtpd_hard_error_limit = 8
smtpd_timeout = 120s
smtp_helo_timeout = 60s
smtp_mail_timeout = 60s
smtp_rcpt_timeout = 90s
# RESTRICTIONS END
# SMTP AUTH START
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
# SMTP AUTH END
smtpd_sender_login_maps = mysql:/etc/postfix/sender.conf
virtual_alias_maps = mysql:/etc/postfix/alias.conf
virtual_mailbox_domains = mysql:/etc/postfix/domain.conf
virtual_mailbox_maps = mysql:/etc/postfix/mailbox.conf
virtual_mailbox_limit_maps = mysql:/etc/postfix/quota.conf
virtual_maildir_extended=yes
virtual_mailbox_limit_override=yes
virtual_create_maildirsize = yes
virtual_overquota_bounce = yes
virtual_maildir_limit_message="Sorry, the user's maildir has overdrawn his diskspace quota, please try again later"
message_size_limit = 5242880
virtual_mailbox_base = /usr/mail
virtual_gid_maps = static:501
virtual_uid_maps = static:501
virtual_minimum_uid = 500
content_filter = amavisd-new:[127.0.0.1]:10024Я напишу то что хочу реализовать, может это поможет найти баг, мне нужно чтоб создавались пользователи через PosfixAdmin, почта приходила на мой сервер но чтение её осуществлялось через Thunderbird.
> Я напишу то что хочу реализовать, может это поможет найти баг, мне
> нужно чтоб создавались пользователи через PosfixAdmin,Нужно - делайте. Я разрешаю.
> почта приходила на мой сервер
Странно. Я-то думал, что Вам нужно, чтобы почта приходила на сервер mail.ru. А оно вон как.
> но чтение её осуществлялось через Thunderbird.
А "чтение" TheBat, Outlook и прочими почтовыми клиентами чтобы не осуществлялось? Я правильно понял?
Похоже, клиент не отправляет верительные данные smtpd.
sasl2 - это cyrus? Выставите ему логгирование в 7 и покажите логи.
> sasl2 - это cyrus? Выставите ему логгирование в 7 и покажите логи.Да.
Если вам не сложно, напишите как это сделать.
Узнать, где у вас сасл хранит конфиг (smtpd.conf) и туда прописать:
log_level: 7А у вас что, нет документации к cyrus'у?
> Узнать, где у вас сасл хранит конфиг (smtpd.conf) и туда прописать:
> log_level: 7нашел и прописал, перезапустил, сново попробовал отправить письмо, но в maillog никаких изменений, или Вам нужны другие логи
> А у вас что, нет документации к cyrus'у?к сожалению нет
>> А у вас что, нет документации к cyrus'у?
> к сожалению нетИнтернета тоже нет?
1. Покажите конфиг сасла.
2. В master.cf выставите в строке smtp ... smtpd -vВ данном случае клиентом выступает MUA. Он должен отсылать логин/пароль. Постфикс передает их саслу, сасл лезет в базу (или еще куда), проверяет пароль, и дает "добро" постфиксу на то, чтобы считать клиента успешно авторизованным. Если у вас в логах этот процесс никак не отражен, значит надо искать - почему. Возможно, у вас сасл собран без поддержки бэкенда или неправильно настроен сам бэкенд, или неправильно настроен сасл, или на клиенте не настроена посылка данных для аутентификации, или неверно указан smtp-сервер, или постфикс не доходит до аутентификации клиента, разрешаю ему ретрансляцию на более раннем этапе.
Вообще, то, что вы прячете реальный конфиг, заменяя там звездочками, совсем не способствует более легкому чтению и пониманию ваших конфигов.
> 1. Покажите конфиг сасла.pwcheck_method: auxprop
mech_list: PLAIN LOGIN CRAM-MD5
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: localhost
sql_user: postfix
sql_passwd: postfix
sql_database: postfix
sql_select: select password from mailbox where username = '%u@%r'
log_level: 7
> 2. В master.cf выставите в строке smtp ... smtpd -vтам довольно много строк которые начинаются с smtp в какой именно нужно прописать smtpd -v
#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
#submission inet n - n - - smtpd
# -o smtpd_tls_security_level=encrypt
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o smtp_fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
#maildrop unix - n n - - pipe
# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - pipe
# user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
#uucp unix - n n - - pipe
# flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# ====================================================================
#
# Other external delivery methods.
#
#ifmail unix - n n - - pipe
# flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
#
#bsmtp unix - n n - - pipe
# flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
#
#scalemail-backend unix - n n - 2 pipe
# flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
# ${nexthop} ${user} ${extension}
#
#mailman unix - n n - - pipe
# flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
# ${nexthop} ${user}
amavisd-new unix - - n - 2 smtp
-o smtp_data_done_timeout=1200s
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
dovecot unix - n n - - pipe
flags=DRhu user=virtual:virtual argv=/usr/libexec/dovecot/deliver -d $(recipient)
> Похоже, клиент не отправляет верительные данные smtpd.Как это исправить?
>> Похоже, клиент не отправляет верительные данные smtpd.
> Как это исправить?Бляха-муха, пересмотрите свои МХ записи
>>> Похоже, клиент не отправляет верительные данные smtpd.
>> Как это исправить?
> Бляха-муха, пересмотрите свои МХ записиMX прописаны правильно.
****.org.ua. IN NS ns1.****.org.ua.
****.org.ua. IN NS ns2.****.org.ua.
mail.****.org.ua. IN NS ns1.****.org.ua.
mail.****.org.ua. IN NS ns2.****.org.ua.
****.org.ua. IN A IP
****.org.ua. IN MX 20 mail.****.org.ua.
mail.****.org.ua. IN A IP_2
ns1.****.org.ua. IN A IP_3
ns2.****.org.ua. IN A IP_4
В чём ещё может быть проблема?
Обратите внимание на:> smtpd_reject_unlisted_sender = yes
> Mar 30 10:24:39 mail postfix/qmgr[10258]: 7C2111600B4: from=<>, size=272, nrcpt=1 (queue active)
> Обратите внимание на:
>> smtpd_reject_unlisted_sender = yes
>> Mar 30 10:24:39 mail postfix/qmgr[10258]: 7C2111600B4: from=<>, size=272, nrcpt=1 (queue active)я гуглил на счёт этого но так ничего толкового и не нашёл(((( Вы можете объяснить что это значит
>> Обратите внимание на:
>>> smtpd_reject_unlisted_sender = yes
>>> Mar 30 10:24:39 mail postfix/qmgr[10258]: 7C2111600B4: from=<>, size=272, nrcpt=1 (queue active)
> я гуглил на счёт этого но так ничего толкового и не нашёл((((
> Вы можете объяснить что это значитПроблема решена, переписал main.сf и всё заработало, скорее всего при копепасте что-то попало за пределы видимой области.
Спасибо за помощь.
Возникла другая проблема, попробовал создать учётку через thunderbird, но не тут то было((((в логах maillog:
Apr 3 11:08:02 mail postfix/anvil[15217]: statistics: max connection rate 2/60s for (smtp:46.200.209.169) at Apr 3 11:04:42
Apr 3 11:08:02 mail postfix/anvil[15217]: statistics: max connection count 2 for (smtp:46.200.209.169) at Apr 3 11:04:42
Apr 3 11:08:02 mail postfix/anvil[15217]: statistics: max cache size 1 at Apr 3 11:04:42
Apr 3 11:08:35 mail dovecot: pop3-login: Disconnected (auth failed, 2 attempts): user=<****@********>, method=PLAIN, rip=46.200.209.169, lip= IP, TLSв логах dovecot ничего.
в dovecot.conf у меня:protocols = pop3 imap
protocol pop3 {
listen = *:110
}
protocol imap {
listen = *:143
}
disable_plaintext_auth = no
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot.log
login_greeting = Welcome to PHN.ORG.UA IMAP/POP3 server.
mail_location = maildir:/usr/mail/%n/%d
mail_debug = yes
first_valid_uid = 501
last_valid_uid = 501
first_valid_gid = 501
last_valid_gid = 501
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
auth default {
mechanisms = plain login cram-md5 DIGEST-MD5
passdb sql {
args = /etc/dovecot-mysql.conf
}
userdb sql {
args = /etc/dovecot-mysql.conf
}
user = virtual
}помогите плз.
> Возникла другая проблема, попробовал создать учётку через thunderbird, но не тут то
> было((((Круто. Рекомендую попробовать создавать учетки Аутлуком. Уж он-то точно умеет. :)))))
ПыСы: Это просто праздник какой-то. Чем дальше - тем чудесатее.
>> Возникла другая проблема, попробовал создать учётку через thunderbird, но не тут то
>> было((((
> Круто. Рекомендую попробовать создавать учетки Аутлуком. Уж он-то точно умеет. :)))))
> ПыСы: Это просто праздник какой-то. Чем дальше - тем чудесатее.)))))) юмор дело отличное, но не тогда когда нужно решение!!!!!
>>> Возникла другая проблема, попробовал создать учётку через thunderbird, но не тут то
>>> было((((
>> Круто. Рекомендую попробовать создавать учетки Аутлуком. Уж он-то точно умеет. :)))))
>> ПыСы: Это просто праздник какой-то. Чем дальше - тем чудесатее.
> )))))) юмор дело отличное, но не тогда когда нужно решение!!!!!через телнет:
telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user souden@********
+OK
pass ******************
-ERR Authentication failed.
если не сложно подскажите плз в чём проблема
> -ERR Authentication failed.
> если не сложно подскажите плз в чём проблемав настройках. А смотреть в логах. Желательно при этом включить какой-то повышеный уровень логирования
>> -ERR Authentication failed.
>> если не сложно подскажите плз в чём проблема
> в настройках. А смотреть в логах. Желательно при этом включить какой-то повышеный
> уровень логированиялогично что в настройках)))))
а логи я чуть раньше приводил, вот повторю:
Apr 3 19:49:05 mail dovecot: pop3-login: Disconnected (auth failed, 2 attempts): user=<souden@*********>, method=PLAIN, rip=*.*.*.*, lip=*.*.*.*, TLS
>>> -ERR Authentication failed.
>>> если не сложно подскажите плз в чём проблема
>> в настройках. А смотреть в логах. Желательно при этом включить какой-то повышеный
>> уровень логирования
> логично что в настройках)))))
> а логи я чуть раньше приводил, вот повторю:
> Apr 3 19:49:05 mail dovecot: pop3-login: Disconnected (auth failed, 2 attempts):
> user=<souden@*********>, method=PLAIN, rip=*.*.*.*, lip=*.*.*.*, TLSвроде-как надо смотреть /var/log/debug ?
> Apr 3 19:49:05 mail dovecot: pop3-login: Disconnected (auth failed, 2 attempts):
> user=<souden@*********>, method=PLAIN, rip=*.*.*.*, lip=*.*.*.*, TLSКакое из слов перевести?
Посмотрите ваш user_query и выполните его напрямую в базе.
Посмотрите ваш password_query и выполните его напрямую в базе.P.S. Извините, я на сайте не зарегистрирован, так что не могу редактировать свои сообщения.
> passdb sql {
> args = /etc/dovecot-mysql.conf
> }
> userdb sql {
> args = /etc/dovecot-mysql.conf
> }
> user = virtual
> }
> помогите плз.Кино и немцы, ей Богу. Думаем- думаем. Я даже выдрал из общего словесного бреда нужное. Грубо говоря - пальцем уже показал!
Для тех, кому пальцем недостаточно (мне, например), скажите на словах, что тут не так?
> Для тех, кому пальцем недостаточно (мне, например), скажите на словах, что тут
> не так?ТУТ "не так" - с ДНК. А это уже выходит за тематику данного форума.
> ТУТ "не так" - с ДНК. А это уже выходит за
> тематику данного форума.Так ты бы к доктору сходил, а не на форуме сидел и место того чтоб что-то дельное писать пишешь в основном фигню!!!
> Так ты бы к доктору сходил, а не на форуме сидел
> и место того чтоб что-то дельное писать пишешь в основном фигню!!!Фигню, батенька, пишете Вы. Причем фигню феерическую. Вам уже и пальцем показали - не дошло. Может стоит тогда пойти в отрасль народного хозяйства, которая больше подходит уровню Ваших знаний (точнее, незнаний - ибо этого у Вас явно больше)?
Когда вы всех вокруг упрекаете в незнании и тупости, то по законам жанра в конце вы должны привести правильный развернутый ответ. Иначе вы смотритесь как феерическое мудило.
> Когда вы всех вокруг упрекаете в незнании и тупости, то по законам
> жанра в конце вы должны привести правильный развернутый ответ. Иначе вы
> смотритесь как феерическое мудило.Еще один умник. Я выше - ПАЛЬЦЕМ ПОКАЗАЛ для тупых и одаренных - что КОНКРЕТНО надо смотреть! Ну ладно - у одного туго с мозгами, но Вы-то, юноша, чего лезете? Вы знаете, что у него написано в этом конфиге??? Я лично - не знаю. А он тупит уже второй день. А то и пятый - если посмотреть дату начала этого тупняка.
Посмотрите на 27 и на 28-й пост.
> Посмотрите на 27 и на 28-й пост.Вот содержимое dovecot-mysql.conf
driver = mysql
connect = host=/var/lib/mysql/mysql.sock dbname=postfix user=postfix password=postfix
default_pass_scheme = MD5
password_query = SELECT username as user, password FROM mailbox WHERE username = '%u' and active='1'
user_query = SELECT maildir, 501 AS uid, 501 AS gid FROM mailbox WHERE username = '%u' and active='1'mysql> SELECT username as user, password FROM mailbox WHERE username = '%u' and active='1'
-> ;
Empty set (0.00 sec)mysql> SELECT maildir, 501 AS uid, 501 AS gid FROM mailbox WHERE username = '%u' and active='1'
-> ;
Empty set (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| postfix |
+--------------------+/etc/postfix/alias.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address/etc/postfix/domain.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = domain
select_field = domain
where_field = domain
additional_conditions = and active = '1' and backupmx = '0'/etc/postfix/mailbox.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
additional_conditions = and active = '1'/etc/postfix/quota.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username
additional_conditions = and active = '1'/etc/postfix/sender.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = username
where_field = username
additional_conditions = and active = '1'
Я правильно понимаю в выше приведённых файлах должны быть команды для бд?
Прежде чем выполнять запросы, надо выбрать базу. Типа: use postfix;
> Прежде чем выполнять запросы, надо выбрать базу. Типа: use postfix;поспешил ответить, а пока редактировал ответ Вы ответили.
поправил, посмотрите предыдущее сообщение
>> Прежде чем выполнять запросы, надо выбрать базу. Типа: use postfix;
> поспешил ответить, а пока редактировал ответ Вы ответили.
> поправил, посмотрите предыдущее сообщениеСпасибо за подсказку. Поправил файлы
/etc/postfix/alias.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address
additional_conditions = and active = '1'
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
/etc/postfix/domain.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = domain
select_field = domain
where_field = domain
additional_conditions = and active = '1' and backupmx = '0'
query = SELECT domain FROM domain WHERE domain='%s' AND backupmx='0' AND active='1'/etc/postfix/mailbox.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
additional_conditions = and active = '1'
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'/etc/postfix/quota.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username
additional_conditions = and active = '1'
query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'/etc/postfix/sender.conf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = username
where_field = username
additional_conditions = and active = '1'
query = SELECT username FROM mailbox WHERE username='%s' AND active = '1'В базе всё создаётся, в базе username записан как name@domain.ru, в файле dovecot-mysql.conf в запросе стоит username = '%u' это правильно или нужно username = '%u@%d' ?
Надо указать '%u'. Но мне кажется, вы не обращаете внимания на то, что это же имя должно быть прописано в качестве логина на почтовом клиенте. Вообще, этот логин может иметь любой формат.
> Надо указать '%u'. Но мне кажется, вы не обращаете внимания на то,
> что это же имя должно быть прописано в качестве логина на
> почтовом клиенте. Вообще, этот логин может иметь любой формат.у меня в базе есть почта test@domain.ru c паролем, я указываю его в качестве пользователя и соответственно прописываю пароль пароль. Но пишет что имя или пароль введены не правильно. Имя пишу в формате test@domain.ru в логах всё то-же
dovecot: pop3-login: Disconnected (auth failed, 2 attempts): user=<test@domain.ru>, method=PLAIN, rip=*.*.*.* , lip=*.*.*.*, TLS
А попробуйте изменить запрос так, чтобы он стал синтаксически корявым, залогиньтесь и посмотрите в логи базы - ругается ли она во время логина. Так мы увидим - доходит ли в принципе процесс до запроса к базе.
> А попробуйте изменить запрос так, чтобы он стал синтаксически корявым, залогиньтесь и
> посмотрите в логи базы - ругается ли она во время логина.
> Так мы увидим - доходит ли в принципе процесс до запроса
> к базе.я так понимаю что запрос не доходит, так как в mysqld.log отображаются лишь действия которые я осуществлял напрямую, а больше ничего нет
Давайте еще вот эту часть:
> passdb sql {
> args = /etc/dovecot-mysql.conf
> }
> userdb sql {
> args = /etc/dovecot-mysql.conf
> }
> user = virtual
> }перепишем вот так:
passdb {
driver = sql
args = /etc/dovecot-mysql.conf
}
userdb {
driver = sql
args = /etc/dovecot-mysql.conf
}
}
>[оверквотинг удален]
> перепишем вот так:
> passdb {
> driver = sql
> args = /etc/dovecot-mysql.conf
> }
> userdb {
> driver = sql
> args = /etc/dovecot-mysql.conf
> }
> }переписал, правда оставил user=virtual но никаких изминений
>[оверквотинг удален]
>> passdb {
>> driver = sql
>> args = /etc/dovecot-mysql.conf
>> }
>> userdb {
>> driver = sql
>> args = /etc/dovecot-mysql.conf
>> }
>> }
> переписал, правда оставил user=virtual но никаких изминенийПерепробовал кучу всего, получается так что при создании пользователей через постфикс админ, всё ок, в базе всё прописывается, в логах это видно, а вот девекот ни в какую не хочет конектится к базе, даже не пытается. Приведу ещё раз конфиги:
dovecot.conf
protocols = pop3 imap
protocol pop3 {
listen = *:110
}
protocol imap {
listen = *:143
}
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot.log
ssl_disable = yes
login_greeting = Welcome to IMAP/POP3 server.
mail_location = maildir:/usr/mail/%d/%n
mail_debug = yes
first_valid_uid = 1
last_valid_uid = 501
first_valid_gid = 501
last_valid_gid = 501
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
auth default {
mechanisms = plain
passdb {
args = /etc/dovecot-mysql.conf
}
userdb {
args = /etc/dovecot-mysql.conf
}
user = virtual
}dovecot-mysql.conf:
driver = mysql
connect = host=/var/lib/mysql/mysql.sock dbname=postfix user=postfix password=postfix
default_pass_scheme = PLAIN
password_query = SELECT username as user, password FROM mailbox WHERE username = '%u' and active='1'
user_query = SELECT maildir, 501 AS uid, 501 AS gid FROM mailbox WHERE username = '%u' and active='1'
ls -la /etc/dovecot-mysql.conf
-rwxr--r--. 1 virtual virtual 334 Апр 5 16:25 /etc/dovecot-mysql.conf
в логах dowecot:Apr 5 16:27:57 mail dovecot: pop3-login: Disconnected (auth failed, 2 attempts): user=<test@********>, method=PLAIN, rip=*.*.*.*, lip=*.*.*.*, TLS
в логах sql чисто
Dovecot собран с поддержкой MySQL?
> Dovecot собран с поддержкой MySQL?doveconf -n | grep mysql
ничего не выдаёт, значит без. я правильно проверяю?
как собрать с поддержкой mysql?
И поставьте default_pass_cheme в PLAIN.
> И поставьте default_pass_cheme в PLAIN.где это нужно прописать?
Где-то в dovecot-sql.confОшибка: default_pass_scheme PLAIN
> Где-то в dovecot-sql.conf
> Ошибка: default_pass_scheme PLAINа default_pass_scheme просто Вы писали default_pass_cheme, ну не важно, изменил, никаких изменений в логах(((
> Надо указать '%u'. Но мне кажется, вы не обращаете внимания на то,
> что это же имя должно быть прописано в качестве логина на
> почтовом клиенте. Вообще, этот логин может иметь любой формат.# The query can also return other fields which have a special meaning, see
# http://wiki.dovecot.org/PasswordDatabase/ExtraFields
#
# Commonly used available substitutions (see http://wiki.dovecot.org/Variables
# for full list):
# %u = entire user@domain
# %n = user part of user@domain
# %d = domain part of user@domain
#
# Note that these can be used only as input to SQL query. If the query outputs
# any of these substitutions, they're not touched. Otherwise it would be
# difficult to have eg. usernames containing '%' characters.
>[оверквотинг удален]
> # Commonly used available substitutions (see http://wiki.dovecot.org/Variables
> # for full list):
> # %u = entire user@domain
> # %n = user part of user@domain
> # %d = domain part of user@domain
> #
> # Note that these can be used only as input to SQL
> query. If the query outputs
> # any of these substitutions, they're not touched. Otherwise it would be
> # difficult to have eg. usernames containing '%' characters.Вы типа объяснили почему %u или это тоже невидимый вопрос?
Это видимый ответ - что и какие переменные значат. А в самом начале ссылка на вики. Дерзайте. Авось к майским начнете читать документацию.
%u - это шаблон, его надо заменить на то имя, которое которое вы прописали в MUA. Оно еще должно отражаться в логах.
> %u - это шаблон, его надо заменить на то имя, которое которое
> вы прописали в MUA. Оно еще должно отражаться в логах.в запросе я изменял, просто привёл здесь как %u
>> %u - это шаблон, его надо заменить на то имя, которое которое
>> вы прописали в MUA. Оно еще должно отражаться в логах.
> в запросе я изменял, просто привёл здесь как %uс запросами всё ок, выводит и директорию и имя и пароль, но через клиет конектится не хочет
> с запросами всё ок, выводит и директорию и имя и пароль, но
> через клиет конектится не хочет"Empty set" в выводе результатов запроса на является признаком "океистости" запроса. Как раз наооборот. Все конфиги давкота очень хорошо документированы. Читайте - там все написано, что и как писать. Логи с выском уровнем "дебажности" покажут, как ие запросы КОНКРЕТНО выполняются. Вот их и надо проверять. Засим заканчиваю эту бесполезную "дискуссию" ввиду ее бесперспективности, как и обещал. Дерзайте.
Включите в конфиге логгирования всю возможную отладку. В частности, auth_debug.
> Включите в конфиге логгирования всю возможную отладку. В частности, auth_debug.63й пост
И при чем тут постфикс, когда у вас проблемы с довекотом? Давайте решать проблемы в порядке живой очереди, а не все сразу.
> Еще один умник. Я выше - ПАЛЬЦЕМ ПОКАЗАЛ для тупых и
> одаренных - что КОНКРЕТНО надо смотреть! Ну ладно - у одного
> туго с мозгами, но Вы-то, юноша, чего лезете? Вы знаете, что
> у него написано в этом конфиге??? Я лично - не знаю.
> А он тупит уже второй день. А то и пятый -
> если посмотреть дату начала этого тупняка.Ну после этого сообщения слов просто нет, место того чтоб просто спросить что в конфиге Вы начинаете бессмысленный трид непонятно о чём, вы указали на блок и я уверен что все подумали что проблема или в синтаксисе или чего-то там не хватает. Вы там что-то говорили о мозгах, так Вот, у Вас они явно думают через "отверстие" ну или Вы блондинкО. У меня 5ти летняя сестра так вопросы не задаёт.
Есть прекрасный анекдот, про автобус, я думал просто выдумка, оказывается из жизни)))):
Сломался автобус:
Водило и так и сяк, поломку найти не может, бегает малыш со словами "дяденька, дяденька, а я знаю что у Вас сломалось", проходит несколько часов, водила не выдерживает:
-ну и что у меня сломалось
малыш, с довольным лицом:
-автобус
Ясно. Удачи. То, что надо наконец-то файл конфига посмотреть - наконец-то было понято. Не все еще так безнадежно. Где-нибудь через месяц дойдет логи с работой базой мускула совместить. Потом, через месяцок, может и до шифрования доберетесь. Без меня, без меня. Эстония не входит в список стран, которые мне нравятся. Желаю успехов.
> Ясно. Удачи. То, что надо наконец-то файл конфига посмотреть - наконец-то было
> понято. Не все еще так безнадежно. Где-нибудь через месяц дойдет логи
> с работой базой мускула совместить. Потом, через месяцок, может и до
> шифрования доберетесь. Без меня, без меня. Эстония не входит в список
> стран, которые мне нравятся. Желаю успехов.Мне просто так для себя поржать, а ты по жизни кто????))))))) Ну я вижу общими ответами ты горазд поотвечать но ничего конкретно предложить или спросить не можешь, ты на форуме сидишь наверное потому что жизнь не сложилась, в школе щемили, в универе, на работе, а здесь хоть поумничать можешь и то без конкретики. )))) Удачи в жизни)
> Фигню, батенька, пишете Вы. Причем фигню феерическую. Вам уже и пальцем
> показали - не дошло. Может стоит тогда пойти в отрасль народного
> хозяйства, которая больше подходит уровню Ваших знаний (точнее, незнаний - ибо
> этого у Вас явно больше)?То что для Вас кажется фигнёй и явной ошибкой, не всегда является таковой для всех, форумы и созданы для того чтоб помочь, а не показать себя и поорать с других, если человек разбирается в чём-то хуже другого это не означает что он глуп, всегда были те кто лучше и кто хуже разбирается в том или ином вопросе, но я считаю это не повод грубить. Если Вы хотите помочь то не стебитесь, а помогите решить проблему, а если хотите поржать, то сходите в цирк.