stephan-l
Goto Top

Postfix über SMTP 500-Fehler

Hey,

ich habe gerade einen Server aufgesetzt und den MX-Eintrag für die E-Mails auf einen externen Server gesetzt. Jetzt habe ich ein Problem, ich habe alle Einstellungen vorgenommen, um über SMTP versenden zu können, er sagt mir aber jetzt jedes mal, wenn ich eine Mail versenden möchte:

[...]
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr recipient = a@b.de
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr offset = 544
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr dsn_orig_rcpt =
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr notify_flags = 0
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr status = 5.0.0
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr diag_type = smtp
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr diag_text = 550 <a@b.de>: Recipient address rejected: Acces
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr mta_type = dns
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr mta_mname = mail.domain.com
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr action = failed
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr reason = host mail.domain.com[195.42.120.79] said: 550 <a@b.de> Recipient address rejected: Access denied.
Dec 19 12:46:46 colo102 postfix/smtp[2673]: private/bounce socket: wanted attribute: status
Dec 19 12:46:46 colo102 postfix/smtp[2673]: input attribute name: status
Dec 19 12:46:46 colo102 postfix/smtp[2673]: input attribute value: 0
Dec 19 12:46:46 colo102 postfix/smtp[2673]: private/bounce socket: wanted attribute: (list terminator)
Dec 19 12:46:46 colo102 postfix/smtp[2673]: input attribute name: (end)
Dec 19 12:46:46 colo102 postfix/smtp[2673]: A63F016C046: to=<a@b.de>, relay=mail.domain.com[195.42.120.79]
Dec 19 12:46:46 colo102 postfix/smtp[2673]: < mail.domain.com[195.42.120.79]: 554 Error: no valid recipients
Dec 19 12:46:46 colo102 postfix/smtp[2673]: > mail.domain.com[195.42.120.79]: RSET
Dec 19 12:46:46 colo102 postfix/smtp[2673]: > mail.domain.com[195.42.120.79]: QUIT
Dec 19 12:46:46 colo102 postfix/smtp[2673]: < mail.domain.com[195.42.120.79]: 250 Ok
Dec 19 12:46:46 colo102 postfix/smtp[2673]: name_mask: resource
Dec 19 12:46:46 colo102 postfix/smtp[2673]: name_mask: software
Dec 19 12:46:46 colo102 postfix/smtp[2673]: deliver_request_final: send: "" 0
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr status =
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr diag_type =
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr diag_text =
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr mta_type =
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr mta_mname =
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr action =
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr reason =
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr status = 0
Dec 19 12:46:46 colo102 postfix/smtp[2673]: master_notify: status 1
Dec 19 12:46:46 colo102 postfix/smtp[2673]: connection closed
Dec 19 12:46:46 colo102 postfix/cleanup[2671]: EEA6916C056: message-id=<20081219114646.EEA6916C056@colo102.optimate-server.d
Dec 19 12:46:47 colo102 postfix/qmgr[2668]: EEA6916C056: from=<>, size=2367, nrcpt=1 (queue active)
Dec 19 12:46:47 colo102 postfix/bounce[2675]: A63F016C046: sender non-delivery notification: EEA6916C056
Dec 19 12:46:47 colo102 postfix/qmgr[2668]: A63F016C046: removed
Dec 19 12:46:47 colo102 postfix/local[2676]: EEA6916C056: to=<www-data@domain.com>, relay=local, delay=0.11, delays=0
Dec 19 12:46:47 colo102 postfix/qmgr[2668]: EEA6916C056: removed
Dec 19 12:48:26 colo102 postfix/smtp[2673]: auto_clnt_close: disconnect private/tlsmgr stream
Dec 19 12:48:26 colo102 postfix/smtp[2673]: idle timeout -- exiting

Hat jemand eine Idee, woran das liegt?

Vielen Dank
Stephan

Content-ID: 104475

Url: https://administrator.de/contentid/104475

Ausgedruckt am: 26.11.2024 um 22:11 Uhr

ALT-F4
ALT-F4 19.12.2008 um 14:46:52 Uhr
Goto Top
Hallo Stephan,

hast Du denn wirklich den Versuch mit "a@b.de" gemacht?
Ein gutes POSTFIX überprüft schon, ob die Domain existiert!

