[Eisfair] E1 DNS-Namensauflösung in mail-Paket schlägt fehl

Marcus Roeckrath marcus.roeckrath at gmx.de
Mo Apr 11 08:17:18 CEST 2016


Hallo Jürgen,

Jürgen Witt wrote:

>> fetchmail: getaddrinfo("mail.speedpartner.de","pop3") error: Name or
>> service not known
>> fetchmail: POP3 connection to mail.speedpartner.de failed: Connection
>> timed out
> 
> Bis ich das Problem gelöst bzw. den Fehler gefunden habe, würde ich mir
> gern mit einem Script helfen.
> 
> Meine Idee wäre nicht einfach stumpf auf Verdacht stündlich den
> Mailserver neu zu starten, sondern in der Datei /var/log/fetchmail log
> nach dem String 'getaddrinfo("mail.speedpartner.de","pop3") error' zu
> suchen und wenn dieser vorhanden ist, den Mailserver neu starten. Damit
> nicht eventuell vorhandene alte Einträge des Strings zum Neustart des
> Servers führen, müßte allerdings erst ab der Uhrzeit der Überprüfung
> (minus vorsichtshalber 2x dem Abholinterval) auf den String geprüft
> werden.
> 
> Kann mir jemand bei dem Script helfen oder hat eine bessere Idee?

Vielleicht so, wie Jürgen und ich es mit dem Standardskript zum Feststellen
eines Fingerprinterrors machen.

Es wird immer nur die letzte Mailabholung aus dem Log betrachtet:

#!/bin/sh
fetch_log="/var/log/fetchmail.log"
# extract log lines of last fetchmail call only
last_fetch_line=$(grep -n  'awakened at' ${fetch_log} | tail -n 1 | cut
-d':' -f1)
last_fetch_entry=$(sed -n "${last_fetch_line},\$p" ${fetch_log})
# check if error error appeared
dns_error=$(echo "${last_fetch_entry}" | grep 'Name or service not known' |
cut -d ' ' -f2 | sort -u)
if [ -n "${dns_error}" ] ; then
  /etc/init.d/mail restart fetch
fi

Wenn Du mail-addon-certs nicht verwendest oder darauf mal verzichten kannst
(in der Konfiguration die Fingerprint-Prüfung abschalten), kannst Du den
Slot auch für Deine Prüfung nutzen, damit er bei jedem Abruf ausgeführt
wird.

Dazu musst Du Dein Skript korrekt verlinken:

ln -s <deinskript> /var/spool/exim/custom-mail-check-fingerprint
/etc/init.d/mail stop
/var/install/config.d/mail.sh -noconfirm
/etc/init.d/mail start

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair