• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Lokale Zustellung bei Postfix

Status
Für weitere Antworten geschlossen.

Tirn

Newbie
Hallo zusammen,

ich habe über die Suche nichts entsprechendes gefunden, daher hier mein Problem:

Ich versuche einen Mailserver mit Postfix unter Suse 9.1 aufzusetzten. Ich wollte die Funktionsweise erstmal testen indem ich mir als root lokal eine mail selbst schicke. Irgendwie klappt das aber nur wenn ich root@localhost angebe und nicht wenn ich das mit der entsprechenden Domänenendung versuche.
Anbei die Meldung aus /var/log/mail

Sep 8 07:49:39 server postfix/smtpd[3620]: connect from localhost[127.0.0.1]
Sep 8 07:49:39 server postfix/smtpd[3620]: 708171BAD0: client=localhost[127.0.0.1]
Sep 8 07:49:39 server postfix/cleanup[3623]: 708171BAD0: message-id=<200409080749.39236.root@heimnetz.site>
Sep 8 07:49:39 server postfix/qmgr[3051]: 708171BAD0: from=<root@heimnetz.site>, size=524, nrcpt=1 (queue active)
Sep 8 07:49:39 server postfix/smtpd[3620]: disconnect from localhost[127.0.0.1]
Sep 8 07:49:39 server postfix/smtp[3624]: connect to server.heimnetz.site[192.168.1.11]: Connection refused (port 25)
Sep 8 07:49:39 server postfix/smtp[3624]: 708171BAD0: to=<root@heimnetz.site>, relay=none, delay=0, status=deferred (connect to server.heimnetz.site[192.168.1.11]: Connection refused)



Sep 8 08:10:44 server postfix/smtpd[3912]: connect from localhost[127.0.0.1]
Sep 8 08:10:44 server postfix/smtpd[3912]: 4205918AFF: client=localhost[127.0.0.1]
Sep 8 08:10:44 server postfix/cleanup[3915]: 4205918AFF: message-id=<200409080810.43756.root@heimnetz.site>
Sep 8 08:10:44 server postfix/qmgr[3051]: 4205918AFF: from=<root@heimnetz.site>, size=523, nrcpt=1 (queue active)
Sep 8 08:10:44 server postfix/smtpd[3912]: disconnect from localhost[127.0.0.1]
Sep 8 08:10:44 server postfix/local[3916]: 4205918AFF: to=<root@localhost.heimnetz.site>, orig_to=<root@localhost>, relay=local, delay=0, status=sent (delivered to mailbox)
Sep 8 08:10:44 server postfix/qmgr[3051]: 4205918AFF: removed

Ich hoffe das mir jemand sagen kann warum das Modul qmgr scheinbar nicht erkennt das die Mail an local weitergegeben werden soll und nicht an smtp wenn ich mit Domänenendung arbeite. Bei @localhost klappts ja.

Wahrscheinlich ein völlig banaler Fehler aber ich komme einfach nicht dahinter.

Vielen Dank schon mal.
 

oc2pus

Ultimate Guru
hab grade meine Glaskugel zur Reparatur gegeben ...

die logs sind das eine, die Config das andere .. bitte poste die Ausgabe von
postconf -n.

Sehr wahrscheinlich liegt der Fehler hier: du musst deinem Postfix sagen für welche Domains er zuständig ist und auf welchen Interfaces (IPs) er Verbindungen erlauben soll. Derzeit offensichtlich nur für 127.0.0.1 :)

Die relevanten Konfig-Optionen in der /etc/postfix/main.cf hierfür heissen:
mydestination = $myhostname, $mydomain, localhost.$mydomain
mydomain =
myhostname =
mynetworks =
inet_interfaces =
 
OP
T

Tirn

Newbie
Ja die Glaskugeln sind auch nicht mehr das was sie mal waren :wink:

Hab vergessen zu sagen das ich eigentlich die Grundlegenden Dinge (Kapitel 3 "Das Postfixbuch") bereits konfiguriert habe.

Vielleicht hab ich da ja was falsch gemacht :roll:

Also hier der Auszug aus postconf -n

