Postfix - lokal generierte E-Mails weiterleiten, aber eingehende E-Mails von GApps für dieselbe Domäne akzeptieren

Postfix - lokal generierte E-Mails weiterleiten, aber eingehende E-Mails von GApps für dieselbe Domäne akzeptieren

Ich weiß, dass man die lokale Zustellung deaktivieren kann, indem man die Domäne aus „mydestination“ entfernt, wodurch alle E-Mails über das von mir eingerichtete Relay weitergeleitet werden. Aber ich möchte, dass Postfix alle E-Mails von GApps zur lokalen Zustellung an Dovecot akzeptiert, aber alle lokal generierten E-Mails zurück an GApps leitet.

Beispiel: Auf meinem Server läuft Webmail mit dem lokalen Postfix.[email geschützt]sendet eine E-Mail an[email geschützt]. Wenn der Benutzer2 lokal existiert, stellt Postfix lokal zu, existiert aber nicht – ich könnte ein Fallback-Relay hinzufügen, das diese E-Mails an GApps sendet. Aber ich möchte, dass Postfix diese E-Mails immer an GApps zurücksendet (das diese E-Mails zur lokalen Zustellung an Postfix zurücksendet), unabhängig von der lokalen Verfügbarkeit. So kann ich eine Art Wasserfallmodell haben.

Ich weiß, dass es viele verwandte Fragen dazu gibt (keine davon beantwortet das speziell), aber im Grunde möchte ich für dieselben Benutzer sowohl bei Gmail als auch bei Dovecot vor Ort identische Posteingänge haben. Ich habe eine vorübergehende Lösung gefunden, indem ich für Webmail direkt GApps SMTP Relay anstelle des lokalen verwende, aber das löst nichts für diejenigen, die sich mit IMAP verbinden (am Ende müsste man jedem Benutzer Zugriff auf GApps SMTP gewähren).

Antwort1

Endlich funktioniert mein Setup mit mehreren Postfix-InstanzenAbonnierenerwähnt. Ich habe versucht, exim4 zu verwenden, aber apt-get install exim4 hat Postfix automatisch deinstalliert, ohne auch nur eine Eingabeaufforderung! So habe ich es jedenfalls zum Laufen gebracht:

#Adds some lines to main.cf enabling multiple instance
postmulti -e init

#Creates a new instance at the directory /etc/postfix-outgoing
postmulti -I postfix-outgoing -G mta -e create

Für meinen Anwendungsfall wollte ichHafen25UndHafen465soll zum Empfangen eingehender E-Mails von Gmail verwendet werden, benötigt aber PostfixVorlage(läuft auf Port 587) für ausgehende MTA-Nutzung. Also habe ich es wie folgt kommentiert in/etc/postfix/master.cf

#submission inet n       -       -       -       -       smtpd

und kommentierteSMTPUndSMTPaber hinzugefügtVorlagein /etc/postfix-outgoing/master.cf, um so etwas zu bekommen

submission inet n       -       -       -       -       smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no

Ich habe die main.cf der Standard-ISPConfig kopiert /etc/postfixund zahlreiche Änderungen an meiner vorgenommen /etc/postfix-outgoing/main.cf, aber die wichtigsten sind:

  1. Geändert, myhostnamedamit es sich von der Hauptinstanz unterscheidet. (sonst verwechselt das Postfix sie)
  2. Alle Dovecot-spezifischen Konfigurationen wurden entfernt.
  3. Datenverzeichnis ändern.
  4. Stellen Sie sicher, dass Postfix keine lokale Zustellung versucht (über mydestination, virtual_domains usw.).
  5. Geben Sie Ihr relayhost.
  6. Einen zweiten Listener zu dovecot.conf hinzuzufügen, der auf einen direkten Verweis auf den ursprünglichen Pfad service authverweist, /var/spool/postfix-outgoing/private/authhat bei mir nicht funktioniert. Oder Sie können versuchen, Folgendes zu verwenden: Dovecot-Authentifizierung über TCP.

Aktivieren Sie abschließend die Instanz:

postmulti -i postfix-outgoing -x postconf -e \
  "master_service_disable ="
postmulti -i postfix-outgoing -e enable
postmulti -i postfix-outgoing -p start

tail -f /var/log/mail.logund sehen Sie, wo die Dinge schief gelaufen sind.

Referenz:http://www.postfix.org/MULTI_INSTANCE_README.html

verwandte Informationen