Reputation database

From: Christian Rößner <>
Date: Sun, 28 Oct 2012 12:03:37 +0100


this is my first post here.

I tried to create a local reputation database based on MySQL and followed instructions in stats/README as well as on reputation/README (OpenDKIM-2.6.8).

I compiled the code like this:

./configure \
  --sysconfdir=/etc/opendkim \
  --localstatedir=/var \
  --with-openssl \
  --with-milter \
  --with-tre \
  --with-lua \
  --with-openldap \
  --with-sasl \
  --with-unbound \
  --with-ldns \
  --with-sql-backend=mysql \
  --with-odbx \
  --enable-adsp_lists \
  --enable-dkim_reputation \
  --enable-reputation \
  --enable-reputation_cache \
  --enable-diffheaders \
  --enable-oversign \
  --enable-rate_limit \
  --enable-replace_rules \
  --enable-redirect \
  --enable-resign \
  --enable-stats \
  --enable-statsext \
  --enable-rbl \

I think I have installed all necessary libraries, as the configure script is quiet verbose. I also installed opendbx packages. My system is Ubuntu 10.04

I created a MySQL database called opendkim with user opendkim and a password. I filled the database with tables:

show tables;
| Tables_in_opendkim |
| aggregate |
| domains |
| ipaddrs |
| messages |
| predictions |
| reporters |
| sigerrorcodes |
| signatures |

My config looks like this:

# file: /etc/opendkim-verify.conf

LogWhy yes
Syslog yes
SyslogSuccess yes
Statistics /var/lib/opendkim/stats-verify

# SetupPolicyScript /var/lib/opendkim/stats.lua

# ReputationRatios repute:<repute-server>
# ReputationLimits repute:<repute-server>:<reporter-id>
# ReputationTimeFactor 24
# ReputationMinimum 2
# ReputationSpamCheck /^X-Spam: ?[Yy][Ee][Ss]/

Socket local:/var/spool/postfix/opendkim/verify.sock
UMask 0117
Background yes
PidFile /var/run/opendkim/
DisableADSP yes
SendReports no
AlwaysAddARHeader yes
Mode v
TemporaryDirectory /var/lib/opendkim/tmp
UserID opendkim:opendkim
X-Header yes


As you can see, there is a TODO block and I am stuck at the moment, what to do. If I enable the LUA script, opendkim won't start telling me:

opendkim: /etc/opendkim/opendkim-verify.conf: [string "/var/lib/opendkim/stats.lua"]:22: attempt to call field 'stats' (a nil value)

And yet I do not understand how opendkim connects to the database. I don't understand the architecture. What do I have to put in the Reputation* lines? I can not find stuff in the man page, even I am sure I built with reputation support.

I have put OpenDKIM as a Milter into Postfix:

smtpd pass - - - - - smtpd
    -o smtpd_milters=unix:opendkim/verify.sock,inet:[::1]:10024
    -o smtpd_client_connection_rate_limit=5
    -o smtpd_client_message_rate_limit=5
    -o smtpd_client_recipient_rate_limit=30

Also not sure, if OpenDKIM should come before or after Amavis.

What about the cron jobs? Are there any examples? I saw something concerning opendkim-importstats. But if calling this binary with -p <mypassword> it does not come back. I am pretty sure, I am totally wrong to understand how things work together :)

I hope somebody would like to point me the right way :)

Thanks in advance

-Christian Rößner

[*] sys4 AG, +49 (89) 30 90 46 64
Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer
Aufsichtsratsvorsitzender: Joerg Heidrich
Received on Sun Oct 28 2012 - 11:03:47 PST

This archive was generated by hypermail 2.3.0 : Mon Oct 29 2012 - 23:20:44 PST