alias_maps = hash:/etc/aliases
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter =
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
defer_transports =
disable_dns_lookups = no
inet_interfaces = 127.0.0.1 ::1
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_command =
mailbox_size_limit = 0
mailbox_transport =
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains =
masquerade_exceptions = root
message_size_limit = 10240000
mydestination = $myhostname, localhost.$mydomain
mydomain = heimnetz.site
myhostname = server.heimnetz.site
mynetworks = 192.168.1.0/24, 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/packages/postfix/README_FILES
relayhost =
relocated_maps = hash:/etc/postfix/relocated
sample_directory = /usr/share/doc/packages/postfix/samples
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sendmail_path = /usr/sbin/sendmail
setgid_group = maildrop
smtp_sasl_auth_enable = no
smtp_use_tls = no
smtpd_banner = $myhostname ESMTP
smtpd_client_restrictions =
smtpd_helo_required = no
smtpd_helo_restrictions =
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = no
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_use_tls = no
strict_rfc821_envelopes = no
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 450


Wie mach ich das denn mit den inet_interfaces? in der main.cf hab ich was das angeht folgende Einträge und dachte damit würde er nicht nur auf 127.0.0.1 zugreifen laut postconf sieht das aber wohl etwas anders aus???

Auszug aus main.cf:

inet_interfaces = all
mynetworks = 192.168.1.0/24, 127.0.0.0/8

Hoffe du kannst mir helfen
 

oc2pus

Ultimate Guru
laut postconf ist dein postfix nur für 127.0.0.1 zuständig ...

hast du nach der Änderung an main.cf auch mal rcpostfix restart gesagt ?

netstat -lntp zeigt dir welches Programm auf welchem Port lauscht. (die mit master gehören zu postfix)

evtl funkt dir auch SuSEconfig dazwischen, deaktiviere die Option das SuSEconfig für deinen email-Server zustandig ist, wenn du selber an den Original Konfigurationen editerst. Sonst wird SuSEconfig, immer wieder alles überschreiben mit den Werten aus /etc/sysconfig welche via YaST eingestellt werden ...
 
OP
T

Tirn

Newbie
Hi,

gilt der Befehl postfix reload oder postfix stop und danach postfix start als dasselbe wie rcpostfix restart? Ob ich mit rcpostfix restart gearbeitet hab kann ich jetzt nicht mehr genau sagen. Bastel schon zu lange daran rum :oops:

Also am Ende der main.cf stehen ja Einträge von Yast dort war seltsamerweise immernoch inet_interfaces=127.0.0.1 :: 1

Das habe ich geändert auf inet_interfaces=all. Allerdings kommt jetzt folgendes Log beim Emailversand:

Sep 8 10:43:19 server postfix/pickup[5643]: D8B1C1BB08: uid=0 from=<root>
Sep 8 10:43:19 server postfix/cleanup[5849]: D8B1C1BB08: message-id=<200409081043.19228.root@heimnetz.site>
Sep 8 10:43:19 server postfix/qmgr[5644]: D8B1C1BB08: from=<root@heimnetz.site>, size=455, nrcpt=1 (queue active)
Sep 8 10:43:20 server postfix/smtp[5851]: D8B1C1BB08: to=<root@heimnetz.site>, relay=none, delay=1, status=bounced (mail for heimnetz.site loops back to myself)
Sep 8 10:43:20 server postfix/cleanup[5849]: 191341BB0D: message-id=<20040908084320.191341BB0D@server.heimnetz.site>
Sep 8 10:43:20 server postfix/qmgr[5644]: 191341BB0D: from=<>, size=2177, nrcpt=1 (queue active)
Sep 8 10:43:20 server postfix/qmgr[5644]: D8B1C1BB08: removed
Sep 8 10:43:20 server postfix/smtp[5851]: 191341BB0D: to=<root@heimnetz.site>, relay=none, delay=0, status=bounced (mail for heimnetz.site loops back to myself)
Sep 8 10:43:20 server postfix/qmgr[5644]: 191341BB0D: removed


Der Befehl netstat -lntp ergab:

