PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [postfix] mails senden, relay access denied



jimmy0815
12.01.09, 21:06
Hallo

folgende fehlermeldung beim versenden von emails mit einem externen client (thunderbird):

Jan 12 21:02:28 server postfix/smtpd[15109]: connect from gtng-5d821cef.pool.einsundeins.de[93.130.28.239]
Jan 12 21:02:28 server postfix/smtpd[15109]: NOQUEUE: reject: RCPT from gtng-5d821cef.pool.einsundeins.de[93.130.28.239]: 554 5.7.1 <ziel@adresse.de>: Relay access denied; from=<absender@adresse2.de> to=<ziel@adresse.de> proto=ESMTP helo=<[192.168.1.7]>
Jan 12 21:02:30 server postfix/smtpd[15109]: disconnect from gtng-5d821cef.pool.einsundeins.de[93.130.28.239]


lokal kann ich emails schicken!

hier meine main.cf:

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = /usr/share/doc/postfix-2.5.5/html
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix-2.5.5/readme
home_mailbox = .maildir/

relayhost = [mail.selfhost.de]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous

smtp_use_tls = yes
smtp_enforce_tls = yes
smtp_tls_enforce_peername = no

mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost
mydomain = skydoom.de
mynetworks = all
myorigin = $mydomain
myhostname = skydoom.de
inet_interfaces = all
relay_domains = $mydestination

smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unknown_sender_domain,
reject_invalid_hostname,
reject_unauth_destination


gesendet werden soll über den relay (selfhost.de), was ja eigentlich auch klappt, lokal.

meine sasl/smtp.conf :

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux/mux
autotransition: true


ich habe mich bereits durch zahlreiche threads gewühlt, aber entweder unbeantwortete fragen oder unsinnige antworten gefunden.
Könnt ihr mir helfen?

grüße
dennis

JAF
12.01.09, 21:31
ist deine config & dein logfile korrekt oder "anonymisiert", also adressen ausgetauscht?

jimmy0815
12.01.09, 21:33
bei der log sind die adressen anonymisiert!

JAF
12.01.09, 21:43
a)

mynetworks = all

sollte nicht auf "all" stehen, sondern nur auf dein internes netzwerk (z.b. 192.168.0.0/24)

b)
folgende configeinträge:


relay_domains = $mydestination
mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost
mydomain = skydoom.de
myhostname = skydoom.de


also sollte postfix (variablen immer einsetzen) nur annehnen, was von aussen an "*@skydoom.de" geht, ist das nicht so oder nicht?

jimmy0815
12.01.09, 21:47
zu a) is doch egal wenn ich sasl auth habe oder??

zu b) öhh...richtig! ^^

Roger Wilco
12.01.09, 21:50
zu a) is doch egal wenn ich sasl auth habe oder??
Nicht bei deinen $smtpd_recipient_restrictions. Glückwunsch zum Open Relay!

JAF
12.01.09, 21:51
relay_domains = $mydestination
mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost
mydomain = skydoom.de
myhostname = skydoom.de

würde ich ändern in


relay_domains = $mydestination
mydestination = $mydomain
mydomain = skydoom.de
myhostname = EXTERNER REVERSE-DNS EINTRAG ZUR IP

warum soll er dann emails fuer "ziel@adresse.de" annehmen von extern? denn haettest ja auch einen open relay, oder?

jimmy0815
12.01.09, 21:56
wie müsst ich dann die $smtpd_recipient_restrictions ändern?

und was ist mit: EXTERNER REVERSE-DNS EINTRAG ZUR IP
gemeint? die IP meines Servers ist dynamisch, weshalb ich selfhost als dyndns hab und als mailrelay.

JAF
12.01.09, 22:00
du meinst für mail raus, aber nicht für mail rein.
dann ist es vermutlich für den relay mail.selfhost.de egal.