Welche Regeln hast Du in der main.cfg?
Von welchem Host hast die Testmail geschickt? localhost, also der server selbst?
Ist die Absenderadresse gültig?

Viele Grüße
Manuel Höferlin
datasearch
datasearch 19.12.2008 um 16:06:50 Uhr
Goto Top
Dec 19 12:46:46 colo102 postfix/smtp[2673]: send attr reason = host mail.domain.com[195.42.120.79] said: 550 <a@b.de> Recipient address rejected: Access denied.

Okey. ich vermute, das war nur eine Adresse zum probieren.

Was hast du denn konfiguriert? Bist du auf einem internem oder einem externem Server? Du hast den Server 195.42.120.79 als relayhost eingetragen um alle EMails über diesen weiterzuleiten? Musst du dich vieleicht an diesem Host noch anmelden? Oder akzeptiert dieser alle Nachrichten von deinem System? Bist du auf dem Server der MX für diese Domain ist und kannst keine Nachrichten ins Internet senden?

Dazu:

Ich habe gerade einen Server aufgesetzt
Wo hast du diesen aufgesetzt? Im Internet oder Intern?
und den MX-Eintrag für die E-Mails auf einen externen Server gesetzt
ist der neu aufgesetzte Server dieser MX im Internet? Oder meinst du, du hast den externen Server als Relayhost an deinem neu aufgesetztem Server eingetragen?
ich habe alle Einstellungen vorgenommen, um über SMTP versenden zu können
Okey, um um von anderen Systemen über den MX an deine Domain emails zu senden oder um von dem neu aufgesetztem System über den Relayhost Nachrichten an andere zu senden?

Ich denke mal das läßt sich relativ schnell lösen. Vermutlich hast du nur eine Kleinigkeit verwechselt. Um das genau sagen zu können, benötige ich aber die Antworten auf diese Fragen face-smile
stephan-l
stephan-l 19.12.2008 um 17:16:55 Uhr
Goto Top
Hey,

vielen Dank schonmal face-smile Also ich habe es mit meiner existierenden E-Mail-Adresse versucht, nur wollte ich die nicht hier ins Forum schreiben, weil dann ja mich wieder Spam-Mail-Fluten überrollen werden ;)

Der eine (neu aufgesetzte) Server steht in einem RZ, ist also im Internet, das Zweite ist ein Paket von einem Webhoster (der relayhost).

Ich habe einen MX-Eintrag bei den DNS Einstellungen gemacht, sodass mail.domain.com auf den relayhost linkt.

Jetzt funktioniert das Empfangen von Nachrichten auf @domain.com prima. Wenn ich allerdings Nachrichten von dem Server im RZ über den SMTP-Relayhost-Webspace senden möchte, bekomme ich die Fehlermeldungen von oben.

Meine main.cf sieht so aus:

#See /usr/share/postfix/main.cf.dist for a commented, more complete version


#Debian specific: Specifying a file name will cause the first
#line of that file to be used as the name. The Debian default
#is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

#appending .domain is the MUA's job.
append_dot_mydomain = no

#Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

#TLS parameters
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

#See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
#information on enabling SSL in the smtp client.

myhostname = hostname.server.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = domain.com, localhost.domain.com, localhost
relayhost = [mail.domain.com]
#mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_mechanism_filter = plain, login
smtp_sender_dependent_authentication = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Außerdem habe ich in eine Datei sasl_passwd noch die Login-Infos geschrieben

domain.com info@domain.com:pw

(PS: Wie kann ich die Login-Info denn für alle Adressen einrichten, dass einfach alles darüber geschickt wird?)

Diese Datei habe ich noch mit postmap in eine .db-Datei kompiliert. Das gleiche habe ich mit der Datei transport gemacht, die

domain.com smtp:mail.domain.com:25

enthält.


Sowohl die Absenderadresse als auch die Empfängeradressen sind gültig.

Vielen Dank schomal face-smile

Stephan
datasearch
datasearch 19.12.2008 um 17:40:40 Uhr
Goto Top
Okey, das sollte soweit auch funktionieren. hast du die Möglichkeit, am Zielserver die Logfiles einzusehen? Falls ja, schau doch bitte mal ob der User unter dem du die Mails an den Relay sendest überhaupt weiterleiten darf (relay_restrictions). Ansonsten kann es noch sein, das dich der Host rejected, weil DNS-Einträge nicht stimmen. Kann es sein das der reverse-lookup auf einen anderen Host zeigt? Nicht das der Relayhost bereits in den Client-Restrictions rejected und du garnicht bis zur anmeldung kommst. Versuche aber mal bitte die Session über Telnet herzustellen:

