Страница 1 из 2
Postfix+mysql
Добавлено: 2010-07-21 20:35:05
Dimasx
Данную связку настраивал по вот этому мануалу:
http://www.lissyara.su/articles/freebsd/mail/postfix/
Связка функционирует, но:
1. Почтовиком (evolution, the bat, outlook и т.д.) не могу пройти аунтификацию ни на поп 3 ни на смтп вот что пишет maillog, когда создаю домен, завожу ящики (admin и test) пытаюсь авторизоваться через почтовик:
Код: Выделить всё
Jul 21 14:42:21 mydomain postfix/smtpd[1537]: connect from localhost[127.0.0.1]
Jul 21 14:42:21 mydomain postfix/trivial-rewrite[1538]: warning: table "mysql:/usr/local/etc/postfix/mysql/domains_maps.conf": empty lookup result for: "mydomain.ru" -- ignored
Jul 21 14:42:21 mydomain postfix/trivial-rewrite[1538]: warning: table "mysql:/usr/local/etc/postfix/mysql/domains_maps.conf": empty lookup result for: "mydomain.ru" -- ignored
Jul 21 14:42:21 mydomain postfix/smtpd[1537]: A1AEFD12865: client=localhost[127.0.0.1]
Jul 21 14:42:21 mydomain postfix/cleanup[1539]: A1AEFD12865: message-id=<20100721104221.A1AEFD12865@mydomain.ru>
Jul 21 14:42:21 mydomain postfix/qmgr[1269]: A1AEFD12865: from=<admin@rmydomain.ru>, size=594, nrcpt=1 (queue active)
Jul 21 14:42:21 mydomain postfix/smtpd[1537]: disconnect from localhost[127.0.0.1]
Jul 21 14:42:21 mydomain postfix/trivial-rewrite[1538]: warning: table "mysql:/usr/local/etc/postfix/mysql/domains_maps.conf": empty lookup result for: "mydomain.ru" -- ignored
Jul 21 14:42:21 mydomain postfix/virtual[1540]: A1AEFD12865: to=<test@mydomain.ru>, relay=virtual, delay=0.03, delays=0.02/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Jul 21 14:42:21 mydomain postfix/qmgr[1269]: A1AEFD12865: removed
Jul 21 14:42:53 mydomain postfix/smtpd[1537]: connect from localhost[127.0.0.1]
Jul 21 14:42:53 evalution postfix/smtpd[1537]: 57E08D12865: client=localhost[127.0.0.1]
Jul 21 14:42:53 mydomain postfix/cleanup[1539]: 57E08D12865: message-id=<20100721104253.57E08D12865@mydomain.ru>
Jul 21 14:42:53 mydomain postfix/qmgr[1269]: 57E08D12865: from=<admin@mydomain.ru>, size=594, nrcpt=1 (queue active)
Jul 21 14:42:53 mydomain postfix/smtpd[1537]: disconnect from localhost[127.0.0.1]
Jul 21 14:42:53 mydomain postfix/trivial-rewrite[1538]: warning: table "mysql:/usr/local/etc/postfix/mysql/domains_maps.conf": empty lookup result for: "mydomain.ru" -- ignored
Jul 21 14:42:53 mydomain postfix/virtual[1540]: 57E08D12865: to=<admin@mydomain.ru>, relay=virtual, delay=0.01, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Jul 21 14:42:53 mydomain postfix/qmgr[1269]: 57E08D12865: removed
Jul 21 14:43:02 mydomain courier-imap: LOGIN FAILED, user=test@mydomain.ru, ip=[213.1.1.1]
Jul 21 14:43:02 mydomain courier-imap: authentication error: Input/output error
Jul 21 14:43:03 mydomain courier-imap: LOGIN FAILED, user=test@mydomain.ru, ip=[213.1.1.1]
Jul 21 14:43:03 mydomain courier-imap: authentication error: Input/output error
cat /usr/local/etc/postfix/mysql/domains_maps.conf
Код: Выделить всё
user = postfix
password = password
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain
1. Не понимаю его ругань на:
postfix/trivial-rewrite[1538]: warning: table "mysql:/usr/local/etc/postfix/mysql/domains_maps.conf": empty lookup result for: "mydomain.ru" -- ignored
2. Почему не проходит авторизация на pop или smtp, пароль ввожу корректно для ящика, что добавлял через postfixadmin
Куда крутить ?
P.S.
Ящики создаются нормально (/var/spool/mail/virtual/admin.mydomain.ru и т.д.), входящие письма с других доменов в папках я вижу, но вот получить по нормальному через почтовик не могу
Re: Postfix+mysql
Добавлено: 2010-07-22 8:41:22
Гость
А postfixadmin в качестве транспорта у Вас что указано?
Re: Postfix+mysql
Добавлено: 2010-07-22 8:50:46
ivan_k
Попробуйте выполнить запрос из базы вручную, может ошибка в запросе

