Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix - Mails weiterleiten und lokal speichern
misterjack
13.11.09, 07:38
Hallo,
und zwar habe ich einen Dedicated mit Postfix, der ankommende Mails an einen Intranetserver weiterleitet, das bewerkstellig ich mit:
cat /etc/postfix/transport
example.com smtp:[intranet.example.com]:25
Nun möchte ich die Mails zusätzlich auch lokal speichern, damit ich von extern auf die Mails zugreifen kann, wenn intranet-Server durch technische Störungen offline ist. Normalerweise greife ich per VPN auf den Intranet zu. Welche Möglichkeiten bestehen da?
was sagt die Doku zu 'transpaorts'?
Ist es eine Rangfolge oder ein paralleles Benutzen der Transports?
Stelle dir zuerst mal die Frage was sind SMTP und IMAP/POP3 für Protokolle.
Ich würde für deine zwecke ein Cached IMAP verwenden ;)
also 'cached imap' (sonst findest du es nicht)
doppelte Datenhaltung (allgemein Redundanz) sollte man sehr bewußt wählen.
Mir war nicht bekannt, daß es cached imap gibt. Wenn das so ist, ist das natürlich der bessere Weg.
misterjack
18.11.09, 16:54
Cached-Imap ist keine Lösung, muss per SMTP die Mails an den Intranet übertragen. Gibts noch andere Möglichkeiten?
Warum greift der Intranet Server nicht einfach auf den externen Server zu?
mfg
cane
misterjack
20.11.09, 17:02
Die Möglichkeit besteht leider nicht, bzw. möchte ich eine generelle Möglichkeit, Mails lokal zu speichern und weiterzuleiten. man transport sagt dazu leider nichts.
Dann nehme einen alias und pass auf das du keine bouncer verursachst.
benutzer: ziel_a, ziel_b
An sonsten ist Majordomo dein Freund.
misterjack
25.11.09, 04:58
Ich habs geschafft, die Lösung für Interessierte:
Ein fertig eingerichtetes Postfix vorausgesetzt, in diesem Fall mit PostgreSQL-Anbindung, Postfixadmin, Amavis und Dovecot.
Ich habe eine zweite Postfix-Instanz erstellt, dazu kopiert man /etc/postfix zu /etc/postfix-two
in /etc/postfix/main.cf fügt man alternate_config_directories = /etc/postfix-two hinzu. In der /etc/postfix-two/main.cf ändert man queue_directory und data_directory auf seperate Verzeichnisse, damit die zweite Instanz nicht mit der ersten in die Quere kommt. content_filter sollte man auch rauswerfen, wenn diese Option gesetzt ist. Dazu noch ein passendes rc-script erstellen.
In der /etc/postfix-two/master.cf entfernt man sämtliche smtp(d)-Dienste, die sind zum reinen Weiterleiten unnötig.
Bei beiden Instanzen muss man noch einige Dateien anpassen, die da wären:
/etc/postfix/transports
* procmail:
/etc/postfix-two/transports
* smtp:[intranet.example.com]:25
In /etc/postfix/master.cf hinzufügen
procmail unix - n n - - pipe
flags=Rq user=vmail argv=/usr/bin/procmail SENDER=${sender} RECIPIENT=${recipient} /etc/procmailrc
Man installiere sich procmail und maildrop:
/etc/progmailrc
PATH=/bin:/usr/bin:/usr/bin
MAILDIR=$HOME
LOGFILE="/var/log/procmail.log"
:0 w
{
:0 c
| /usr/bin/maildrop /etc/maildroprc $RECIPIENT
:0
| /usr/sbin/sendmail -C /etc/postfix-two/ -r $SENDER -t $RECIPIENT
}
und die /etc/maildroprc:
SHELL="/bin/bash"
RECIPIENT=$1
logfile "/var/log/maildrop.log"
DEFAULT=/var/vmail/${RECIPIENT}
to /var/vmail/$RECIPIENT
Voila, eine Kopie wird per maildrop lokal gespeichert, sendmail leitet die Mail über die zweite Postfix-Instanz an den Intranetserver weiter. Da die lokalen nur abgerufen werden sollen, falls der Intranet-Server offline ist, kann man noch ein Script schreiben, das Mails älter als 7 Tage z.b. löscht.
Für die procmail und maildrop-Geschichte habe ich einen extra Benutzer eingerichtet.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.