Codiere deinen SMTP Benutzernamen und das PW nach Base64. Das kannst du hier tun:
http://www.motobit.com/util/base64-decoder-encoder.asp
oder über den Befehl mimecode


Telnet auf den relayhost Port 25
ehlo deinserver.deinedomain.de
250-relay.domain.de
...
250-AUTH PLAIN LOGIN CRAM-MD5
250-8BITMIME
...
auth login
334 ABCdafblah
HIER BASE64 USERNAME EINFÜGEN UND SENDEN!!!
334 ABCBLAH
HIER BASE64 PASSWORT EINFÜGEN UND SENDEN!!!
235 Authentication Successful
mail from: <ich@domain.com>
250 OK
rcpt to: <jemand@anderedomain.com>
250 OK
data
354 End data with <CR><LF>.<CR><LF>
Hallo, das ist ein Test
.
250 OK: queued ad 12345676
quit
221 goodbye

Sollte das funktionieren, prüfe bitte ob dein Postfix auch wirklich die richtigen Zugangsdaten an den Server sendet. Sollte das bereits scheitern, blockt dich eine Policy am Relayhost.
stephan-l
stephan-l 19.12.2008 um 18:23:12 Uhr
Goto Top
Hey,

also habe das gemacht, das funktioniert ohne Probleme. Habe auch alles nochmal gecheckt und es sind alle Angaben korrekt.

Wie kann ich denn prüfen, ob Postfix die richtigen Zugangsdaten sendet?

Viele Grüße & Danke
Stephan
datasearch
datasearch 19.12.2008 um 18:38:39 Uhr
Goto Top
Am besten du hängst einen tcpdump auf das Inteface des Servers, über das die Anmeldung läuft. Es muss auf jeden Fall ein AUTH Request zum Relayhost gesendet werden. Alternativ kannst du den smtp-service am Postfix in den Debug-Modus setzen. Bin mir aber nicht sicher ob er da den smtp-chat in das Protokoll schreibt. Das geht in der master.cf indem du für den Dienst smtp (nicht smtpd) den parameter -v oder -vv anhängst.

Schau bitte nochmal in deine config ob du nicht einfach nur den Parameter "smtp_sasl_auth_enable = yes" vergessen hast face-smile
stephan-l
stephan-l 19.12.2008 um 19:15:29 Uhr
Goto Top
Hey,

ja das war das. Jetzt bekomme ich endlich neue Fehler:

Hier ist der neue Logfile, sehr komisch, da jetzt in der einen Datei ein User

www-data@domain.com:pass

auch besteht (habe diesen - als einzigen - eingefügt)

