MailPlus Server MailPlus Server - Import von Regeln für Blockierungs- und Freigabeliste (Sektion Mailübermittlung)

Oilinga

Benutzer
Registriert
14. Okt. 2014
Beiträge
145
Reaktionspunkte
12
Punkte
18
Hallo,
hat jemand evtl. schon Erfahrungen mit dem Import von Regeln für diese Blockierungs- und Freigabeliste in der Konfigurationssektion "Mailübermittlung" des MailPlus Servers (Siehe Screenshot unten)?
Mithilfe der KI Assistenten arbeite ich mich an das Thema ran, jedoch verzweifele ich mit dem Importskript, denn es läuft auf Fehler, da ich auf dem Synology NAS keine Befehle mit den Objekten "synoservicecfg" bzw. "mailplusctl" finden bzw. ausführen kann. Suche ich via (Befehl: find / -name synoservicecfg 2>/dev/null) das NAS via SSh nach diesen Komponenten ab, wird es nicht fündig.
Hier der Code der es normalerweise erlauben sollte, die oben genannte Blockierungs- und Freigabeliste mit vorbereiteten Daten aus einer Datei zu befüllen.
Jedenfalls geht er auf die Bretter weil diese "synoservicecfg" bzw. "mailplusctl" nicht gefunden oder angesprochen werden.
Falls jemand da draußen Hilfe anbieten kann wäre ich sehr dankbar!

Im Einsatz befindlichen Versionen

Synology MailPlus Server Version 3.1.6-11332
DSM Version: 7.1.1-42962 Update 8

Vielen Dank vorab


Code:
#!/bin/bash

# Skript zum Hinzufügen von Domainadressen zur MailPlus Server Blockierungsliste

# Pfad zur Datei mit den zu blockierenden Domains (eine Domain pro Zeile)
DOMAIN_LIST_FILE="/volume1/homes/admin/blocklist.txt"  # Passe den Pfad an!

# Protokolldatei (optional)
LOG_FILE="/var/log/mailplus_blocklist_update.log"

# MailPlus Server Service Name
MAILPLUS_SERVICE="MailPlus-Server"

# Funktion zum Protokollieren
log() {
  echo "$(date '+%Y-%m-%d %H:%M:%S') - $1"
  if [ -n "$LOG_FILE" ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE"
  fi
}

log "Starte Aktualisierung der MailPlus Server Blockierungsliste..."

# Überprüfe, ob die Domain-Liste-Datei existiert
if [ ! -f "$DOMAIN_LIST_FILE" ]; then
  log "Fehler: Domain-Liste-Datei '$DOMAIN_LIST_FILE' nicht gefunden."
  exit 1
fi

# Hole die aktuelle Blockierungsliste
CURRENT_BLOCKLIST=$(synoservicecfg --get-value $MAILPLUS_SERVICE anti_spam dnsbl)

# Lese die Domain-Liste und füge neue Domains hinzu
while IFS= read -r DOMAIN; do
  DOMAIN=$(echo "$DOMAIN" | tr -d '[:space:]')  # Entferne Leerzeichen
  if [ -n "$DOMAIN" ]; then  # Ignoriere leere Zeilen
    # Überprüfe, ob die Domain bereits in der Blockierungsliste ist
    if [[ ! "$CURRENT_BLOCKLIST" == *"$DOMAIN"* ]]; then
      log "Füge Domain '$DOMAIN' zur Blockierungsliste hinzu."
      CURRENT_BLOCKLIST="$CURRENT_BLOCKLIST,$DOMAIN"
    else
      log "Domain '$DOMAIN' ist bereits in der Blockierungsliste."
    fi
  fi
done < "$DOMAIN_LIST_FILE"

# Entferne das eventuelle führende Komma
CURRENT_BLOCKLIST=$(echo "$CURRENT_BLOCKLIST" | sed 's/^,//')

# Aktualisiere die Blockierungsliste im MailPlus Server
synoservicecfg --set-value $MAILPLUS_SERVICE anti_spam dnsbl "$CURRENT_BLOCKLIST"

if [ $? -eq 0 ]; then
  log "Blockierungsliste erfolgreich aktualisiert."
  #Starte MailPlus Server neu, damit die Änderungen wirksam werden
  synoservicecfg --restart $MAILPLUS_SERVICE
  log "MailPlus Server wurde neu gestartet."
else
  log "Fehler beim Aktualisieren der Blockierungsliste."
  exit 1
fi

log "Aktualisierung der MailPlus Server Blockierungsliste abgeschlossen."

exit 0
Code:



2025-03-11_17h24_02.jpg
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat