📬 IMAPIMPORT mit Benno MailArchiv

Viele Unternehmen setzen für rechtssichere E-Mail-Archivierung auf Benno MailArchiv.
Ein häufiges Szenario dabei ist, bestehende Postfächer (z. B. aus Kerio Connect) automatisch zu archivieren und anschließend zu bereinigen.Im Kerio Connect muss Archivierung eingeschaltet sein und auf ein Postfach verweisen in meinem fall Archiv .

In diesem Beitrag zeigen wir Schritt für Schritt, wie man:

  • ✔️ E-Mails per IMAP importiert
  • ✔️ Subfolder automatisch berücksichtigt
  • ✔️ Nach erfolgreichem Import Mails vom Server löscht
  • ✔️ Cron-Automatisierung einrichtet
  • ✔️ Parallelstarts verhindert
  • ✔️ Logging & Timeout integriert

🧰 Voraussetzungen

  • Installiertes Benno MailArchiv
  • Zugriff auf den Benno-Server
  • Zugriff auf das IMAP-Postfach (z. B. Kerio Connect oder ein anderes IMAP fähiger Server )
  • sudo-Rechte

🎯 Ziel

E-Mails sollen:

  1. Per IMAP abgeholt werden
  2. In Benno archiviert werden
  3. Danach automatisch vom Mailserver gelöscht werden
  4. Regelmäßig per Cron laufen

📜 Import Script erstellen

Das folgende Script erledigt den kompletten Import-Workflow, ,muss nur angelegt werden .

Script: /usr/local/bin/benno-import.sh

#!/bin/sh

set -u

IMAP_HOST="benno.system"
IMAP_USER="archive"
IMAP_PASS="PASSWORT"
INBOX_DIR="/srv/benno/inbox"

LOGFILE="/var/log/benno-imapimport.log"
LOCKDIR="/run/benno-imapimport.lock"
TIMEOUT_SEC=3600

log() {
  echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
}

cleanup() {
  rmdir "$LOCKDIR" 2>/dev/null || true
}
trap cleanup EXIT INT TERM

if ! mkdir "$LOCKDIR" 2>/dev/null; then
  log "[SKIP] Import läuft bereits" >> "$LOGFILE"
  exit 0
fi

{
  log "===== START Benno Import ====="

  mkdir -p "$INBOX_DIR"
  chown benno:benno "$INBOX_DIR" 2>/dev/null || true

  timeout "$TIMEOUT_SEC" sudo -n -u benno -H /usr/sbin/benno-imapimport \
    -i "$INBOX_DIR" \
    -H "$IMAP_HOST" \
    -s \
    -u "$IMAP_USER" \
    -p "$IMAP_PASS" \
    -f \
    -d \
    -v

  rc=$?

  if [ "$rc" -eq 0 ]; then
    log "[OK] Import erfolgreich – Mails wurden gelöscht"
  else
    log "[ERROR] Import Fehler: $rc"
  fi

  log "===== ENDE ====="
  echo

} >> "$LOGFILE" 2>&1

🔍 Erklärung der wichtigsten Optionen

Option Bedeutung
-s IMAPS Verbindung (TLS / Port 993)
-f Importiert alle Unterordner
-d Löscht Mails nach erfolgreichem Import vom Server
-v Ausführliches Logging

🔐 Script ausführbar machen

chmod +x /usr/local/bin/benno-import.sh

🔁 Automatisierung mit Cron

Script alle 5 Minuten ausführen

crontab -e

Dann hinzufügen:

*/5 * * * * /usr/local/bin/benno-import.sh

📄 Logging prüfen

tail -n 100 /var/log/benno-imapimport.log

🛡 Vorteile dieser Lösung

  • Keine Doppelstarts durch Lockfile
  • Automatische Timeout-Überwachung
  • Saubere Archivierung aller IMAP Ordner
  • Automatische Serverbereinigung
  • Ideal für Migrationen oder Archivpflichten

💡 Praxistipp

Falls Papierkorb oder Spamordner nicht archiviert werden sollen, kann die Option -I genutzt werden.

-I "Deleted Items,Junk E-mail"

🚀 Fazit

Mit diesem Setup lassen sich Postfächer automatisiert archivieren, bereinigen und langfristig revisionssicher speichern.
Gerade bei Migrationen oder Compliance-Anforderungen spart diese Methode viel Zeit und reduziert manuellen Aufwand erheblich.


Links: Wiki Benno MailArchiv

Autor: PlaNet Fox IT Consulting

0 CommentsClose Comments

Leave a comment

AncoraThemes © Copyright 2026. All Rights Reserved.