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

Sandy Drobic postfixbuch-users at drobic.de
Fr Mai 22 10:20:34 CEST 2009


Michael Köhler wrote:

> Ok, ja, es war nur ein Tippfehler. Hier nun postconf -n:
> 
> alias_database = hash:/etc/aliases
> alias_maps = hash:/etc/aliases
> append_dot_mydomain = no
> biff = no
> config_directory = /etc/postfix
> 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.

> header_checks = pcre:/etc/postfix/header_checks
> inet_interfaces = all
> local_recipient_maps =
> local_transport = error:Local delivery disabled!
> mailbox_size_limit = 0
> maximal_queue_lifetime = 21d
> mydestination =

21 Tage ist sehr lang. Der Rest sieht aber gut aus.

> 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.

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

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

> 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?

> relayhost =
> smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
> smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
> 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
> smtpd_tls_CAfile = /etc/postfix/sasl/cacert.pem
> smtpd_tls_ask_ccert = yes
> smtpd_tls_cert_file = /etc/postfix/sasl/cert.pem
> smtpd_tls_key_file = /etc/postfix/sasl/key.pem
> smtpd_tls_loglevel = 1
> smtpd_tls_received_header = yes
> smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
> smtpd_use_tls = yes
> transport_maps = hash:/etc/postfix/transport

Ist ein Transport definiert für die Domain $mydomain?

> virtual_alias_maps = hash:/etc/postfix/virtual_alias
> 
> und die master.cf:
> 
> mail:~# egrep -v "^$|^[[:space:]]*#" /etc/postfix/master.cf
> smtp      inet  n       -       -       -       -       smtpd
> amavisd-new unix    -       -       n        -      2     smtp
>         -o smtp_data_done_timeout=1200
>         -o smtp_send_xforward_command=yes
>         -o smtp_tls_note_starttls_offer=no
>         -o disable_dns_lookups=yes
>         -o max_use=20
> 127.0.0.1:10025 inet n    -       n       -       -     smtpd
>         -o content_filter=
>         -o smtpd_delay_reject=no
>         -o smtpd_client_restrictions=permit_mynetworks,reject
>         -o smtpd_helo_restrictions=
>         -o smtpd_sender_restrictions=
>         -o smtpd_recipient_restrictions=permit_mynetworks,reject
>         -o smtpd_data_restrictions=reject_unauth_pipelining
>         -o smtpd_end_of_data_restrictions=
>         -o smtpd_restriction_classes=
>         -o mynetworks=127.0.0.0/8
>         -o smtpd_error_sleep_time=0
>         -o smtpd_soft_error_limit=1001
>         -o smtpd_hard_error_limit=1000
>         -o smtpd_client_connection_count_limit=0
>         -o smtpd_client_connection_rate_limit=0
>         -o
> receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
> 
>         -o local_header_rewrite_clients=
>         -o smtpd_milters=
>         -o local_recipient_maps=
>         -o transport_maps=hash:/etc/postfix/transport
>         -o relay_recipient_maps=
> pickup    fifo  n       -       -       60      1       pickup
>         -o content_filter=amavisd-new
> cleanup   unix  n       -       -       -       0       cleanup
> qmgr      fifo  n       -       n       300     1       qmgr
> tlsmgr    unix  -       -       -       1000?   1       tlsmgr
> rewrite   unix  -       -       -       -       -       trivial-rewrite
> bounce    unix  -       -       -       -       0       bounce
> defer     unix  -       -       -       -       0       bounce
> trace     unix  -       -       -       -       0       bounce
> verify    unix  -       -       -       -       1       verify
> flush     unix  n       -       -       1000?   0       flush
> proxymap  unix  -       -       n       -       -       proxymap
> proxywrite unix -       -       n       -       1       proxymap
> smtp      unix  -       -       -       -       -       smtp
> relay     unix  -       -       -       -       -       smtp
>         -o smtp_fallback_relay=
> showq     unix  n       -       -       -       -       showq
> error     unix  -       -       -       -       -       error
> retry     unix  -       -       -       -       -       error
> discard   unix  -       -       -       -       -       discard
> virtual   unix  -       n       n       -       -       virtual
> lmtp      unix  -       -       -       -       -       lmtp
> anvil     unix  -       -       -       -       1       anvil
> scache    unix  -       -       -       -       1       scache
> maildrop  unix  -       n       n       -       -       pipe
>   flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
> uucp      unix  -       n       n       -       -       pipe
>   flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail
> ($recipient)
> ifmail    unix  -       n       n       -       -       pipe
>   flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
> bsmtp     unix  -       n       n       -       -       pipe
>   flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender
> $recipient
> scalemail-backend unix  -       n       n       -       2       pipe
>   flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
> ${nexthop} ${user} ${extension}
> mailman   unix  -       n       n       -       -       pipe
>   flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
>   ${nexthop} ${user}
> 
>>> 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.

> 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.

> May 19 21:18:07 mail postfix/cleanup[10091]: 6BF5C3C2FD:
> message-id=<20090519191807.6BF5C3C2FD at mail.example.de>
> May 19 21:18:07 mail postfix/qmgr[9861]: 6BF5C3C2FD: from=<>, size=2466,
> nrcpt=1 (queue active)
> May 19 21:18:07 mail postfix/bounce[10095]: 4F59B3C2F4: sender
> non-delivery notification: 6BF5C3C2FD
> May 19 21:18:07 mail postfix/qmgr[9861]: 4F59B3C2F4: removed
> May 19 21:18:07 mail postfix/smtp[10096]: 6BF5C3C2FD:
> to=<postmaster at example.de>, orig_to=<amavis at mail.example.de>,
> relay=mail.extern.net[1.234.567.89]:25, delay=0.3,
> delays=0.03/0.01/0.11/0.16, dsn=2.6.0, status=sent (250 2.6.0 
> <20090519191807.6BF5C3C2FD at mail.example.de> Queued mail for delivery)
> May 19 21:18:07 mail postfix/qmgr[9861]: 6BF5C3C2FD: removed
> 
>>> 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?

-- 
Sandy

Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com



Mehr Informationen über die Mailingliste Postfixbuch-users