Здравствуйте!
FreeBSD 7.2Делаю по портянке http://www.sys-adm.org.ua/mail/mail-howto-p1.php. Дошел до создания трех почтовых ящиков. Хочу создать почтовый ящик ghopper@mailer.hutor.ru. В админке создается, но в /var/spool/mail папка не появляется (дал все права для virtual). В логи пишет:
Jul 9 09:42:58 mailer postfix/smtpd[5054]: connect from localhost[127.0.0.1]
Jul 9 09:42:58 mailer postfix/smtpd[5054]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 550 5.1.0 <admin@mailer.hutor.ru>: Sender address rejected: User unknown; from=<admin@mailer.hutor.ru> to=<ghopper@mailer.hutor.ru> proto=ESMTP helo=<mailer.hutor.ru>
Jul 9 09:42:58 mailer postfix/smtpd[5054]: warning: non-SMTP command from localhost[127.0.0.1]: To: ghopper@mailer.hutor.ru
Jul 9 09:42:58 mailer postfix/smtpd[5054]: disconnect from localhost[127.0.0.1]admin@mailer.hutor.ru - это админ, созданный через postfixadmin. Единственное, где появляется этот пользователь - это в БД.
Подскажите пожалуйста почему не создаются ящики.
Скорее всего, надо просто отправить письмо на только что созданный ящик. Тогда он создастся.
>[оверквотинг удален]
>Jul 9 09:42:58 mailer postfix/smtpd[5054]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 550 5.1.0 <admin@mailer.hutor.ru>: Sender address rejected: User unknown; from=<admin@mailer.hutor.ru> to=<ghopper@mailer.hutor.ru> proto=ESMTP helo=<mailer.hutor.ru>
>Jul 9 09:42:58 mailer postfix/smtpd[5054]: warning: non-SMTP command from localhost[127.0.0.1]: To:
>ghopper@mailer.hutor.ru
>Jul 9 09:42:58 mailer postfix/smtpd[5054]: disconnect from localhost[127.0.0.1]
>
Да, и еще, насколько я помню, в этой статье ошибка...т.к. пароли в MySQL хранятся в md5 то надо ставить
MYSQL_CRYPT_PWFIELD password
вместо
MYSQL_CLEAR_PWFIELD password
в /usr/local/etc/authlib/authmysqlrc
>Да, и еще, насколько я помню, в этой статье ошибка...т.к. пароли в
>MySQL хранятся в md5 то надо ставитьда что вы говорите?! Пароли хранятся в том виде, который ты задашь config.inc.php в поле $CONF['encrypt']. А у меня в статье там стоит cleartext!!!
Так что не говорим глупостей про ошибки в статье ;)
Разобрался - нужно создать почтовый ящик с именем админа. Т.е. если я завел админа admin@mailer.hutor.ru, то нужно создать домен mailer.hutor.ru и в нем почтовый ящик admin@mailer.hutor.ru и тогда все заработает.А теперь новая проблема: пытаюсь получить почту
[root@mailer /usr/local/etc/authlib]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
user ghopper@mailer.test.ru
+OK Password required.
pass password
-ERR Temporary problem, please try again later
Connection closed by foreign host.В лог пишет:
Jul 9 14:34:58 mailer courier-imap: Connection, ip=[127.0.0.1]
Jul 9 14:35:00 mailer /usr/sbin/cron[6910]: (root) CMD (/usr/libexec/atrun)
Jul 9 14:35:07 mailer authdaemond: received auth request, service=pop3, authtype=login
Jul 9 14:35:07 mailer authdaemond: authmysql: trying this module
Jul 9 14:35:07 mailer authdaemond: authmysqllib: connected. Versions: header 50083, client 50083, server 50083
Jul 9 14:35:07 mailer authdaemond: Install of a character set for MySQL: utf8
Jul 9 14:35:07 mailer authdaemond: SQL query: SELECT username, crypt, password, 1981, 1981, home, maildir, quota, name, auxoptions FROM mailbox WHERE username = 'ghopper@mail.test.ru' AND (active='1')
Jul 9 14:35:07 mailer authdaemond: mysql_query failed, reconnecting: Unknown column 'crypt' in 'field list'
Jul 9 14:35:07 mailer authdaemond: authmysqllib: connected. Versions: header 50083, client 50083, server 50083
Jul 9 14:35:07 mailer authdaemond: Install of a character set for MySQL: utf8
Jul 9 14:35:07 mailer authdaemond: mysql_query failed second time, giving up: Unknown column 'crypt' in 'field list'
Jul 9 14:35:07 mailer authdaemond: authmysql: TEMPFAIL - no more modules will be tried
Jul 9 14:35:07 mailer courier-imap: LOGIN FAILED, user=ghopper@mailer.test.ru, ip=[127.0.0.1]
Jul 9 14:35:07 mailer courier-imap: authentication error: Input/output errorcourer-authlib ищет в БД поля username, crypt, password, 1981, 1981, home, maildir, quota, name, auxoptions, половины из которых там нет. Структура БД создавалась через postfixadmin.
[root@mailer /usr/local/etc/authlib]# cat authmysqlrc | grep -v ^# | grep -v ^$
MYSQL_SERVER localhost
MYSQL_USERNAME postfix
MYSQL_PASSWORD postfix
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_PORT 0
MYSQL_OPT 0
MYSQL_DATABASE postfix
MYSQL_CHARACTER_SET utf8
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD crypt
MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 1981
MYSQL_GID_FIELD 1981
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD home
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
MYSQL_AUXOPTIONS_FIELD auxoptions
MYSQL_WHERE_CLAUSE active='1'Как быть?
P.S. По поводу MYSQL_CRYPT_PWFIELD у меня так пишется:
##NAME: MYSQL_CRYPT_PWFIELD:0
#
# Either MYSQL_CRYPT_PWFIELD or MYSQL_CLEAR_PWFIELD must be defined. Both
# are OK too. crypted passwords go into MYSQL_CRYPT_PWFIELD, cleartext
# passwords go into MYSQL_CLEAR_PWFIELD. Cleartext passwords allow
# CRAM-MD5 authentication to be implemented.
Jul 9 09:42:58 mailer postfix/smtpd[5054]: warning: non-SMTP command from localhost[127.0.0.1]: To:
ghopper@mailer.hutor.ru
Jul 9 09:42:58 mailer postfix/smtpd[5054]: disconnect from localhost[127.0.0.1]
это кривой postfixadmin, не дождавшись приветсвия он уже шлет команду>Подскажите пожалуйста почему не создаются ящики.
потому что кривой postfixadmin. Он игнорирует поле $CONF['admin_email'] и пытается создать ящики от имени залогиненого пользователя. А у тебя я так понял ящика admin нет. Вот он и не проходит проверку существования адреса отправителя :)