Postfix mysql临时查找失败

我正在尝试使用本指南configurationpostfix / courier / mysql / SquirrelMail安装程序,但在尝试发送电子邮件时出现以下错误:

451 4.3.0 <[email protected]>: Temporary lookup failure 

/var/log/mail.log条目:

 Mar 16 11:37:42 myserver postfix/smtpd[12750]: connect from localhost[127.0.0.1] Mar 16 11:37:42 myserver postfix/smtpd[12750]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) Mar 16 11:37:42 myserver postfix/smtpd[12750]: warning: mysql:/etc/postfix/mysql-virtual_email2email.cf lookup error for "[email protected]" Mar 16 11:37:42 myserver postfix/smtpd[12750]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 451 4.3.0 <[email protected]>: Temporary lookup failure; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<webmail.mydomain.com> Mar 16 11:37:42 myserver postfix/smtpd[12750]: lost connection after RCPT from localhost[127.0.0.1] Mar 16 11:37:42 myserver postfix/smtpd[12750]: disconnect from localhost[127.0.0.1] 

我已经重新检查了/etc/postfix/mysql-virtual_email2email.cf文件,并且configuration正确。

 user = mypostfixusername password = mypass dbname = mail query = SELECT email FROM users WHERE email='%s' host = 127.0.0.1 

我的MySQL服务器正在运行,我可以使用mysql -u mypostfixusername -p连接到它,并且可以运行查询。 我也可以用SquirrelMaillogin。

/etc/postfix/mysql-virtual_email2email.cf的最后一行应该是

 hosts = 127.0.0.1 

代替

 host = 127.0.0.1 

如果我们指定127.0.0.1后缀应尝试通过TCP连接,但你的logline说,后缀无法连接到/var/run/mysqld/mysqld.sock ,所以它不能识别host = 127.0.0.1行。 希望有所帮助。