Re: Postfix+mysql
Добавлено: 2010-07-22 10:47:22
Dimasx
Попробуйте выполнить запрос из базы вручную, может ошибка в запросе
какой именно запрос выполнить ?
Код: Выделить всё
А postfixadmin в качестве транспорта у Вас что указано?
Не понял вопроса
Re: Postfix+mysql
Добавлено: 2010-07-22 10:52:52
ivan_k
Код: Выделить всё
Jul 21 14:42:21 mydomain postfix/trivial-rewrite[1538]: warning: table "mysql:/usr/local/etc/postfix/mysql/domains_maps.conf": empty lookup result for: "mydomain.ru" -- ignored
Ну у вас же написано, что поиск вернул пустой результат(ничего не нашел), наверное что то не так с запросом к таблице, где лежит имя домена
Re: Postfix+mysql
Добавлено: 2010-07-22 16:37:20
Dimasx
Смотрим:
База постфикс -есть!
Таблица domain есть!
в ней записи
Код: Выделить всё
domain description aliases mailboxes maxquota quota transport backupmx created modified active
ALL 0 0 0 0 0 0000-00-00 00:00:00 0000-00-00 00:00:00 1
mydomain.ru 10 0 10 0 virtual 0 2010-07-21 14:42:00 2010-07-21 14:42:00 1
База есть, таблица есть, записи есть....что еще не хватает не пойму
Re: Postfix+mysql
Добавлено: 2010-07-22 19:47:48
ivan_k
Dimasx писал(а):Смотрим:
База постфикс -есть!
Таблица domain есть!
в ней записи
Код: Выделить всё
domain description aliases mailboxes maxquota quota transport backupmx created modified active
ALL 0 0 0 0 0 0000-00-00 00:00:00 0000-00-00 00:00:00 1
mydomain.ru 10 0 10 0 virtual 0 2010-07-21 14:42:00 2010-07-21 14:42:00 1
База есть, таблица есть, записи есть....что еще не хватает не пойму
Это конечно хорошо, но тебе надо проверять запрос, который идет к этой таблице, и почему он не вытаскивает имя домена, смотри запрос к базе
Re: Postfix+mysql
Добавлено: 2010-07-22 21:49:52
Dimasx
select_field = description
where_field = domain
Что смущает в первой строке что выделять из description ? Там пусто....
Где можно посмотреть запрос к базе ?
Re: Postfix+mysql
Добавлено: 2010-07-23 7:09:24
ivan_k
Dimasx писал(а):select_field = description
where_field = domain
Что смущает в первой строке что выделять из description ? Там пусто....
Где можно посмотреть запрос к базе ?
Собствеено в этом файле domains_maps.conf и указывается Ваш запрос.
Должно наверно так быть
Re: Postfix+mysql
Добавлено: 2010-07-23 9:35:58
Dimasx
Исправил, теперь в логе ругается:
Код: Выделить всё
postfix/trivial-rewrite[1519]: warning: do not list domain mydomain.ru in BOTH mydestination and virtual_mailbox_domains
mydestination = $myhostname, localhost.$mydomain, localhost
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql/domains_maps.conf
domains_maps.conf мы исправили

Re: Postfix+mysql
Добавлено: 2010-07-23 9:44:52
Dimasx
P.S.
telnet mydomain.ru 110
Connected to mydomain.ru.
Escape character is '^]'.
+OK Hello there.
user
admin@mydomain.ru
+OK Password required.
pass password
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
аунтификация по pop вроде заработала, почту принял...осталось с smtp разобраться )
Re: Postfix+mysql
Добавлено: 2010-07-23 10:02:36
Dimasx
telnet mydomainru 25
Connected to evalution.org.
Escape character is '^]'.
220 mydomain.ru ESMTP Postfix
ehlo
dimas@mydomain.ru
250-mydomain.ru
250-PIPELINING
250-SIZE 10000000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN PLAIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain
334
password
535 5.7.8 Error: authentication failed: another step is needed in authentication

