[Postfixbuch-users] Lokale Zustellung deaktiviert, wie cron-Mails weiterleiten?

Michael Köhler postfixbuch-users at makomi.de
Di Mai 26 15:16:32 CEST 2009


Hallo Sandy,

Am 22.05.2009 um 10:20 schrieb Sandy Drobic:

> Michael Köhler wrote:
>
>> Ok, ja, es war nur ein Tippfehler. Hier nun postconf -n:
>>
>> content_filter = amavisd-new:[127.0.0.1]:10024
>
> Wenn du den content_filter hier global definierst, dann gilt er auch  
> für die
> Mails, die von cron auf der Kommandozeile eingeliefert werden.

richtig, außer ich setze ein -o content_filter= in der master.cf für  
pickup ein

>> maximal_queue_lifetime = 21d
>
> 21 Tage ist sehr lang. Der Rest sieht aber gut aus.

Ja, das weiß ich - ist aber absichtlich. Sollte aber nicht das Problem  
darstellen, da es wirklich nur ein privates Mail-GW ist.

>
>> myhostname = mail.example.de
>> mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
>> myorigin = /etc/mailname
>
> Was steht in /etc/mailname drin? Dieser Name wird verwendet, um non- 
> FQDN zu
> ergänzen.

Zu ergänzen oder zu ersetzen? Also bei mir steht das der FQDN des  
Servers - in meinem Bsp. mail.example.de

> Anhand der untenstehenden Logzeilen nehme ich an, dass dort  
> $myhostname drin
> steht.

richtig!

> Wieso hast du überhautp Mails an $myhostname aktiv?!? Warum nicht  
> einfach
> alles an $mydomain schicken? Dann sparst du dir die ganze  
> Adressenumschreiberei.

Gute Idee. Aktiv habe ich auch keine Adresse, aber ich muß doch  
postmaster und abuse zulassen. Und wenn cron z.B. für amavis zustellt,  
dann muß ich das auch zulassen.

>> readme_directory = no
>> recipient_delimiter = +
>> relay_clientcerts = hash:/etc/postfix/relay_clientcerts
>> relay_domains = $mydomain
>
> Hier fängt es an, gefährlich zu werden. Die gültigen Empfänger  
> stehen für
> Relay_domains in relay_recipient_maps. Diese ist per Default leer,  
> also findet
> keine Empfängervalidierung statt. In deiner Konfig kann ich auch keine
> Empfängerverifikation mit reject_unverified_recipeint sehen.
> Mit dieser Konfig nimmt dein Server Mails an ungültige Empfänger an.  
> Findet
> diese Prüfung auf einem vorgeschalteten Server statt?

Nein, z.Z. noch nicht - aber das wird gerade realisiert (Export von  
Exchange). Ist doch aber nicht _so_ schlimm, oder?

>> smtpd_recipient_restrictions =
>>       permit_tls_clientcerts
>>        reject_unauth_destination
>>            reject_invalid_helo_hostname
>>            reject_non_fqdn_helo_hostname
>>            reject_unknown_helo_hostname
>>            reject_non_fqdn_sender
>>            reject_unknown_sender_domain
>>            reject_non_fqdn_recipient
>> transport_maps = hash:/etc/postfix/transport
>
> Ist ein Transport definiert für die Domain $mydomain?

Ja natürlich, wird weitergeleitet an einen externen Server.

>>>> 2. virtual_alias_maps = hash:/etc/postfix/virtual_alias angelegt  
>>>> und
>>>> darin postmaster, abuse, webmaster angelegt und an Emailadressen  
>>>> aus
>>>> $mydomain weitergeleitet.
>>>> 3. local_transport = error: Local delivery disabled!
>>>> 4. local-service in master.cf deaktiviert
>>>
>>> Das sieht gut aus.
>>
>> Leider wirft das Log folgendes bei einer externen Mail aus:
>>
>> May 19 22:27:33 mail postfix/smtpd[10135]: NOQUEUE: reject: RCPT from
>> port-24-24-24-24.arcor.de[24.24.24.24]: 554 5.7.1
>> <test at mail.example.de>: Relay access denied; from=<extern at gmx.de>
>> to=<test at mail.example.de> proto=ESMTP helo=<mail2.example.de>
>
> "Relay access denied" bedeutet, dass Postfix diese Domain nicht als  
> seine
> eigene Ansieht. Dies steht auch nicht in deiner Konfig.

Stimmt - das habe ich inzwischen gelöst. Man muß die Domain noch in  
eine virtual_alias_domains packen - steht leider so nicht in Ralf 
+Patricks Buch drin.

>> Und bei einer Mail, welche über pickup eingeworfen wird:
>>
>> May 19 21:18:07 mail postfix/pickup[10066]: 4F59B3C2F4: uid=107
>> from=<amavis>
>> May 19 21:18:07 mail postfix/cleanup[10091]: 4F59B3C2F4: warning:  
>> header
>> Subject: Cron <amavis at mail> test -e /usr/sbin/amavisd-new-cronjob &&
>> /usr/sbin/amavisd-new-cronjob sa-sync from local;
>> from=<amavis at mail.example.de> to=<amavis at mail.example.de>
>> May 19 21:18:07 mail postfix/cleanup[10091]: 4F59B3C2F4:
>> message-id=<20090519191807.4F59B3C2F4 at mail.example.de>
>> May 19 21:18:07 mail postfix/qmgr[9861]: 4F59B3C2F4:
>> from=<amavis at mail.example.de>, size=665, nrcpt=1 (queue active)
>> May 19 21:18:07 mail postfix/smtp[10093]: 4F59B3C2F4:
>> to=<postmaster at example.de>, orig_to=<amavis>, relay=none, delay=0.16,
>> delays=0.14/0.01/0.02/0, dsn=5.4.6, status=bounced (mail for
>> mail.example.de loops back to myself)
>
> Weil es der Hostname ist, der im DNS für deinen Server steht, aber  
> Postfix
> nicht weiss, wohin die Mail zugestellt werden soll.

Leider bleibt hier der Fehler (auch wenn ich wie oben geschrieben die  
Domain annehmbar gemacht habe)

>>>> Dazu habe ich gleich noch eine Frage: wenn ich
>>>>
>>>> relay_domains = $mydomain
>>>>
>>>> stehen habe und mydestinations leer ist, dann nimmt doch postfix  
>>>> die
>>>> Mails für irgendwas@$myhostname nicht mehr an. Muß ich dann  
>>>> $myhostname
>>>> in relay_domains aufnehmen? Und wenn ja, ich will ja kein catch_all
>>>> haben, wie definiere ich dann keine Weiterleitung, wenn ich die  
>>>> lokale
>>>> Zustellung deaktiviert habe?
>
> Wozu willst du eine Mail an $myhostname annehmen?

Aus RFC-Gründen und wegen der Zustellung von z.B. cron-Mails.

Gruß,
Michael

PS: Ich habe inzwischen das Setup (Deaktivierung lokaler Zustellung)  
wieder rückgängig gemacht, damit geht alles. Die Frage ist nur, warum  
es so nicht geklappt hat und ob jemand das bei sich so laufen hat.


Mehr Informationen über die Mailingliste Postfixbuch-users