Mailserver: E-Mail weiterleiten und gleichzeitig in ein Postfach ablegen

echt0711

echt0711

Aktives Mitglied
Thread Starter
Dabei seit
11.10.2003
Beiträge
862
Reaktionspunkte
13
Hallo Macuser,

ich finde hier keine Lösung für mein Problem, bin jedoch sicher, dass es irgendwie möglich sein müsste. Folgendes Szenario:

- Es gibt zwei E-Mailaccounts auf einem Mailserver, nennen wir sie mal user-a@server.com und user-b@server.com

- Beide E-Mailaccounts sind unter OS X Server 10.6.4 eingerichtet und sind im Workgroup Manager auf "aktiviert" gesetzt. Sie werden von den beiden Benutzern via POP3 oder IMAP und einem Mailclient regelmässig abgefragt. Die jeweils vollständige E-Mailadresse steht als Benutzerkurzname im Useraccount.

- Soweit so gut, jetzt kommt die Besonderheit: Wenn eine E-Mail an user-a@server.com geschickt wird, so soll diese sowohl bei user-a als auch bei user-b ankommen. Die Idee ist, dass die Mail SOWOHL im Postfach user-a als auch im Postfach user-b landet.

Ich habe schon versucht, das Problem mit Bordmitteln zu lösen, indem ich die betroffene E-Mailadresse bei zwei Useraccounts eintrage, das lässt jedoch der OS X Server nicht zu (wird vom OS mit Fehlermeldung abgelehnt).

Daraufhin habe ich versucht, postfix auszutricksen, indem ich eine Weiterleitung in die Datei virtual_users eingetragen habe. Mit dem Resultat, dass die Mails dann nur noch weitergeleitet werden, aber nicht mehr im Postfach landen.

Wie kann ich das Problem in den Griff kriegen und dafür sorgen, dass ein E-Mailaccount sowohl an eine andere Adresse weiterleitet, als auch selbst ein eigenes Postfach bereitstellt?
 
Ich bin nun nicht der Profi was Mailserver angeht aber wenn ich mich an dienstlichen Gepflogenheiten orientiere, dann sollte man dafür eine Gruppe/ einen Verteiler einrichten.
ODER
EIN Account, auf das beide per imap zugreifen.
Das Teilen des Postfachs fände ich charmanter - vor allem deshalb, weil dann auch beide Zugriff auf die "gesendet"-Objekte haben.
 
Okay, also IMAP kommt hier leider nicht in Frage. Ich würde für mich selber das Thema via IMAP lösen - aber der Kunde, um den es hier geht will aus irgendwelchen mir unverständlichen Gründen kein IMAP und ich mag ihn nicht zu seinem Glück zwingen, wenn er es nunmal partout nicht will. ;-)

Das mit der Gruppe bzw. dem Verteiler klingt gut - der OS X Mailserver bringt ja die Funktion "Mailinglisten" (via Mailman) mit. Ich habe das noch nie eingerichtet. Kriege ich damit mein Szenario abgebildet? Weiß das zufällig jemand?

Viele Grüße!
 
Ich muss gleich mal vorausschicken, dass ich keine Ahnung von OS X Server habe, aber ich habe selbst eine E-Mail-Adresse bei der

- wenn dort eine E-Mail eintrifft,
- diese zugleich an eine andere Adresse geht.

Da ist einfach eine Weiterleitung beim Mailanbieter (in meinem Fall DATEV) eingerichtet. Ist das vielleicht eine Lösung - oder ist das zu einfach gedacht?
 
Vielleicht hilt Dir das alias-file? Ich bin mir im Moment nur nicht sicher, ob es dann schleifen abfängt.
 
Hi!

@Ergebnis: ich BIN der Mailanbieter, der Mailserver läuft auf meinem Macmini Server, der im Rechenzentrum steht. Und genau, was Du beschreibst will ich unter OS X Server realisieren. Problem erkannt? :)

@sagovana: Welches Alias File meinst Du genau? Ich habe probiert, in der Datei virtual_users, die unter etc/postfix/ liegt, eine Weiterleitung einzutragen. Wenn ich dies tue, werden die Mails nur noch weitergeleitet, landen aber nicht mehr im Postfach. Ich brauche eine Lösung, in der beides passiert und das ist das Problem gerade.
 