Re: Postfix+mysql
Добавлено: 2010-07-23 10:06:44
ivan_k
А что у Вас в smtpd.conf ?
Re: Postfix+mysql
Добавлено: 2010-07-23 16:02:49
Dimasx
Код: Выделить всё
pwcheck_method: auxprop
mech_list: PLAIN LOGIN CRAM-MD5
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: localhost
sql_user: postfix
sql_passwd: password
sql_database: postfix
sql_select: select password from mailbox where username = '%u@%r'
log_level: 3
Re: Postfix+mysql
Добавлено: 2010-07-23 16:36:48
ivan_k
А вообще courier-authdaemond у Вас запущен?
И в логах что, когда пытайтесь отправить?
Re: Postfix+mysql
Добавлено: 2010-07-23 18:18:38
Dimasx
Код: Выделить всё
Jul 23 09:45:32 authdaemond: modules="authmysql", daemons=5
Jul 23 09:45:32 authdaemond: Installing libauthmysql
Jul 23 09:45:32 authdaemond: Installation complete: authmysql
Стартанул, запущен
Почтовик пытается отправить и вот что пишет:
<
proverka@mail.ru>: Relay access denied
Вот что в логах:
Код: Выделить всё
Jul 23 19:12:22 postfix/smtpd[2822]: warning: 78.15.15.19: hostname 156-195-dynamic.provaider.net verification failed: hostname nor servname provided, or not known
Jul 23 19:12:22 postfix/smtpd[2822]: connect from unknown[78.15.15.19]
Jul 23 19:12:22 postfix/trivial-rewrite[2824]: warning: do not list domain evalution.org in BOTH mydestination and virtual_mailbox_domains
Jul 23 19:12:22 postfix/smtpd[2822]: NOQUEUE: reject: RCPT from unknown[78.15.15.19]: 554 5.7.1 <proverka@mail.ru>: Relay access denied; from=<admin@mydmain.ru> to=<proverka@mail.ru> proto=ESMTP helo=<[192.168.1.102]>
Jul 23 19:12:22 postfix/smtpd[2822]: lost connection after RCPT from unknown[78.15.15.19]
Jul 23 19:12:22 postfix/smtpd[2822]: disconnect from unknown[78.15.15.19]
Re: Postfix+mysql
Добавлено: 2010-07-23 18:58:09
ivan_k
А настроен ли у Вас ДНС ?
Код: Выделить всё
Jul 23 19:12:22 postfix/smtpd[2822]: warning: 78.15.15.19: hostname 156-195-dynamic.provaider.net verification failed: hostname nor servname provided, or not known
также посмотрите на строки в main.cf(это про Relay access denied)
Код: Выделить всё
Jul 23 19:12:22 postfix/smtpd[2822]: NOQUEUE: reject: RCPT from unknown[78.15.15.19]: 554 5.7.1 <proverka@mail.ru>: Relay access denied; from=<admin@mydmain.ru> to=<proverka@mail.ru> proto=ESMTP helo=<[192.168.1.102]>
Там должно быть что типа этого
Код: Выделить всё
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated, reject_unauth_destination
Re: Postfix+mysql
Добавлено: 2010-07-23 19:36:18
Dimasx
ДНС указаны провайдера в /etc/resolv.conf они имеют реальный ip
Последние строки в main.cf
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, permit_sasl_authenticated
smtpd_sasl_auth_enable = yes
Re: Postfix+mysql
Добавлено: 2010-07-23 20:09:10
Dimasx
Код: Выделить всё
Jul 23 19:12:22 postfix/smtpd[2822]: warning: 78.15.15.19: hostname 156-195-dynamic.provaider.net verification failed: hostname nor servname provided, or not known
Тут ругань видимо на хост моего провайдера ибо если попробовать пингануть хост 156-195-dynamic.provaider.net, то бздя скажет анкновн хост
Re: Postfix+mysql
Добавлено: 2010-07-24 9:26:29
Dimasx
Из статьи видно как автор пытается зателнетиться на smtp
Код: Выделить всё
# telnet 192.168.127.1 25
Trying 192.168.127.1...
Connected to freebsd.sys-adm.local.
Escape character is '^]'.
220 freebsd.sys-adm.org.ua ESMTP
ehlo alex.sys-adm.local
250-freebsd.sys-adm.org.ua
250-PIPELINING
250-SIZE 5242880
250-ETRN
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN PLAIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain
334
AGFsZXhAc3lzLWFkbS5vcmcudWEAMTIz
235 2.0.0 Authentication successful
mail from:<quota@sys-adm.org.ua>
250 2.1.0 Ok
rcpt to:<alex@sys-adm.org.ua>
553 5.7.1 <quota@sys-adm.org.ua>: Sender address rejected: not owned by user alex@sys-adm.org.ua
quit
221 2.0.0 Bye
Connection closed by foreign host.
Откуда он такой дикий пароль берет ? AGFsZXhAc3lzLWFkbS5vcmcudWEAMTIz ?
Re: Postfix+mysql
Добавлено: 2010-07-24 9:35:29
Dimasx
Пытаюсь ввести пароль, тот что шифрован в базе (берем через phpmyadmin), а так же пытаюсь ввести без шифрования
d9335$S1dni5YxVmI6Ut3Sa/FoK/
535 5.7.8 Error: authentication failed: bad protocol / cancel
auth plain
334
password
535 5.7.8 Error: authentication failed: another step is needed in authentication
И чуть непойму почему аунтификацию автор проводит для пользователя ehlo alex.sys-adm.local , а не ehlo alrx.sys-adm.org.ua
Re: Postfix+mysql
Добавлено: 2010-07-24 10:25:55
ivan_k
Ehlo - это всего лишь команда приветсвия с сервером, поэтому не столь важно как он там приставился
А пароль берется так помойму
Код: Выделить всё
perl -MMIME::Base64 -e 'print encode_base64("\0имя_пользователя\@имя_домена\.ru\000пас")'
Re: Postfix+mysql
Добавлено: 2010-07-24 17:20:00
Dimasx
Выполнил:
perl -MMIME::Base64 -e 'print encode_base64("\0dimas\@mydomain\.ru\000пас")'
мне выдалось AGRpbWFzQGV2YWx1Glvbi5cmcAbmFj
Пробую
Код: Выделить всё
telnet mydomain.ru 25
Trying 213.1.1.1...
Connected to mydomain.ru.
Escape character is '^]'.
220 mydomain.ru ESMTP Postfix
ehlo dimas@mydomain.ru
250-mydomain.ru
250-PIPELINING
250-SIZE 10000000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN PLAIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain
334
AGRpbWFzQGV2YWx1Glvbi5cmcAbmFj
535 5.7.8 Error: authentication failed: authentication failure

