Announcement

Collapse
No announcement yet.

Frage zur DB/Postfix

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frage zur DB/Postfix

    Mal eine Frage zur Postfix/OX Konfiguration.

    Laut Mail.cf greift Postfix mittels Befehl

    smtpd_recipient_restrictions = check_sender_access mysql:/etc/postfix/ox_senderrestrictions.cf,

    auf die Datei: ox_senderrestrictions.cf

    query = SELECT className FROM user_mail_restrictions WHERE cid=1 AND address="%s";

    somit wird auf die Tabelle user_mail_restrictions zugegriffen.

    LAut überprüfung ist die Tabelle leer, nun mal die Frage mit welchem OX Script kann ich hier Domains eintragen oder ist die Tabelle hier per Hand zu editieren?

    Wenn ja, welches format muss der Eintrag in der Tabelle haben??


    MfG

    outlow

  • #2
    Lass' es einfach weg in der main.cf, diese Tabelle wird in 6.6 nicht mehr benutzt, ebenso wie alle Referenzen auf mail_domais (Lösung s.u.)

    Die Restriction classes sind bei richtig konfiguriertem Postfix meiner Meinung nach nicht notwendig.

    Ich würde auch nicht in der Datenbank rumfuhrwerken, da nach einem möglichen Update des DB-Schemas vielleicht dann alles kaputt ist.

    Die Domain-Liste für postfix und amavis kannst Du anhand sämtlicher aliases z.B. mit einem perl-script bauen:

    Code:
    #!/usr/bin/perl
    
    use Mysql;
    
    #config
    $dbserver='localhost';
    $dbuser='openexchange';
    $dbpass='secret';
    $dbname='oxdatabase_6';
    
    $amavis_file='/var/lib/amavis/local_domains';
    $postfix_file='/etc/postfix/virtual_domains';
    
    $connect = Mysql->connect($dbserver, $dbname, $dbuser, $dbpass);
    $connect->selectdb($dbname);
    
    $query='SELECT DISTINCT RIGHT(value,LENGTH(value)-INSTR(value,"@")) AS domain FROM user_attribute WHERE name="alias";';
    $execute = $connect->query($query);
    
    open (PFF, ">$postfix_file") or die("Konnte $postfix_file nicht schreiben");
    open (AMF, ">$amavis_file") or die("Konnte $amavis_file nicht schreiben");
    
    while (@results = $execute->fetchrow()) {
      print $results[0]."\n";
      print PFF $results[0]."\tanything\n";
      print AMF $results[0]."\n";
    }
            
    close PFF;
    close AMF;
    
    $result = `/usr/sbin/postmap $postfix_file`;
    in amavisd.conf:
    Code:
    local_domains_maps = ( read_hash("$MYHOME/local_domains") );
    und main.cf
    Code:
    virtual_alias_domains = hash:/etc/postfix/virtual_domains
    Grüße Sven
    Last edited by svensen; 11-20-2008, 06:32 PM. Reason: typo

    Comment

    Working...
    X