Postfix hinter einem Relay zur Verarbeitung eingehender und ausgehender E-Mails mit /etc/aliases

Postfix hinter einem Relay zur Verarbeitung eingehender und ausgehender E-Mails mit /etc/aliases

Ich versuche, die Einrichtung postfixauf einem Linux-Rechner (Debian 8 mit Postfix 2.11) durchzuführen. Aber ich habe einige Probleme, es /etc/aliasesrichtig zum Laufen zu bringen.

Das Setup ist wie folgt: Ein MS Exchange-Server ist der eigentliche Mailserver - er empfängt und versendet Mails und befindet sich im selben lokalen Netzwerk wie die Linux-Maschine. Postfix auf der Linux-Maschine verwendet diese Exchange-Maschine als Relayhost zum Versenden von Mails. Das funktioniert, so kommt zum Beispiel an.mail [email protected]

Nun existiert auf dem Exchange eine Mailadresse, die an die Linux-Maschine weitergeleitet wird. /etc/aliasesIch habe dafür einen Alias, der eine Pipe zu einem Programm ist, da die an diese Adresse gesendeten Mails Code enthalten, der vom Programm analysiert werden soll.

Damit das funktioniert, muss ich die mydestinationEinstellung in ändern main.cf. Sobald ich das aber tue, beendet Postfix die Weiterleitung von Mails, wenn der Alias ​​von /etc/aliasesverwendet wird. Nur die Eingabe des langen Namens funktioniert. Das ist meine Konfiguration (ich habe bei Null angefangen):

# main.cf
# our internet domain name (the thing after the "@")
mydomain = example.com

# this is the critical setting
mydestination = linuxmachine, 192.168.1.200, $mydomain

# IP of Exchange
relayhost = 192.168.1.100

# so that addresses look correct
masquerade_domains = $mydomain

# in order to make the pipe programm work with correct permission
default_privs = myuser

Mit dieser Konfiguration funktioniert das Piping eingehender Mails, das Senden von Mails an einen Alias ​​funktioniert jedoch nicht:

# /etc/alias
# none of the entries are actual users on the linux machine!

#works when mail to [email protected] comes from external through Exchange to Linux
parser: |/home/user/programname 

# command "mail external" does not work! It sends to external@linuxmachine"
external: [email protected] 

mydestinationWenn ich die Zeile in auskommentiere main.cf, mail externalwird eine Mail an gesendet [email protected](die ankommt), eingehende Mail an [email protected]wird aber nicht durch die Pipe gesendet. Also genau andersherum.

Was muss ich eingeben, main.cfum /etc/aliasesvon meinem Linux-Rechner aus E-Mails mit Kurznamen versenden und gleichzeitig E-Mails an eine Pipe empfangen zu können? Ich möchte lediglich, dass auf dem Linux-Rechner eine spezielle Adresse analysiert wird und dass Linux-Benutzer als „Luxus“ E-Mails mit Kurznamen an ausgewählte Adressen versenden können (anstatt vollständige E-Mail-Adressen eingeben zu müssen).

Update: postconf -nAusgabe:

config_directory = /etc/postfix
default_privs = myuser
masquerade_domains = $mydomain
mydestination = linuxmachine, 192.168.1.200, $mydomain
mydomain = example.com
relayhost = 192.168.1.100

Update 2: Ausgabe bei /var/log/mail.infoAusführung von mail external(Mail an Alias) mit mydestinationEinstellungen wie oben:

Jun 19 10:45:27 linuxmachine postfix/smtp[26425]: 6DFE02003AD: to=<[email protected]>, orig_to=<external>, relay=192.168.1.100[192.168.1.100]:25, delay=0.24, delays=0/0/0/0.24, dsn=2.6.0, status=sent (250 2.6.0 <[email protected]> [InternalId=162319] Queued mail for delivery)

Update 3: Nach der Änderung mydestinationentsprechend der vorgeschlagenen Antwort mail.infozeigt das Protokoll beim Ausführen die folgende Zeile an mail external:

Jun 19 16:07:31 linuxmachine postfix/smtp[2299]: B562720039C: to=<[email protected]>, orig_to=<external>, relay=192.168.1.100[192.168.1.100]:25, delay=2.6, delays=0/0/0/2.5, dsn=2.6.0, status=sent (250 2.6.0 <[email protected]> [InternalId=162971] Queued mail for delivery)

Antwort1

Die naheliegende Lösung besteht darin, „ $myhostnameoder linuxmachine.example.com“ in mydestinationden Parameter einzugeben.

Erläuterung

Vor der Konfigurationsänderung, hier das Hintergrundereignis nach dem Senden einer E-Mail übermail external

  • Postfix empfängt E-Mails per Abholdienst.
  • Da der Empfänger keine Domänenteile und (standardmäßig) Parameter hatappend_at_myoriginhat den Wert yes, dann wird Postfix die Empfängeradresse umschreiben in[email geschützt](Sie können es oben im Mail-Log sehen)
  • Standardmäßig ist der Parametermydestinationhat den Wert $myhostnameoder linuxmachine.example.com, also wendet Postfix die Aliasing-Map in an /etc/aliases.
  • Postfix-Alias[email geschützt]Zu[email geschützt]und senden Sie es dann an den Gmail-Host

Nach der Konfigurationsänderung passiert Folgendes

  • Postfix empfängt E-Mails per Abholdienst.
  • Da der Empfänger keine Domänenteile und (standardmäßig) Parameter hatappend_at_myoriginhat den Wert yes, dann wird Postfix die Empfängeradresse umschreiben in[email geschützt](Sie können es oben im Mail-Log sehen)
  • mydestinationEnthält jetzt weder $myhostnamelinuxmachine.example.com noch linuxmachine.example.com, daher wird Postfix kein Aliasing anwenden in/etc/aliases

verwandte Informationen