OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: What is table='t'

From: Barney Desmond (barneydesmondgmail.com)
Date: Tue Dec 02 2008 - 07:13:44 CST


Stephen Liu wrote:
> Sorry, it is /etc/postfix/mysql_relay_domains.cf
>
>
>>> user=mail
>>> password=mypasswd
>>> dbname=maildb
>>> table='t'
>>> select_field=domains
>>> where_field=domains
>>> hosts=127.0.0.1
>>> additional_conditions = and enabled = 1
>> At a guess, it's going to perform the query:
>> SELECT `domains` FROM `t` WHERE `domains`=%s AND `enabled`=1;
>
>
> mysql> SELECT `domains` FROM `t` WHERE `domains`=%s AND `enabled`=1;
> ERROR 1064 (42000): 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 '%s AND `enabled`=1' at line 1

You need to understand what postfix expects to do. You provide it a
mysql query, and it will fill in the blank. Postfix lookups are
key-value pairs, so there is exactly one blank to fill in, represented
by %s.

As a guess, you should check the other tables, maybe `domains`. You're
looking for a table with a column called "domains".

> I have changed;
>
> table='t'
>
> to;
> query=
>
>
> This routing mail server still works without problem.

This probably just means it won't do that lookup any more, so you won't
be accepting mail for the relay_domains that you'd expect.