Postfix - a autenticação do mysql falhou

1

Estou jogando com a configuração do postfix pela primeira vez. Eu estou tentando configurar a autenticação do usuário postfix através do MySQL (eu uso a configuração padrão com postfixadmin, courier, etc.) O problema é que eu não sou capaz de autenticar (mesmo em thunderbird ou interface web squirremail) ou até mesmo enviar qualquer email de postfixadmin.

/var/log/mail.err

Jan 30 12:30:29 envelon postfix/trivial-rewrite[29916]: fatal: proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf(0,lock|fold_fix): table lookup problem

/var/log/mail.warn

Jan 30 12:31:30 envelon postfix/proxymap[29783]: warning: mysql query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??1???' at line 1
Jan 30 12:31:30 envelon postfix/trivial-rewrite[29919]: fatal: proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf(0,lock|fold_fix): table lookup problem
Jan 30 12:31:30 envelon postfix/trivial-rewrite[29920]: fatal: proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf(0,lock|fold_fix): table lookup problem
Jan 30 12:31:31 envelon postfix/smtpd[29810]: warning: problem talking to service rewrite: Success
Jan 30 12:31:31 envelon postfix/smtpd[29782]: warning: problem talking to service rewrite: Connection reset by peer
Jan 30 12:31:31 envelon postfix/master[19619]: warning: process /usr/lib/postfix/trivial-rewrite pid 29919 exit status 1
Jan 30 12:31:31 envelon postfix/master[19619]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
Jan 30 12:31:31 envelon postfix/smtpd[29790]: warning: problem talking to service rewrite: Connection reset by peer
Jan 30 12:31:31 envelon postfix/master[19619]: warning: process /usr/lib/postfix/trivial-rewrite pid 29920 exit status 1

etc / postfix / mysql_relay_domains_maps.cf

user = postfix
password = XXXXXXXXXXX
hosts = 127.0.0.1
dbname = postfix
table = domain
select_field = domain
where_field = domain
additional_conditions = and backupmx = ′1′

Alguém vê algum problema em algum lugar? Estou completamente perdida. .- /

Obrigado Devdas, eu mudei todas as consultas do MySQL para "query = ..." baseado e parece que funciona. Por outro lado, ainda não consigo entrar. Se eu tentar logar, simplesmente registra:

Jan 30 13:55:48 envelon imapd: LOGIN FAILED, [email protected], ip=[::ffff:127.0.0.1]
Jan 30 13:55:53 envelon imapd: LOGOUT, ip=[::ffff:127.0.0.1], rcvd=52, sent=332

e

Jan 30 14:35:21 server postfix/trivial-rewrite[30680]: warning: table "mysql:/etc/postfix/mysql_virtual_domains_maps.cf": empty lookup result for: "domain.de" -- ignored

Talvez o problema esteja na senha, porque se eu olhar para o banco de dados, o hash das mesmas senhas será diferente. Mas tenho certeza que a configuração de senha postfixadmin e courier está OK. Ou não vejo nenhuma pasta em / home / virtual, que é a pasta pessoal do usuário virtual

Se eu tentar enviar um email de postfixadmin, tudo bem!: -)

Alguma sugestão?

    
por user68786 30.01.2011 / 12:38

1 resposta

2

A resposta está nos seus logs de consulta do MySQL.

Além disso, a maneira recomendada é usar a consulta em vez de table , select_field , where_field e additional_conditions .

query = SELECT d.domain FROM domain AS d WHERE d.domain = '%s' AND backupmx = 1

Eu aliastei domain a d para tornar mais fácil para você saber qual é a tabela e qual coluna.

    
por 30.01.2011 / 12:55

Tags