/etc/alias, da können zeilen a la

usera: usera userb

rein. Mir ist nur nicht klar, ob das zu einem Loop führt.
(postmap alias nicht vergessen).
 
Das klingt doch mal gut…*ich teste das und gebe Bescheid! Danke :)
 
@Ergebnis: ich BIN der Mailanbieter, der Mailserver läuft auf meinem Macmini Server, der im Rechenzentrum steht. Und genau, was Du beschreibst will ich unter OS X Server realisieren. Problem erkannt? :) ...

Nach der Erläuterung schon. Ich hatte schon bei der Antwort das unbestimmte Gefühl, dass es dir um etwas anderes geht.
 
/etc/alias, da können zeilen a la

usera: usera userb

rein. Mir ist nur nicht klar, ob das zu einem Loop führt.
(postmap alias nicht vergessen).

die Datei liegt doch in /etc/postfix/alias oder ?
und danach ein "newalias" und alles ist gut.
Das Funktioniert übrigens sehr gut.

Gruß Buell
 
die Datei liegt doch in /etc/postfix/alias oder ?
und danach ein "newalias" und alles ist gut.
Das Funktioniert übrigens sehr gut.

Gruß Buell

Hi!

Bei mir liegt unter /etc/postfix eine Datei namens "aliases" und dort ist alles gut dokumentiert:

# Sample aliases file. Install in the location as specified by the
# output from the command "postconf alias_maps". Typical path names
# are /etc/aliases or /etc/mail/aliases.

Das Kommando postconf alias_maps gibt mir aus:
alias_maps = hash:/etc/aliases

d.h. dort werde ich die Datei mal ablegen. Noch nicht ganz klar ist mir, wie ich die User eintrage - sollte ich hier jeweils die vollständige E-Mailadresse mit der entsprechenden Domain nehmen oder den Kurznamen? Oder ist das völlig wurscht? Wird die "alias" Datei tatsächlich eine Kopie der Mails an den "alias" User senden oder wird nur eine Weiterleitung erzeugt und das "Postfach" des Users dann ignoriert? Bei letzterem wäre mir ja nicht wirklich geholfen. Bin noch etwas verwirrt, wie das Ganze funktioniert.

Grüße
 
Hi!

Bei mir liegt unter /etc/postfix eine Datei namens "aliases" und dort ist alles gut dokumentiert:

# Sample aliases file. Install in the location as specified by the
# output from the command "postconf alias_maps". Typical path names
# are /etc/aliases or /etc/mail/aliases.

Das Kommando postconf alias_maps gibt mir aus:
alias_maps = hash:/etc/aliases

d.h. dort werde ich die Datei mal ablegen. Noch nicht ganz klar ist mir, wie ich die User eintrage - sollte ich hier jeweils die vollständige E-Mailadresse mit der entsprechenden Domain nehmen oder den Kurznamen? Oder ist das völlig wurscht? Wird die "alias" Datei tatsächlich eine Kopie der Mails an den "alias" User senden oder wird nur eine Weiterleitung erzeugt und das "Postfach" des Users dann ignoriert? Bei letzterem wäre mir ja nicht wirklich geholfen. Bin noch etwas verwirrt, wie das Ganze funktioniert.

Grüße

Ich habe das so gemacht

UserA = herbert (Kurzname)
UserB = harri (kurzname)

Also trägst du ein in Alias

herbert: herbert,harri

wenn herbert auch unter der E-Mail herbert.meyer ereichtbar sein soll
herbert.meyer: herbert und wenn harri die auch bekommen soll,dann:

herbert.meyer: herbert,harri

Hoffe geholfen zu haben oder wie auch immer

Gruß Buell
 
Hallo nochmal!