Dec 19 19:12:11 colo102 postfix/smtp[3567]: maps_find: smtp_sasl_passwd: www-data@domain.com: not found
Dec 19 19:12:11 colo102 postfix/smtp[3567]: maps_find: smtp_sasl_passwd: www-data: not found
Dec 19 19:12:11 colo102 postfix/smtp[3567]: maps_find: smtp_sasl_passwd: @domain.com: not found
Dec 19 19:12:11 colo102 postfix/smtp[3567]: mail_addr_find: www-data@domain.com -> (not found)
Dec 19 19:12:11 colo102 postfix/smtp[3567]: maps_find: smtp_sasl_passwd: mail.domain.com: not found
Dec 19 19:12:11 colo102 postfix/smtp[3567]: maps_find: smtp_sasl_passwd: hash:/etc/postfix/sasl_passwd(0,lock|fold_fix): [ma
Dec 19 19:12:11 colo102 postfix/smtp[3567]: smtp_sasl_passwd_lookup: host `mail.domain.com' user `www-data@domain.com
Dec 19 19:12:11 colo102 postfix/smtp[3567]: starting new SASL client
Dec 19 19:12:11 colo102 postfix/smtp[3567]: name_mask: noplaintext
Dec 19 19:12:11 colo102 postfix/smtp[3567]: name_mask: noanonymous
Dec 19 19:12:11 colo102 postfix/smtp[3567]: smtp_sasl_authenticate: mail.domain.com[195.42.120.79]: SASL mechanisms P
Dec 19 19:12:11 colo102 postfix/smtp[3567]: warning: SASL authentication failure: No worthy mechs found
Dec 19 19:12:11 colo102 postfix/smtp[3567]: connect to subsystem private/defer
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr nrequest = 0
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr flags = 0
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr queue_id = 5523B16C074
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr original_recipient = a@b.de
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr recipient = a@b.de
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr offset = 544
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr dsn_orig_rcpt =
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr notify_flags = 0
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr status = 4.7.0
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr diag_type = x-sasl
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr diag_text = no mechanism available
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr mta_type =
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr mta_mname =
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr action = delayed
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr reason = SASL authentication failed; cannot authenticate to server mai
Dec 19 19:12:11 colo102 postfix/smtp[3567]: private/defer socket: wanted attribute: status
Dec 19 19:12:11 colo102 postfix/smtp[3567]: input attribute name: status
Dec 19 19:12:11 colo102 postfix/smtp[3567]: input attribute value: 0
Dec 19 19:12:11 colo102 postfix/smtp[3567]: private/defer socket: wanted attribute: (list terminator)
Dec 19 19:12:11 colo102 postfix/smtp[3567]: input attribute name: (end)
Dec 19 19:12:11 colo102 postfix/smtp[3567]: 5523B16C074: to=<a@b.de>, relay=mail.domain.com[195.42.120.79]
Dec 19 19:12:11 colo102 postfix/smtp[3567]: flush_add: site web.de id 5523B16C074
Dec 19 19:12:11 colo102 postfix/smtp[3567]: match_hostname: web.de ~? domain.com
Dec 19 19:12:11 colo102 postfix/smtp[3567]: match_hostname: web.de ~? localhost.domain.com
Dec 19 19:12:11 colo102 postfix/smtp[3567]: match_hostname: web.de ~? localhost
Dec 19 19:12:11 colo102 postfix/smtp[3567]: match_list_match: web.de: no match
Dec 19 19:12:11 colo102 postfix/smtp[3567]: flush_add: site web.de id 5523B16C074 status 4
Dec 19 19:12:11 colo102 postfix/smtp[3567]: > mail.domain.com[195.42.120.79]: QUIT
Dec 19 19:12:11 colo102 postfix/smtp[3567]: name_mask: resource
Dec 19 19:12:11 colo102 postfix/smtp[3567]: name_mask: software
Dec 19 19:12:11 colo102 postfix/smtp[3567]: disposing SASL state information
Dec 19 19:12:11 colo102 postfix/smtp[3567]: deliver_request_final: send: "SASL authentication failed; cannot authenticate to
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr status = 4.7.0
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr diag_type = x-sasl
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr diag_text = no mechanism available
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr mta_type =
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr mta_mname =
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr action =
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr reason = SASL authentication failed; cannot authenticate to server mai
Dec 19 19:12:11 colo102 postfix/smtp[3567]: send attr status = 4294967295
Dec 19 19:12:11 colo102 postfix/smtp[3567]: master_notify: status 1
Dec 19 19:12:11 colo102 postfix/smtp[3567]: connection closed
Dec 19 19:12:37 colo102 postfix/smtp[3569]: auto_clnt_close: disconnect private/tlsmgr stream
Dec 19 19:12:37 colo102 postfix/smtp[3569]: idle timeout -- exiting
Dec 19 19:12:37 colo102 postfix/smtp[3567]: auto_clnt_close: disconnect private/tlsmgr stream

Danke schon einmal

Stephan
datasearch
datasearch 19.12.2008 um 19:53:44 Uhr
Goto Top
send attr diag_text = no mechanism available

Er hat Probleme einen AuthMech zu finden, den ser Server unterstützt. Hm. Was passiert wenn du alle Mechs zulässt?
Hast du vieleicht einen Eintrag, der Plain Text Auth verbietet?

zb. smtpd_sasl_security_options = noplaintext noanonymous
müsste in smtpd_sasl_security_options = noanonymous
geändert werden.
stephan-l
stephan-l 19.12.2008 um 21:09:28 Uhr
Goto Top
Hey,

habe jetzt

smtp_sasl_security_options = noanonymous

hinzugefügt und es funktioniert. Prima. Vielen Dank!

Viele Grüße, ein schönes Weihnachtsfest!

Stephan