Arg,花了一整天时间修复 Exim4,现在我收到这个奇怪的错误:
2011-04-23 20:31:12 failed to expand "${lookup mysql{SELECT DISTINCT transport FROM mail_transports WHERE transport = '${quote_mysql:$domain}'}}" while checking a list: lookup of "SELECT DISTINCT transport FROM mail_transports WHERE transport = '***.net'" gave DEFER: incomplete MySQL server data: 127.0.0.1
2011-04-23 20:31:12 H=(195031.***.nl) [212.61.252.31] F=<kevin@***.nl> temporarily rejected RCPT <kevin@***.net>: incomplete MySQL server data: 127.0.0.1
在 01_exim4-config_listmacrosdefs 中我使用这个:
MYSQL_SERVER=127.0.0.1:3307
MYSQL_USER=***
MYSQL_PASSWORD=***
MYSQL_DB=***
hide mysql_servers = 127.0.0.1:3307/<db>/<user>/<pass>
我究竟做错了什么?
答案1
冒号通常用作 exim4 配置中的列表分隔符。您需要在主机/端口规范中对其进行转义:
127.0.0.1::3307
看:http://www.exim.org/exim-html-current/doc/html/spec_html/ch09.html#SECID73
答案2
通常在这种情况下,您可以使用“localhost”而不是 IP/端口组合。这是一个可能的原因。另一个可能是,代码最后一行的 = 符号之间有空格。