II)" />

debian | postfix und relay_recipient_maps vom Exchange (II)

Wei­ter gehts im schnel­len Lauf, denn der Teddy gibt nicht auf :)

Hier der ver­spro­chene zweite Teil zum Thema post­fix und relay_recipient_maps vom Exch­ange.

Nach­dem wir nun nahezu auto­ma­tisch die Liste aller gül­ti­gen Emp­fän­ger auf das Mail-Gateway kopie­ren kön­nen, müs­sen wir nun die Liste so auf­be­rei­ten, das post­fix damit etwas anfan­gen kann.

Bis­her sieht die Liste in etwa so aus:

dn: CN=Administrator,CN=Users,DC=example,DC=de
chan­ge­type: add
proxyAd­dres­ses: SMTP:Administrator@example.de
proxyAd­dres­ses: X400:c=DE;a= ;p=EXAMPLE;o=Exchange;s=Administrator;


So kann man die Liste natür­lich nicht an post­fix geben. Wenn man sich dann die Liste genau anschaut, dann fin­det man viele Ein­träge von EMail-Adressen, die der Exch­ange sel­ber benö­tigt und die man nicht über das Mail-Gateway erreich­bar machen muß. Es müs­sen also fol­gende Dinge gemacht werden:

  1. Löschen der unnö­ti­gen Zeilen.
  2. Auf­be­rei­ten der Textdatei
  3. Hin­zu­fü­gen des Kom­man­dos OK zu jeder Zeile
  4. Löschen der unbe­nö­tig­ten Emailadressen

Dazu ver­wen­den wir das Script von postfix-buch.com. Lei­der hat sich in dem Script ein klei­ner Feh­ler ein­ge­schli­chen :( . Das Original-Script sieht so aus:

#!/bin/bash
# Extract all Adresses that start with SMTP or smtp from
# an Active Directory export, but omit those that are listed in blacklist
cat $1 | tr -d \" | tr , \\n| tr \; \\n | awk -F\: '/(SMTP|smtp):/ {printf("%s\tOK\n",$2)}' |
grep -v -f blacklist > $2

Wenn man sich das Script aus dem Buch anschaut, dann fin­det man schnell den Feh­ler — nach der Kor­rek­tur sieht das Script so aus:

#!/bin/bash
# Extract all Adresses that start with SMTP or smtp from
# an Active Directory export, but omit those that are listed in blacklist
cat $1 | tr -d \" | tr , \\n| tr \; \\n | awk -F\: '/^proxyAddresses: (SMTP|smtp):/ {printf("%s\tOK\n",$3)}' |
grep -v -f blacklist > $2

Die Email-Adressen, wel­che man nicht in der Tabelle haben möchte, schreibt man in eine Datei blacklist. Meine blacklist sieht so aus:

Sys­tem­Mail­box
Admi­nis­tra­tor
Default
exchangeV1
glo­ba­levents
inter­nal
Kon­tak­te­von­EXAMPLE
EXAMPLE
EXAMPLE-Archiv
OABVersion2
OABVersion3a
Offlineadressbuch-firstadministrativegroup
PublicFolder08275515@example.de
PublicFolder94568143@example.de
schema-root

Wenn man jetzt das Script ausführt

./extract_valid_recipient /home/exchange/recipient.txt /home/exchange/relay_recipient

So sieht das Ergeb­nis (less /home/exchange/relay_recipients) dann so aus:

user1@example.de^M OK
useruser2@example.de^M OK
user2@example.de^M OK
Administrator@example.de^M OK

Wie man sieht hat debian Pro­bleme mit dem DOS-Zeilenumbruch. Um die­sen Unix-Konform gera­de­zu­bie­gen instal­liert man sich das Paket tofro­dos, wel­ches den Befehl dos2unix mit sich bringt.

Mit einem
dos2unix relay_recipients
wan­delt man die Liste um und Voilá!

Das ist natür­lich falsch. Man muß die DOS-Zeilenumbrüche in der Original-Datei recipient.txt schon löschen und kann anschlie­ßend die Datei durch den Fil­ter schicken.

(Wer es kom­pli­zier­ter mag, der nehme den Befehl flip. Eine Erklä­rung dazu fin­det er hier.)

Jetzt wan­deln wir die Datei in eine Postfix-Datenbank um

postmap hash:/home/exchange/relay_recipients

und kopie­ren wir die Datei in das postfix-Verzeichnis

mv /home/exchange/relay_recipients.db /etc/postfix/relay_recipients.db

Wich­tig ist der Hin­weis im Buch, das die Datenbank-Datei im Home-Verzeichnis unse­res exchange-Users erstellt und anschlie­ßend kopiert wird, da es beim Fehl­schla­gen des post­map–Befehls ansons­ten keine relay_recipients.db im postfix-Verzeichnis geben und Post­fix sei­nen Betrieb ein­stel­len würde.

Ein­ge­bun­den in post­fix wird es mit einem Ein­trag in der /etc/postfix/main.cf

relay_recipient_maps = hash:/etc/postfix/relay_recipients

Jetzt kann man, wenn man es möchte, natür­lich das Ganze noch auto­ma­ti­sie­ren und in Scripte packen, dazu noch als Taskplaner/cron aus­füh­ren las­sen. Aber das kommt später.

Ähnli­che Arti­kel zu die­sem Thema:

  1. debian | post­fix und relay_recipient_maps vom Exch­ange (I)
  2. post­fix | eige­ner Ein­lie­fe­rungs­weg für Exchange-Server definieren
  3. debian | Zer­ti­fi­kate für Exch­ange erstel­len und einbinden
  4. debian | Groupware-Server instal­lie­ren — Übersicht
  5. debian | Mail-/Webserver instal­lie­ren und konfigurieren

  1. Noch keine Kommentare vorhanden.

:) :( ;) :mrgreen: :lol: :roll: :idea: :oops: more »


× eins = 1