не понятно
Re: Postfix+mysql
Добавлено: 2010-07-25 23:14:31
moury
Я не изучал топик, но, вообще, permit_sasl_authenticated должно быть до reject_unauth_destination. Иначе результаты авторизации игнорируются.
Re: Postfix+mysql
Добавлено: 2010-07-26 9:52:52
Dimasx
Переделал main.cf
Код: Выделить всё
#
# /usr/local/etc/postfix/main.cf
#
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
base = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
default_privs = nobody
myhostname = mydomain.ru
mydomain = mydomain.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps = unix:passwd.byname $alias_maps
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
smtpd_banner = $myhostname ESMTP
debug_peer_level = 2
smtpd_client_restrictions = permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:$base/client_access,
reject_unknown_client_hostname
smtpd_helo_restrictions = check_helo_access hash:$base/hello_access,
permit_mynetworks,
permit_sasl_authenticated,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname
smtpd_sender_restrictions = permit_mynetworks,
check_sender_access hash:$base/sender_access,
reject_authenticated_sender_login_mismatch,
reject_unknown_sender_domain,
reject_unlisted_sender,
reject_unverified_sender
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_recipient_access hash:$base/recipient_access,
reject_unlisted_recipient,
reject_unknown_recipient_domain,
reject_non_fqdn_recipient,
reject_unverified_recipient
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_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = mysql:/usr/local/etc/postfix/mysql/sender.conf
transport_maps = mysql:/usr/local/etc/postfix/mysql/transport_maps.conf
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/alias_maps.conf
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql/domains_maps.conf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql/mailbox_maps.conf
virtual_mailbox_base = /var/spool/mail/virtual
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql/mailbox_limit_maps.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_gid_maps = static:1111
virtual_uid_maps = static:1111
virtual_minimum_uid = 1001
При авторизации по smtp (
dimas@mydonain.ru и password все тоже самое что и на pop) клиентом говорит следующее:
Код: Выделить всё
RCPT TO <proverka@mail.ru> не удалось: Client host rejected: cannot find your hostname, [213.1.1.20]
В логах вижу следующее:
Код: Выделить всё
Jul 26 10:45:52 postfix/smtpd[1684]: connect from unknown[213.1.1.2]
Jul 26 10:45:52 postfix/trivial-rewrite[1687]: warning: do not list domain evalution.org in BOTH mydestination and virtual_mailbox_domains
Jul 26 10:45:52 postfix/smtpd[1684]: NOQUEUE: reject: RCPT from unknown[213.1.1.2]: 450 4.7.1 Client host rejected: cannot find your hostname, [213.1.1.2]; from=<dimas@mydomain.org> to=<proverka@mail.ru> proto=ESMTP helo=<[192.168.10.103]>
Jul 26 10:45:52 postfix/smtpd[1684]: disconnect from unknown[213.1.1.2]