
Mein Arbeitgeber hat mir eine E-Mail-Adresse gegeben [email protected]
. Der Postausgangsserver meines Arbeitgebers lässt nur Verbindungen innerhalb seines Netzwerks zu (ähnlich wie ein ISP, der darauf besteht, dass Sie sich über ihn verbinden, um seinen SMTP-Server zu verwenden). Wenn ich also zum Mittagessen ins Café gehe und eine E-Mail von meinem Chef auf meinem Telefon ankommt, kann ich nicht darauf antworten, bis ich wieder im Büro bin. Außerdem kann ich nicht auf Arbeits-E-Mails antworten, wenn ich unterwegs oder im Außendienst bin.
Ich darf den Hauptmailserver nicht neu konfigurieren, habe aber einen kleinen separaten Postfix-Server, den ich steuern kann. Ich habe dort eine Reihe virtueller Domänen eingerichtet und habe sie myemployersdomain.com
als zusätzliche virtuelle Domäne und [email protected]
als virtuellen Benutzer hinzugefügt. Das funktioniert, und ich kann ausgehende E-Mails über diesen Server überall auf der Welt versenden, AUSSER an andere Benutzer auf myemployersdomain.com (was alles ist, was ich wirklich will).
Wenn ich versuche, zu senden an[email geschützt]Ich bekomme
NOQUEUE: reject: RCPT from... 550 5.1.1 ... Empfängeradresse abgelehnt: Benutzer in virtueller Postfachtabelle unbekannt
Der Postfix-Server glaubt, dass er die gesamte myemployersdomain.com kontrolliert, und wenn ich für den Empfänger in dieser Domäne keinen virtuellen Benutzer einrichte, lässt er ihn nicht zu. Ich kann den Fehler beheben, indem ich in der virtuellen Datei einen Catchall-Alias einstelle
@myemployersdomain.com [email protected]
aber natürlich kommen alle E-Mails, die ich dann versende, direkt an mich zurück!
Ich habe versucht, die Transportdatei so einzurichten, dass alle E-Mails für myemployersdomain.com beispielsweise über Gmail wie folgt weitergeleitet werden:
example.com :
myemployersdomain.com smtp:[smtp.gmail.com]:587
aber es macht keinen Unterschied. (Für Empfängeradressen in anderen (externen) Domänen funktioniert die Weiterleitung wie erwartet, aber für diese virtuelle Domäne lässt Postfix Sie nicht so weit kommen - der 5.1.1-Fehler kommt zuerst.)
Ist es möglich, Postfix so zu konfigurieren, dass E-Mails, die für eine lokal definierte virtuelle Domäne bestimmt sind, ins weite Internet gesendet werden und die Sortierung vom DNS erfolgt?
Antwort1
Wenn Sie Ihren Zweitcomputer als Backup-Server einrichten, müssen Sie einige Einstellungen vornehmen.
relay_domains= myemployersdomain.com
transport_maps
Sie können Ihr auch folgendermaßen verwenden :
myemployersdomain.com relay:[the.actual.server]
Dann bräuchten Sie (wie Falcon sagt) relay_recipient_maps
entweder einen Platzhaltereintrag oder einen Eintrag für Sie und Ihren Chef.
Dann würde ich eine TLS-verschlüsselte SASL-Autorisierung einrichten und nur Benutzern das Senden erlauben, die sich authentifiziert haben.
smtpd_relay_restrictions = permit_sasl_authenticated, reject
`
Antwort2
Der Domänenteil der E-Mail-Adresse gibt an, welcher SMTP-Server für die Zustellung von E-Mails für die gesamte Domäne zuständig ist. Anders ausgedrückt: Domänen können nicht auf diese Weise unterteilt werden.
Es klingt jedoch so, als ob das, was Sie wirklich tun möchten (abgesehen davon, die Richtlinien zu umgehen, aber das ist theoretisch eine interessante Frage, also beantworte ich sie trotzdem), einfach istRelaisMail.
In diesem Fall sollten Sie alle empfangenen E-Mails weiterleiten lassen.solange der Benutzer authentifiziert ist. Ich glaube, Sie können es so einrichten, dass Sie überhaupt keine lokale Domäne haben. Schließlich gehe ich davon aus, dass Sie nicht möchten, dass Ihr Relay-MTA die Zustellung von E-Mails akzeptiert und somit zwei Posteingänge mit derselben Adresse hat. Das wäre nur verwirrend.
Wenn Sie angeben, dass alles weitergeleitet werden soll, wird es an die Adresse gesendet, die im MX-Eintrag für die Zieldomäne steht. Und ich glaube, das ist Ihr Wunsch.
Dies lässt sich am besten erreichen, indem Sie keine lokale Domäne festlegen. Diese Einstellung ist beispielsweise bei Relay-MTAs üblich, die zum Filtern von Viren und Spam verwendet werden.
Ich erinnere mich zwar, dass es eine Funktion namens gab relay_recipient_maps
, aber ich glaube nicht, dass das in diesem Anwendungsfall der richtige Ansatz ist.