Ich habe jetzt mehrmals versucht, das Ding zum Laufen zu bringen, scheitere aber immer wieder daran, dass das Kommando "postmap alias" bzw. "postmap newalias" nicht funktioniert. Ich habe in der main.cf verschiedene Einträge zum Thema alias database freigeschaltet (die waren auskommentiert), allerdings bin ich nicht 100% sicher, was ich tue. Ja, sagt mir bitte dass ich die Finger davon lassen soll, wenn ich nicht sicher bin. I have a backup! :)

Anyway, ich bekomme:

postmap: fatal: open alias: No such file or directory
bzw.
postmap: fatal: open newalias: No such file or directory

Und zwar auch dann, wenn ich den Pfad zur Datei hinten ans Kommando anhänge. Ich versteh es einfach nicht... weiß jemand Rat? Wahrscheinlich ist es wiedermal einer meiner blöden Unix Anfängerfehler. :(
 
Fehler gefunden. Auf OS X 10.6.4 Server geht's mit diesem Kommando:


Code:
sudo postalias /etc/postfix/aliases


Es müssen lokale User in der Datei stehen, es dürfen keine E-Mailadressen als Kurznamen sein - der Befehl "postalias" weist einen jedoch netter Weise darauf hin :)

Problem: nachdem ich das gemacht habe, hat mein Mailclient nichts mehr empfangen oder versandt. Scheint also komplizierter zu sein.
 
Nochmal ich. Kann jemand von euch bestätigen, dass die Konfiguration mit der alias-Tabelle tatsächlich unter OS X Server 10.6 funktioniert? Ich habe den Verdacht, dass es so einfach nicht geht oder der Weg mittlerweile ein anderer ist.
 
Poste doch mal deine alias Daten hier rein.
Die Alias funktioniert hervoragend.

Gruß Buell
 
Die gesamte Datei?

hier kommt sie - ich habe nur die Namen verändert, weil ich ein bißchen paranoid bin.

Code:
#
# Sample aliases file. Install in the location as specified by the
# output from the command "postconf alias_maps". Typical path names
# are /etc/aliases or /etc/mail/aliases.
#
#	>>>>>>>>>>      The program "newaliases" must be run after
#	>> NOTE >>      this file is updated for any changes to
#	>>>>>>>>>>      show through to Postfix.
#

# Person who should get root's mail. Don't receive mail as root!
root:		kurzname1

# Basic system aliases -- these MUST be present
MAILER-DAEMON:	postmaster
postmaster:	root

# General redirections for pseudo accounts
bin:		root
daemon:		root
named:		root
nobody:		root
uucp:		root
www:		root
ftp-bugs:	root
postfix:	root

# Put your local aliases here.

kuzname2: kurzname2, kurzname3

### DO NOT MANUALLY EDIT THIS SECTION ###
# This section is automatically generated



### END AUTO ADDITIONS ###

# Well-known aliases
manager:	root
dumper:		root
operator:	root
abuse:		postmaster

# trap decode to catch security attacks
decode:		root

Der Rest der Datei ist unverändert. Sie heisst /etc/postfix/aliases.
Die Datei /etc/aliases scheint ein Symlink zu sein, der auf /etc/aliases verweist.
Mir ist aufgefallen, dass es /etc/aliases.db bereits gibt - allerdings liegt die .db unter /etc/ und nicht unter /etc/postfix.

Nachdem ich die "aliases" Datei als Admin in einem Texteditor geöffnet und überspeichert hatte, habe ich versucht, Postmap zu starten um die Änderungen wirksam werden zu lassen:

1. Der Befehl

postmap alias

gab aus:

postmap: fatal: open alias: No such file or directory


2. Wenn ich stattdessen eingebe

postmap newalias

erhalte ich:

postmap: fatal: open newalias: No such file or directory

3. Dann habe ich versucht, einzugeben:


postmap alias /etc/aliases

postmap newalias /etc/aliases

Beides mit der gleichen Fehlermeldung - er findet die Datei offenbar nicht.
Dann habe ich gegoogelt und irgendwo den Hinweis gefunden, dass man mit dem Befehl

sudo postalias /etc/postfix/aliases

anscheinend zum Ziel kommt.

Habe ich gemacht - der Befehl lief zuerst nicht, weil ich statt Kurznamen der User deren E-Mailadresse eingtragen hatte.