server:/etc/postfix # netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2109/portmap
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 2906/cupsd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 5639/master
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3614/named
tcp 0 0 :::53 :::* LISTEN 3614/named
tcp 0 0 :::22 :::* LISTEN 2294/sshd
tcp 0 0 :::25 :::* LISTEN 5639/master
tcp 0 0 ::1:953 :::* LISTEN 3614/named


Ach ja im zweiten Post hat sich ein Schreibfehler eingeschlichen bei mynetworks ich ändere die IP dort gleich.

Große Frage für mich ist immer noch woran es liegt das das Modul qmgr die Mail an Modul smtp weitergibt und nicht an Modul local???
 

oc2pus

Ultimate Guru
aha, untersuche mal deine /etc/postfix/main.cf auf Duplikate ... SuSE schreibt am ENDE seine Einstellungen und wenn du oben geändert hast ... der letzte gewinnt :)

und postconf -n listet den ersten Eintrag!

also Duplikate elimieren.

postfix stop, psotfix start == rcpostfix restart
 
OP
T

Tirn

Newbie
Eigentlich hab ich deaktiviert das Suse irgendwelche Einstellungen macht.
/etc/sysconfig/mail

MAIL_CREATE_CONFIG="no"

Nun habe ich ja auch den letzten inet_interfaces Eintrag in der main.cf geändert auf =all

und auch rcpostfix restart dann kommt immernoch eben genanntes log???

Ich versteh dat nicht :lol:
 
OP
T

Tirn

Newbie
Ich hab mal die Kommentare weggelöscht um den Rahmen nicht zu sprengen.

Könnte es an mydestination liegen???

# NOTE - CHANGE NO MORE THAN 2-3 PARAMETERS AT A TIME, AND TEST IF
# POSTFIX STILL WORKS AFTER EVERY CHANGE.

# SOFT BOUNCE
#
#soft_bounce = no

# LOCAL PATHNAME INFORMATION
#
queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/lib/postfix

# QUEUE AND PROCESS OWNERSHIP
#
mail_owner = postfix

#default_privs = nobody

# INTERNET HOST AND DOMAIN NAMES
#
myhostname = server.heimnetz.site
#myhostname = virtual.domain.tld

mydomain = heimnetz.site

# SENDING MAIL
#
#myorigin = $myhostname
myorigin = $mydomain

# RECEIVING MAIL

inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost


#proxy_interfaces =
#proxy_interfaces = 1.2.3.4

#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
#
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
#
#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =


#unknown_local_recipient_reject_code = 550
unknown_local_recipient_reject_code = 450

# TRUST AND RELAY CONTROL
#
#mynetworks_style = class
#mynetworks_style = subnet
#mynetworks_style = host
#
mynetworks = 192.168.1.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table


#relay_domains = $mydestination

# INTERNET OR INTRANET

#relayhost = $mydomain
#relayhost = gateway.my.domain
#relayhost = uucphost
#relayhost = [an.ip.add.ress]

# REJECTING UNKNOWN RELAY USERS
#
#relay_recipient_maps = hash:/etc/postfix/relay_recipients

# INPUT RATE CONTROL

#in_flow_delay = 1s

# ADDRESS REWRITING
#
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
#
# "USER HAS MOVED" BOUNCE MESSAGES

# TRANSPORT MAP
#


# ALIAS DATABASE
#
#
#alias_maps = dbm:/etc/aliases
#alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases

##alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
#alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases

# ADDRESS EXTENSIONS (e.g., user+foo)
#
#recipient_delimiter = +

# DELIVERY TO MAILBOX
#
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/

#mail_spool_directory = /var/mail
mail_spool_directory = /var/spool/mail

# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
##mailbox_command = /some/where/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"

#mailbox_transport = lmtp:unix:/file/name
#mailbox_transport = cyrus

#fallback_transport = lmtp:unix:/file/name
#fallback_transport = cyrus
#fallback_transport =

#luser_relay = $user@other.host
#luser_relay = $local@other.host
#luser_relay = admin+$local

# JUNK MAIL CONTROLS
#
#header_checks = regexp:/etc/postfix/header_checks

# FAST ETRN SERVICE
#

