Problem mit User .forward in Exim4

Dieses Thema im Forum "Internet, lokale Netzwerke und Wireless Lan" wurde erstellt von letox, 29.05.2006.

  1. letox

    letox Grünschnabel

    Dabei seit:
    29.05.2006
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo,

    Auf meinem Server läuft ein aktuelles Debian Sarge mit einem 2.6.14 Kernel. Mein Exim 4.5 (aktuelles Paket in Sarge) läuft prima bis auf eine Sache. Ich möchte über die .forward Datei im User Homeverzeichnis Mails die von SA als Spam erkannt wurden, in einen anderen Unterordner im Maildir speichern lassen.

    Der von Exim (laut log) benutzte Router userforward ist in der exim config wie folgt konfiguriert:

    userforward:
    debug_print = "R: userforward for $local_part@$domain"
    driver = redirect
    domains = +local_domains
    check_local_user
    file = $home/.forward
    no_verify
    no_expn
    check_ancestor
    allow_filter
    modemask = 002
    directory_transport = address_directory
    file_transport = address_file
    pipe_transport = address_pipe
    reply_transport = address_reply
    skip_syntax_errors
    syntax_errors_to = real-$local_part@$domain
    syntax_errors_text = ...

    Die .forward Datei sieht so aus:

    # Exim filter
    logfile $home/filter.log
    if $h_from: contains "Mail Delivery System"
    then save $home/Maildir/.Mailerror/
    elif $h_X-Spam-Found: contains "Yes"
    then
    save $home/Maildir/.Spam/
    logwrite "$message_id is spam"
    else save $home/Maildir/.Inbox/
    endif
    logwrite "$tod_log $message_id processed"

    Wie man sieht, habe ich schon Logmessages eingebaut um die .forward Datei zu überprüfen. Die entsprechenden Zeilen erscheinen auch in der filter.log Datei, die .forward Datei wird also von Exim gelesen und bearbeitet. Auch die Nachricht "xxx is spam" erscheint, Exim verzweigt also korrekt in den if-Klauseln.

    Allerdings werden alle Mails direkt in das Maildir/ Verzeichnis gespeichert und nicht in die Unterverzeichnisse. Entsprechende Unterverzeichnisse (Maildir/.Spam/ etc) sind im Maildir angelegt, owner ist der user und mod ist 0600. Die Unterverzeichnisse werden von courier erkannt.

    Eine Fehlermeldung bekomme ich von Exim nicht. Ich bin jetzt ratlos, woran das noch liegen könnte, dass Exim die Unterverzeichnisse nicht nutzt. Kann mir jemand helfen?

    Vielen Dank im Voraus,
    Hendrik
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Ich kenne mich mit exim4 nicht aus. Da Deine Syntax laut manual
    jedoch korrekt aussieht, wuerde ich vorschlagen, exim4 mal im verbose-mode starten zu lassen - die meisten Programme haben solch eine Option - und dann mal in den log-Dateien nachzuschauen, was es an der Stelle macht.
     
  4. #3 letox, 29.05.2006
    Zuletzt bearbeitet: 29.05.2006
    letox

    letox Grünschnabel

    Dabei seit:
    29.05.2006
    Beiträge:
    2
    Zustimmungen:
    0
    Hi, danke für die Antwort.

    Ich hab Exim mal im Debug Modus laufen lassen und es sieht so aus als ob der userforward router das verzeichnis korrekt setzt. Allerdings wird danach der adress_directory transport aufgerufen und der setzt dann immer das Maildir/ Verzeichnis als Ziel.

    address_directory:
    debug_print = "T: address_directory for $local_part@$domain"
    driver = appendfile
    group = mail
    mode = 0660
    mode_fail_narrower = false
    envelope_to_add = true
    return_path_add = true
    check_string = ""
    escape_string = ""
    maildir_format = true
    directory = $home/Maildir

    Irgendwie muss man Exim sagen, dass der das directory setzen soll wenn noch kein anders Ziel existiert. Ich trau mich aber auch nicht, den directory Eintrag einfach zu löschen, weil dann wahrscheinlich für alle User die keine .forward Datei haben die Mail nicht mehr richtig ausgeliefert wird.

    Ich werd nochmal etwas im Exim Manual stöbern, wenn einer noch eine Idee hat, wär ich dankbar.

    Hendrik

    Edit:
    Im Exim Manual ist dieser Fall zwar nicht für Maildirs beschrieben, aber der dort behandelte Fall für Mailboxfiles lässt sich anpassen. Ich habe jetzt über die Exim-eigene String Expansion eine Bedingung eingefügt, die das Ergebnis des userforward routers berücksichtigt. Dieses Ergebnis steht in der Variable $address_file. Die Konfiguration für den address_directory Transport sieht jetzt so aus:

    address_directory:
    debug_print = "T: address_directory for $local_part@$domain"
    driver = appendfile
    group = mail
    mode = 0660
    mode_fail_narrower = false
    envelope_to_add = true
    return_path_add = true
    check_string = ""
    escape_string = ""
    maildir_format = true
    directory = ${if def:address_file \
    {${if eq{${substr_0_1:$address_file}}{/} \
    {$address_file} \
    {$home/Maildir/$address_file} \
    }} \
    {$home/Maildir} \
    }

    Ich hätte gedacht, das wäre einfacher zu lösen. Jetzt läuft es aber wenigstens.
     
Thema:

Problem mit User .forward in Exim4

Die Seite wird geladen...

Problem mit User .forward in Exim4 - Ähnliche Themen

  1. Samba 3 und das Userid Problem

    Samba 3 und das Userid Problem: Hallo, also wie der Name schon sagt, ich habe ein Problem mit einen Samba3 Server. Ihr wisst ja, in großen Serverumgebungen dauert es ein Stück,...
  2. RegEx Problem ... grep kein \. außer \.name

    RegEx Problem ... grep kein \. außer \.name: Hallo Leute, ich möchte gerne einen regulären ausdruck zum filtern bestimmter dateien außer 1 bestimmten. Konkret bedeutet das ich möchte alle...
  3. GetUserName Problem mit Visual C++

    GetUserName Problem mit Visual C++: Ich wollte den Namen des PC Users mit GetUserName auslesen. #include <windows.h> #include <tchar.h> #include <stdio.h> #include <iostream> using...
  4. Problem mit Userberechtigungen

    Problem mit Userberechtigungen: Hallo Forum! Ich haette da mal ein Problem (gehört wohl eher in die Beginner Kategorie...) Folgende Situation: Samba Version 3.0.28a auf...
  5. [MPD+ALSA]Problem: Keine Musikwiedergabe als user mpd

    [MPD+ALSA]Problem: Keine Musikwiedergabe als user mpd: Hi Ich habe folgendes Problem: Sobald ich mpd als nicht privilegierter User "mpd" der mitglied der gruppe "audio" ist starte, kreigt ich keine...