Als ich stattdessen die Kurznamen genommen habe, lief er durch ohne Fehlermeldung. Danach war von meinem Apple Mailclient aus kein SMTP Versand mehr möglich. Ich wollte Testmails raussenden und die Mails hingen in der Queue des Clients fest, der Client hat ganz komisch reagiert - kein Timeout, keine Fehlermeldung, einfach die Mails im "Ausgang" gehalten. Der "Aktivität" Dialog des Mailclients hat keine Aktivität gemeldet, auch wenn ich auf "senden" geklickt habe.

Ich habe aus Schreck dann einen Rollback auf mein letztes (tägliches) Backup serverseitig gemacht, damit der Server für meine (immerhin 15) Kollegen heute wieder läuft...

Das alles nur, weil man ein relativ simples Szenario hat und ein Account Mail empfangen PLUS weiterleiten soll.
Ich habe schon überlegt, irgendeinen fetchmail service zu verwenden, um das Postfach alle 5 Sekunden abzufragen und die Mail dann per forward weiterzuleiten... aber das wäre quick and dirty und schmeckt mir garnicht so recht als Idee.
 
Also die /etc/aliases wird mit dem Kommande
Code:
newaliases
zu einer /etc/aliases.db kompiliert

Die Dateien von Postfix, z.b. /etc/postfix/aliases wird je nachdem wie zu sie im Postfix einbindest kompiliert.
lookup-tabellen z.b. mit postmap, postfix-alias-files mit postalias.

mehrer aliasdateien kannst du postfix z.b. über
Code:
alias_maps = hash:/etc/aliases, hash:/etc/aliases.d/useraliases, hash:/etc/aliases.d/trolluser
beibringen.

Alles in allem würde ich dir davon abraten einen öffentlichen mailserver zu betrieben. Dein Kenntnisstand ist erschreckend. wenn ich mir deine 3 Versuche anschaue ein Kommando zu starten, dann fehlt dir das notwendige Grundlagenwissen.

mailman wegen einer zweiuser-liste? Das ist jetzt hoffentlich nicht dein ernst...
 
Also die /etc/aliases wird mit dem Kommande
Code:
newaliases
zu einer /etc/aliases.db kompiliert

Ganz konkret und step by step:

1. Ich editiere /etc/aliases
2. Ich führe ein Kommando namens "newaliases" aus
3. Postfix reloaden und alles ist gut?

Sollte das so funktionieren?

Dass ich in Sachen Terminal keinen dollen Kenntnisstand habe, weiss ich selbst.
Das ist der Grund, warum ich nach Hilfe suche... ;)
 
Ganz konkret und step by step:

1. Ich editiere /etc/aliases
2. Ich führe ein Kommando namens "newaliases" aus
3. Postfix reloaden und alles ist gut?

Sollte das so funktionieren?

Dass ich in Sachen Terminal keinen dollen Kenntnisstand habe, weiss ich selbst.
Das ist der Grund, warum ich nach Hilfe suche... ;)

Ja, das sollte genügen.
BTW: Du kannst übrigens im aliasfile auch durchaus auf externe adressen forwarden. also
Code:
foo: bar, foobar@example.net
normalerweise musst du Postfix nicht noch mal reloaden
newalias ist ein kompatibilitätsinterface zu sendmail.
Hast du eine reine postfix-alias-datei ist
Code:
postalias /etc/aliases
der bessere weg. Wobei postalias auch sendmailkompatible aliasdatenbanken erzeugt.

Es ist ja auch nicht schlimm Anfänger zu sein. Das Problem ist nur das du einen öffentlichen Mailserver zu betreiben scheinst.
Ich kämpfe hier auf einem Mailcluster mit über 60 Millionen Spammails pro Jahr. Tendenz steigend. Das sind über 5 Mio pro Monat also knappe 200000/Tag.
Die Spitze der letzten 12 Monate lag bei weit über 10.000 pro Minute.
Eine Menge davon kommt von schlecht administrierten Mailservern.
Deswegen ärgert es mich einfach immer wieder zu sehen das Leute ohne Ahnung öffentlich erreichbare Server betreiben.
 
Zurück
Oben Unten