#fast_flush_domains = $relay_domains
#fast_flush_domains =

# SHOW SOFTWARE VERSION OR NOT
#
smtpd_banner = $myhostname ESMTP
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)

# PARALLEL DELIVERY TO THE SAME DESTINATION

#local_destination_concurrency_limit = 2
#default_destination_concurrency_limit = 20

# DEBUGGING CONTROL

debug_peer_level = 2

#debug_peer_list = 127.0.0.1
#debug_peer_list = 127.0.0.1
#debug_peer_list = some.domain

debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5


# INSTALL-TIME CONFIGURATION INFORMATION

sendmail_path = /usr/sbin/sendmail


newaliases_path = /usr/bin/newaliases

mailq_path = /usr/bin/mailq

setgid_group = maildrop

manpage_directory = /usr/share/man

sample_directory = /usr/share/doc/packages/postfix/samples

readme_directory = /usr/share/doc/packages/postfix/README_FILES
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = server.heimnetz.site
program_directory = /usr/lib/postfix
#inet_interfaces = 127.0.0.1 ::1
inet_interfaces = all
masquerade_domains =
mydestination = $myhostname, localhost.$mydomain
defer_transports =
disable_dns_lookups = no
relayhost =
content_filter =
mailbox_command =
mailbox_transport =
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions =
smtpd_helo_required = no
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = no
smtpd_use_tls = no
smtp_use_tls = no
alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 10240000
 

oc2pus

Ultimate Guru
schau dir das an:
http://www.fredshack.com/docs/postfix.html

und lese es :)

Frage dich: für wen ist mein Postfix zuständig? ==> Anwort auf dein Problem ;)
 
OP
T

Tirn

Newbie
Hey das für Dummies nehm ich jetzt aber persönlich :cry: :wink:

ok der Link hat mir nicht so weiter geholfen aber der Punkt mydestination war es dann ja wohl. Wieder die Einträge von Yast unten inder main.cf. Dort fehlte localhost. Auskommentiert und plötzlich klappt es.

Ist denn sonst nochwas an der main.cf um grundlegenden mailversand irgendwie zu behindern???

Ach ja und sollte ich den Schluß also das von Yast generierte am Ende der main.cf einfach mal rauslöschen???

Danke für deine bisherige Hilfe, ich war mit den Nerven schon ziemlich weit unten :lol:
 

oc2pus

Ultimate Guru
du musst dich entscheiden wer konfiguriert: du oder yast

es dürfen keine Duplikate auftauchen.... wo etwas steht, ob oben oder unten ist egal
 
OP
T

Tirn

Newbie
Die Entscheidung hab ich ja schon getroffen "Ich allein ICH konfiguriere!" :wink:

Das Problem war wohl das beim ersten Start des Systems die Yast daten unten in die main.cf geschrieben wurden oder schon bestanden und ich davon nichts wusste. Und ich dann die Yastkonfigurierung ausgeschaltet habe in dem Glauben mich darum nicht mehr kümmern zu müssen.
Ich dachte Yast würde dort konfigurieren wo ich das in der main.cf auch gemacht habe. Wohl ein klassischer, oder neuer :wink: , Anfängerfehler. Ich habe zu sehr nach Buch gearbeitet und da wurde nicht darauf hingewiesen das am Ende der main.cf Einträge stehen die mir alles zunichte machen können und ich selbst hab nicht so weit runter geschaut bzw. nicht so genau :oops:

Muss ich denn außer unter /etc/sysconfig/mail noch irgendwo einstellen das Yast nichts zu konfigurieren hat bei meinem Mailserver?
 

oc2pus

Ultimate Guru
nein

dann bist du jetzt chef in deiner main.cf :)

tip: kopiere alles was Yast erzeugt hat an die richtigen Stellen und vergleiche es mit deinen Einstellungen. Duplikate sind tödlich bei Fehlersuche ...
 
OP
T

Tirn

Newbie
Prima

Danke für die Hilfe. Nun geht es endlich weiter :)

Mal sehen wann ich das nächste Mal hängenbleibe.

Bis dann :wink:
 
Status
Für weitere Antworten geschlossen.
Oben