[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