Postfix: transport-maps nur für rausgehende Mails
Hi liste, ein Problem mit Postfix: Szenario: Externer POP/SMTP-Server sammelt Emails. Fetchmail holt sie auf einen Mailserver im LAN. Raus gehts genauso (LAN-SMTP-Server->externer SMTP-Server->Internet). Es sei denn - und das ist das Problem - wenn die rausgehende Email an die gleiche Domain geschickt wird. Nicht alle Accounts sind nämlich auch auf dem LAN-Server verfügbar, so dass Mails gebounced werden ("user not in local recipient list"). Ergo soll der Versand Domain-interne Mailversand über den externen Server laufen, wenn der Empfänger einer derjenigen ist, die keinen Account auf dem LAN-Server haben. Mein Ansatz: in die main.cf local_recipient_maps = transport_maps = hash:/etc/postfix/transport In der transport: emailAddrVonJemandemMITLokalemAccount1 : emailAddrVonJemandemMITLokalemAccount2 : emailAddrVonJemandemMITLokalemAccount3 : emailAddrVonJemandemMITLokalemAccount4 : * smtp:smtp.server.de Nach meinem Verständnis sollte Postfix also den oben eingetragenen Accounts die Emails lokal zustellen und für alles andere smtp.server.de zu Rate ziehen. Tut er auch. Auch bei eingehenden Emails. Allerdings werden die o.g. Regeln auch bei empfangenen Emails angewandt, so dass sie niemals das lokale Postfach erreichen, sondern, frisch von fetchmail abgeholt, wieder per SMTP an den externen Server geschickt werden. Ein Headerausschnitt (insgesamt geht das 13KB so weiter) sähe z.B. so aus: X-Envelope-From: <sender@googlemail.com> X-Envelope-To: <empfaenger@gvs-hannover.de> X-Delivery-Time: 1185271435 Return-Path: <sender@googlemail.com> Received: from ext-server.de (xxx.dip.t-dialin.net [00.00.00.00]) by mail.server.de (rechnername mo45) (RZmta 4.6) with ESMTP id 603389j6O6dsvE for <empfaenger@server.de>; Tue, 24 Jul 2007 12:03:55 +0200 (MEST) Received: from localhost (localhost [127.0.0.1]) by domain.de (Postfix) with ESMTP id 1C7B01F2452; Tue, 24 Jul 2007 12:04:23 +0200 (CEST) X-Virus-Scanned: amavisd-new at domain.de X-Spam-Score: 4.2 X-Spam-Level: **** X-Spam-Status: No, score=4.2 tagged_above=2 required=6.31 tests=[AWL=-0.051, NO_REAL_NAME=0.55, RCVD_IN_NJABL_DUL=1.713, RCVD_IN_SORBS_DUL=1.988] Received: from domain.de ([127.0.0.1]) by localhost (lokalerMailServer.domain.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Yy02snKvPxgF; Tue, 24 Jul 2007 12:04:22 +0200 (CEST) Received: from lokalerMailServer.domain.de (localhost [127.0.0.1]) by domain.de (Postfix) with ESMTP id EFA2C1F244D for <empfaenger@localhost>; Tue, 24 Jul 2007 12:04:21 +0200 (CEST) X-Envelope-From: <sender@googlemail.com> X-Envelope-To: <empfaenger@gvs-hannover.de> X-Delivery-Time: 1185271398 Received: from domain.de [00.00.00.00] by lokalerMailServer.domain.de with POP3 (fetchmail-6.3.5) for <empfaenger@localhost> (single-drop); Tue, 24 Jul 2007 12:04:21 +0200 (CEST) Received: from domain.de (xxx.dip.t-dialin.net [00.00.00.00]) by mail.server.de (rechnername mo28) (RZmta 9.1) with ESMTP id 30478dj6O8iVu5 for <empfaenger@gvs-hannover.de>; Tue, 24 Jul 2007 12:03:18 +0200 (MEST) Received: from localhost (localhost [127.0.0.1]) by domain.de (Postfix) with ESMTP id E48721F2453; Tue, 24 Jul 2007 12:03:45 +0200 (CEST) X-Virus-Scanned: amavisd-new at domain.de Received: from domain.de ([127.0.0.1]) by localhost (lokalerMailServer.domain.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bJ3fWQiNfcmi; Tue, 24 Jul 2007 12:03:44 +0200 (CEST) Received: from lokalerMailServer.domain.de (localhost [127.0.0.1]) by domain.de (Postfix) with ESMTP id 78BDD1F244D for <empfaenger@localhost>; Tue, 24 Jul 2007 12:03:44 +0200 (CEST) X-Envelope-From: <sender@googlemail.com> X-Envelope-To: <empfaenger@gvs-hannover.de> X-Delivery-Time: 1185271360 Received: from mail.server.de [192.67.198.62] by lokalerMailServer.domain.de with POP3 (fetchmail-6.3.5) for <empfaenger@localhost> (single-drop); Tue, 24 Jul 2007 12:03:44 +0200 (CEST) Received: from domain.de (xxx.dip.t-dialin.net [00.00.00.00]) by mail.sever.de (rechnername mo63) (RZmta 9.1) with ESMTP id 200d95j6O6uUtV for <empfaenger@gvs-hannover.de>; Tue, 24 Jul 2007 12:02:40 +0200 (MEST) Received: from localhost (localhost [127.0.0.1]) by domain.de (Postfix) with ESMTP id DD5A41F2453; Tue, 24 Jul 2007 12:03:07 +0200 (CEST) X-Virus-Scanned: amavisd-new at domain.de Received: from domain.de ([127.0.0.1]) by localhost (lokalerMailServer.domain.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JVPTxw+hvMsi; Tue, 24 Jul 2007 12:03:06 +0200 (CEST) Received: from MailServer.domain.de (localhost [127.0.0.1]) by domain.de (Postfix) with ESMTP id 9F01F1F244D for <empfaenger@localhost>; Tue, 24 Jul 2007 12:03:06 +0200 (CEST) X-Envelope-From: <sender@googlemail.com> X-Envelope-To: <empfaenger@gvs-hannover.de> X-Delivery-Time: 1185271321 Received: from mail.server.de [00.00.00.00] by lokalerMailServer.domain.de with POP3 (fetchmail-6.3.5) for <empfaenger@localhost> (single-drop); Tue, 24 Jul 2007 12:03:06 +0200 (CEST) ... Ich wäre für dezentes stupsen in die richtige Richtung sehr dankbar. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
elrokus@googlemail.com wrote:
Hi liste, ein Problem mit Postfix: Szenario: Externer POP/SMTP-Server sammelt Emails. Fetchmail holt sie auf einen Mailserver im LAN. Raus gehts genauso (LAN-SMTP-Server->externer SMTP-Server->Internet). Es sei denn - und das ist das Problem - wenn die rausgehende Email an die gleiche Domain geschickt wird. Nicht alle Accounts sind nämlich auch auf dem LAN-Server verfügbar, so dass Mails gebounced werden ("user not in local recipient list").
Genau hier solltest du ansetzen: Dein Postfix ist für eine Domain verantwortlich, deshalb muss er auch für diese Domain alle gültigen Adressen kennen. Wenn das nicht der Fall ist, hast du ein echtes Problem. :-/ Eine Lösung wäre es, Subdomains zu verwenden. Dann wäre dein lokaler Postfix nur für eine Subdomain verantwortlich und würde den Recht an den anderen Server rüberschieben. Dieser wiederum sollte wissen, welche Adressen zu welcher Subdomain gehören.
Ergo soll der Versand Domain-interne Mailversand über den externen Server laufen, wenn der Empfänger einer derjenigen ist, die keinen Account auf dem LAN-Server haben. Mein Ansatz: in die main.cf local_recipient_maps =
Dies schaltet die Prüfung auf gültige Adressen komplett ab. Das würde ich mir gründlich überlegen. Nimmt dein Server auch Mails direkt aus dem Internet an?
transport_maps = hash:/etc/postfix/transport
In der transport: emailAddrVonJemandemMITLokalemAccount1 : emailAddrVonJemandemMITLokalemAccount2 : emailAddrVonJemandemMITLokalemAccount3 : emailAddrVonJemandemMITLokalemAccount4 : * smtp:smtp.server.de
Transport unterscheidet in der Prio zwischen der vollständigen Adresse und der Domain. user1@example.com local: user2@example.com local: example.com smtp:mail.example.com Wie weist du ungültige Adresen ab? -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
elrokus@googlemail.com
-
Sandy Drobic