Доброго времени суток,уважаемое сообщество! Проблема с почтовым сервером
связка postfix+dovecot
система Debian squeeze
Log mail.log
postfix/cleanup[9049]: warning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (111)
Log mail.warn
postfix/cleanup[8459]: warning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (111)
postfix/cleanup[8459]: warning: 324E460552: virtual_alias_maps map lookup problem for root@домен.кз
postfix/cleanup[8459]: warning: 3276060552: virtual_alias_maps map lookup problem for root@домен.кзПодключение к базе с учетными данными postfix
проходит нормально
/etc/postfix/mysql# mysql -u postfixadmin -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2311
Server version: 5.1.66-0+squeeze1 (Debian)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
telnet localhost 25
Connected to localhost.
Escape character is '^]'.
220 mail.домен.кз ESMTP Postfix
ehlo домен.кз
250-mail.домен.кз
250-PIPELINING
250-SIZE 31457280
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:info@домен.кз
530 5.7.0 Must issue a STARTTLS command firstvirtual_alias_maps выглядит вот так
user = postfixadmin
password = пароль
hosts = 127.0.0.1
dbname = postfixadmin
query = select `goto` from `alias` where `address` = '%s'Подскажите где проблема? Если нужны conf файлы c удовольствием предоставлю!
Спасибо!
>[оверквотинг удален]
> mail from:info@домен.кз
> 530 5.7.0 Must issue a STARTTLS command first
> virtual_alias_maps выглядит вот так
> user = postfixadmin
> password = пароль
> hosts = 127.0.0.1
> dbname = postfixadmin
> query = select `goto` from `alias` where `address` = '%s'
> Подскажите где проблема? Если нужны conf файлы c удовольствием предоставлю!
> Спасибо!1) Разберитесь с тем, что подключение к СУБД может быть по:
- tcp/ip
- unixsock2) Разберитесь с тем, что вы проверяете подключение от рута, а постфикс от своего пользователя.
Посомтрю! Спасибо!/etc/postfix/mysql# mysql -u root -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| postfixadmin |
+--------------------+
От рута эта база тоже есть и доступна!
> Посомтрю! Спасибо!
> /etc/postfix/mysql# mysql -u root -p
> mysql> show databases;
> +--------------------+
> | Database
> |
> +--------------------+
> | postfixadmin |
> +--------------------+
> От рута эта база тоже есть и доступна!Прекрасно. А теперь то же самое, но с -u postfixadmin -pпароль_тута
>[оверквотинг удален]
>> /etc/postfix/mysql# mysql -u root -p
>> mysql> show databases;
>> +--------------------+
>> | Database
>> |
>> +--------------------+
>> | postfixadmin |
>> +--------------------+
>> От рута эта база тоже есть и доступна!
> Прекрасно. А теперь то же самое, но с -u postfixadmin -pпароль_тутаВот тут прекрасно не вышло)))) Приблизительно понял!
>[оверквотинг удален]
>>> mysql> show databases;
>>> +--------------------+
>>> | Database
>>> |
>>> +--------------------+
>>> | postfixadmin |
>>> +--------------------+
>>> От рута эта база тоже есть и доступна!
>> Прекрасно. А теперь то же самое, но с -u postfixadmin -pпароль_тута
> Вот тут прекрасно не вышло)))) Приблизительно понял!Сделал так
mysql> GRANT ALL PRIVILEGES ON `postfixadmin'@'localhost` . * TO 'root'@'домен.кз' identified by 'пароль' ;
и вот так
GRANT ALL PRIVILEGES ON `postfixadmin` . * TO 'root'@'домен.кз' identified by 'пароль' ;не помогло!((((
> не помогло!((((Печально. Видать, это какое-то великое колдунство. А Вы просто так команду "грант" даете, правда? Ну, чисто для разнообразия. Потому что выданная Вами команда - абсолютная чушь. Но Вы развлекайтесь, развлекайтесь.
>> не помогло!((((
> Печально. Видать, это какое-то великое колдунство. А Вы просто так команду
> "грант" даете, правда? Ну, чисто для разнообразия. Потому что выданная Вами
> команда - абсолютная чушь. Но Вы развлекайтесь, развлекайтесь.Ваш сарказм вызывает улыбку и придает сил в поиске решения! Продолжаю великое колдунство))))
> Ваш сарказм вызывает улыбку и придает сил в поиске решения! Продолжаю великое
> колдунство))))Да хрен с ним, с моим сарказмом. Вы посмотрите - от имени какой пользователь указан в конфиге. :) А Вы почему-то руту привилегии даете. Хотя они у него итак, наверняка, есть. Попутно замечу, что надо еще проверить не только базу, но и таблицы, которые хочет увидеть постфикс. И проверяйте именно от того пользователя, который указан в конфиге, Вами же приведенном. Ну и после правки привилегий лучше давать flush privileges.
>> Ваш сарказм вызывает улыбку и придает сил в поиске решения! Продолжаю великое
>> колдунство))))
> Да хрен с ним, с моим сарказмом. Вы посмотрите - от
> имени какой пользователь указан в конфиге. :) А Вы почему-то руту
> привилегии даете. Хотя они у него итак, наверняка, есть. Попутно замечу,
> что надо еще проверить не только базу, но и таблицы, которые
> хочет увидеть постфикс. И проверяйте именно от того пользователя, который указан
> в конфиге, Вами же приведенном. Ну и после правки привилегий лучше
> давать flush privileges.Силы были приданы и вопрос решился! Я сам виноват в своих проблемах! В общем зацепиться postfix не мог потому что я ставил эксперименты с портами на которых должен отвечать mysql сервер (вот надо оно мне было) и выставил вместо 3306 порт 3356 (в общем завуалировал :-))) ) вернув порт на место и снова закрыв его firewall'ом получил результат! Теперь как бы понять все это дело? В конфигах поискав я не нашел что можно менять порты postfix по которым он будет коннектиться к базе! Так ли это?
> В конфигах поискав я не нашел что можно менять порты postfix
> по которым он будет коннектиться к базе! Так ли это?Не так. Читаем в мануале Постфикса mysql_table(5):
----------------------------------
MYSQL PARAMETERS
hosts The hosts that Postfix will try to connect to and
query from. Specify unix: for UNIX domain sockets,
inet: for TCP connections (default). Example:
hosts = host1.some.domain host2.some.domain:port
hosts = unix:/file/name
------------------------------------
>[оверквотинг удален]
> to and
> query from. Specify unix:
> for UNIX domain sockets,
> inet: for TCP connections (default).
> Example:
>
> hosts = host1.some.domain host2.some.domain:port
>
> hosts = unix:/file/name
> ------------------------------------Спасибо большое Дядя_Федор! Всегда поможете в трудный момент! Конечно и пожурить можете бестолковых ЮНОШЕЙ)))) Но все же я думаю все это на пользу!