mail von extern rein <<-- NEIN -->> nur mit fixer ip adresse.
wie willst du sonst den mx-record immer aktuell halten?

jimmy0815
12.01.09, 22:02
doch doch...
bei neueinwahl wird ein ipupdate bei selfhost gemacht. dort wird auch der MX-Record geupdated.
Mails empfangen geht ja!

JAF
12.01.09, 22:04
ich würd die finger davon lassen.

dns einträge haben normal auch immer eine gewisse gültigkeit, bzw andere cachen vielleicht auch DNS abfragen. so könnte es passieren, dass der sender an die alte adresse was schickt...

jimmy0815
12.01.09, 22:06
das is denk ich mal nich möglich! bei selfhost steht:

Ein MAILSPOOL ist eine Art Relayserver. Der MAILSPOOL ist für User geeignet, die Ihre Mails mit einem lokalen Mailserver empfangen wollen. Dabei werden Mails im Spool 'gesammelt' die aufgrund von Störungen der DYNIP nicht zugestellt werden können. Beim nächsten IP Update, werden diese Mails dann auf die IP des Mailservers (diese wird durch das Update 'mitgeteilt') zugestellt. Dabei wird weder am Empfänger noch am Absender Änderungen vorgenommen, die Mails werden 1:1 weitergereicht, können also lokal wieder verteilt werden. Der MAILSPOOL versucht von sich aus niemals, zwischengelagerte E-Mails zuzustellen, sondern speichert sie nur zwischen. Ein Versand dieser Mails erfolgt immer nur bei einem IP-Update - und das ist ja dann gerade ein expliziter Hinweis darauf, dass der lokale Mailserver unter der übermittelten IP-Adresse erreichbar ist. Der MAILSPOOL schützt Sie nur vor dem (weitaus häufigeren) Fall, dass unter Ihrer (Ex-)IP-Adresse nach einer Leitungstrennung gar kein Server antwortet. Wenn dort aber ein SMTP ?-Host auf Verbindungen wartet, kommt der MAILSPOOL nicht ins Spiel - der fremde SMTP ?-Server findet ja unter dem ersten MX-Record einen Host, der SMTP ?-Verbindungen annimmt und sieht somit keine Veranlassung, noch den zweiten MX-Host (also den MAILSPOOL) anzusprechen.
Die Mails bleiben im Spool, bis sie zugestellt werden können, wenn keine SMTP ?-Verbindung aufgebaut werden kann. Kann eine Verbindung aufgebaut werden, wird aber die Mail abgewiesen, gilt:
* bei permanentem Abweisen wird die Mail sofort gebounced und aus dem Maildir gelöscht
* bei temporärem Abweisen wird die Mail im Maildir behalten, und es wird später erneut versucht. Wird eine Mail nach zwei Wochen immer noch temporär abgewiesen, behandelt serialmail das Ganze wie permanentes Abweisen.
Für ein geschäftskritisches E-Mail-System kann der Betrieb eines Mailservers auf einer DynDNS ?-Adresse daher sicher nicht Mittel der Wahl sein. Für diesen Fall empfehlen wir, auf den (kostenlos enthaltenen) Mailspace ? zu wechseln, oder bei größerer Speicherplatznutzung, auf einen unserer (kostenpflichtigen) Webspace ? - Accounts zurückzugreifen.

oder blicke ich da was falsch?

JAF
12.01.09, 22:10
auf deutsch ein MX eintrag und ein art von backup-mx dienst.
was steht denn bei den MX-einträgen wirklich drinnen?

jimmy0815
12.01.09, 22:12
hab grad nachgeschaut...die mails gehn an selfhost, von da zu mir.

JAF
12.01.09, 22:14
nunja, wie gesagt, ich würd die finger davon lassen.
siehe auch hier:


