IDEA I/O home  | about  | cheat sheets  | github

DKIM testen

Tipps zum Testen und Debuggen von DKIM

Um DKIM zu testen, gibt es eine Reihe von Möglichkeiten. Die einfachste ist ein E-Mail über den E-Mailserver, welcher DKIM signiert, an ein Postfach bei Gmail oder Yahoo zu schicken und sich den Header anzeigen zu lassen. Diese beiden Anbieter prüfen die DKIM Signatur. Falls diese korrekt ist, wird das im Header angegeben.

Bei Gmail sieht dies z.B. so aus:

dkim=pass (test mode)

Bei Yahoo:

> dkim=pass (ok)

Debugging

Mehrere Websites unterstützen bei der Fehlersuche zu DKIM. Einige Beispiel dazu sind:

dkimtest Skript

Einer der Vorteile von DKIM ist ja, dass E-Mails von einem beliebigen System versendet werden können. Hat dieses System Zugriff auf den Private Key, kann es die E-Mails mit DKIM signieren. Damit ist die Authentizität des Absenders sichergestellt.

Zu diesem Zweck habe ich ein Python Skript entwickelt, mit welchem Testmails mit DKIM Signatur versendet werden können. Damit kann die Korrektheit der des DKIM Records vor dem Rollout auf produktiven E-Mail Servern überprüft werden.

Das Skript ist auf Github gehostet: https://github.com/oelu/dkimtest.

Das Skript bietet die folgenden Parameter an:

» ./dkimtest.py -h
    dkimtest.py
    Send DKIM signed mails.

    Usage:
        dkimtest.py -r <recipient> -s <sender> 
                    --keyfile <keyfile>
                    --selector <selector>
                    --domain <domain>
                    [--subject <subject>]
                    [--body <body>]
                    [options]

    Options:
        -v --verbose   print verbose messages
        -p --printonly only prints the header,
                       mail is not sent

Das Skript verwendet die Python Module dkimpy und docopt, welche nicht in der Standard Python Library sind und seperat installiert werden müssen.