在cpanel上遇到exim greylist问题

时间:2012-10-28 22:49:58

标签: cpanel exim

当有人试图发送电子邮件时,我在/ var / log / exim_mainlog中遇到了一些奇怪的错误。问题是我无法解决这个问题所以我会在这里尝试。

2012-10-29 00:35:54 DBD::SQLite::db prepare failed: database is locked at /etc/exim_greylist_sqlite.pl line 1013, <HAN1> line 66.
2012-10-29 00:35:54 H=valid_hostname [valid_ip]:5555 F=<mail@example.com> temporarily rejected RCPT <mail@example.com>: failed to expand ACL string "${perl{greylist}}": Can't call method "execute" on an undefined value at /etc/exim_greylist_sqlite.pl line 1014, <HAN1> line 66.
2012-10-29 00:35:54 SMTP connection from valid_hostname [valid_ip]:5555 closed by QUIT

来自exim_greylist_sqlite的一些行:

1012     my $query = "select strftime('%s', block_expires, 'utc')-strftime('%s','now') from relaytofrom where rcpt_to='$lp' and mail_from='$sender_addr'";

1013     $sth = $isp->prepare($query) || print FILE "$query\n";
1014     $sth->execute || print FILE "$query\n";
1015     my @status_array = $sth->fetchrow_array;
1016     $sth->finish;

我甚至不知道从哪里开始并解决这个问题。我试过在cPanel论坛上搜索,试图以多种方式使用谷歌但没有结果:(

1 个答案:

答案 0 :(得分:0)

这些似乎适用于您的情况:

Why does SQLite give a "database is locked" for a second query in a transaction when using Perl's DBD::SQLite?

How can I UPDATE rows returned by a SELECT in a loop?

听起来,一个进程正处于选择的中间,而其他一些进程正在尝试更新数据。找出正在访问该sqlite数据库的其他内容并将其锁定。如果我是对的,第一行之后的所有内容都只是从根本原因回击:表锁争用。