Für ein geschäftskritisches E-Mail-System kann der Betrieb eines Mailservers auf einer DynDNS ?-Adresse daher sicher nicht Mittel der Wahl sein. Für diesen Fall empfehlen wir, auf den (kostenlos enthaltenen) Mailspace ? zu wechseln, oder bei größerer Speicherplatznutzung, auf einen unserer (kostenpflichtigen) Webspace ? - Accounts zurückzugreifen.

jimmy0815
12.01.09, 22:15
nja es ist ja nich geschäftskritisch...meist nur newsletter und so ein kram...das system soll ja zum testen sein.

JAF
12.01.09, 22:31
nun, du verlierst auch vermutlich einen grossen vorteil im bezug auf spam bekämpfung. da du nicht selbst der empfaenger deiner domain bist sondern jemand anderer.

der backup-mailserver meines proviers aergert mich auch, da er nich so zuverlässig spams ablehnt wie mein eigener mailserver. darum werde ich den auch bald einmal ersetzen ;)

jimmy0815
12.01.09, 22:32
das ist mir fürs erste egal^^

die frage ist nur...wie schicke ich email o0^^

an den sasl config liegts net oder?

cane
13.01.09, 00:40
Kannst Du die Fragen auf Deutsch wiederholen und die affigen Sonderzeichen weglassen? Dann antworten garantiert mehr Leute, selbst wenn es äußerst fragwürdig ist dir Tipps zu geben da Du ein OpenRelay betrieben hast.

Das Du dich damit strafbar machen kannst ist dir sicher bewusst...

mfg
cane

jimmy0815
13.01.09, 17:59
Okay.
Also, mein Ziel ist es, über ein externes Programm, zum Beispiel Thunderbird, über smtp Emails zu versenden.
Wenn ich lokal, das heißt über den Server Emails nach außen sende, funktioniert das. Meine Konfiguration und die Fehlermeldung könnt ihr im ersten Post sehen.

Ausserdem möchte ich, dass kein OpenRelay entsteht, daher die Frage wie ich meine $smtpd_recipient_restrictions ändern muss um dies zu erreichen.

grüße
dennis

jimmy0815
14.01.09, 17:06
Vieleicht sollte noch was gesagt werden:

Email senden funktioniert alles super.
Wenn ich lokal, das heißt von dem Rechner mit der genannten konfiguration aus, eine Email sende, an einen Server der außerhalb liegt, also zB gmx, funktioniert es.

Nur nicht, wenn ich mich extern einlogge. Das heißt wohl, dass hier was schief geht, ich denke mal mit der authentifizierung?

grüße
dennis

jimmy0815
14.01.09, 20:59
sorry für doppel/dreifachpost, aber ich glaube ich habe den Fehler gefunden.
Ich bin dieser Anleitung noch mal Schritt für Schritt nachgegangen:
http://www.gentoo.de/doc/de/virt-mail-howto.xml

Passt auch da ich ein Gentoo system habe.
Bei der Stelle mit der Überpfüfung mittels Telnet sind nicht die beiden geforderten Zeilen da.
Bei mir steht:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.skydoom.de ESMTP Postfix


ausserdem habe ich jetzt meine main.cf angepasst:


queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = /usr/share/doc/postfix-2.5.5/html
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix-2.5.5/readme
home_mailbox = .maildir/


# allgemeine sachen
myhostname = mail.skydoom.de
mydomain = skydoom.de
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetworks = 192.168.1.0/24, 127.0.0.0/8
home_mailbox = .maildir/
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10

#selfhost
relayhost = [mail.selfhost.de]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous

smtp_use_tls = yes
smtp_enforce_tls = yes
smtp_tls_enforce_peername = no


#authentifiedsdsdfsfd

smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain =

smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination


smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_use_tls = yes

smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_use_tls = yes
#smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/postfix/newkey.pem
smtpd_tls_cert_file = /etc/postfix/newcert.pem
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom


Also benutzt Postfix gar nicht sasl?
Wie korrigiere ich das?
Und sind die smtpd_recipient_restrictions jetzt besser/richtig?

grüße
dennis