SMTP schlägt fehl


Moin,

ich hätte da gerne mal ein Problem :)
Und zwar kann ich per telnet keine smtp Verbindung lokal aufbauen.

Code:
[root@h1655774 ~]# telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Der Port ist offen und Postfix läuft.
Pop3 über Telnet läuft...


Habt ihr ne Idee woran das liegen kann?
Hier nochmal ein Auszug aus der main.cf ist nicht alles, aber der größte Teil:
Code:
myhostname = mail.meinedomain.de
mynetworks = 127.0.0.0/8
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_create_maildirsize = yes
virtual_maildir_extended = yes
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
virtual_overquota_bounce = yes
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

Gruß & Danke
Pascal
 
Hier mal die Ausgaben:
Code:
[root@h1655774 ~]# netstat -tplen|grep :25
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      0          1171202838 7220/master

Code:
[root@h1655774 ~]# lsof -i :25
COMMAND  PID USER   FD   TYPE     DEVICE SIZE NODE NAME
master  7220 root   10u  IPv4 1171202838       TCP *:smtp (LISTEN)

Code:
[root@h1655774 ~]# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = amavis:[127.0.0.1]:10024
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = HOSTNAME, localhost, localhost.localdomain
myhostname = mail.DOMAIN.de
mynetworks = 127.0.0.0/8
newaliases_path = /usr/bin/newaliases.postfix
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.2.10/README_FILES
receive_override_options = no_address_mappings
sample_directory = /usr/share/doc/postfix-2.2.10/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
unknown_local_recipient_reject_code = 550
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_create_maildirsize = yes
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_maildir_extended = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
virtual_overquota_bounce = yes
virtual_transport = maildrop
virtual_uid_maps = static:5000

Die logfiles sind leider leer...sonst hät ich da schonmal reingeschaut...

Gruß Pascal
 
Da der Postfix-Prozess an sich in Ordnung zu sein scheint und an der richtigen Netzwerkschnittstelle hängt, solltest du deinen Paketfilter (Netfilter/iptables) überprüfen.
 
Auch wenn ich den IP-Tables Dienst stoppe klappt die Verbindung nicht...

Welche Software ich sonst noch für den Mailserver verwende sollte ja egal sein, oder?

Postfix nimmt ja direkt die Verbindung erstmal an, oder?

Gruß
 
Auch das schafft leider keine Abhilfe :(

Code:
[root@h1655774 ~]# iptables -L -n; iptables -F
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[root@h1655774 ~]#
[root@h1655774 ~]#
[root@h1655774 ~]# /etc/init.d/iptables restart
Firewall-Regeln löschen:                                  [  OK  ]
Ketten auf Richtlinie ACCEPT setzen: mangle filter nat     [  OK  ]
iptables-Module entladen:                                  [  OK  ]
[root@h1655774 ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Kann ich noch irgendwo mist gebaut haben außer in der main.cf?

In der master.cf habe ich folgenden Eintrag hinzugefügt:
Code:
amavis unix - - - - 2 smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtpd_bind_address=127.0.0.1

Gruß Pascal

Edit: Auch wenn ich den alternativen SMTP Port (587) angebe klappts nicht...also liegt es scheinbar nicht am Port direkt...
Edit2: Vielleicht nochmal als Hinweis...ich habe dieses HowTo verwendet. Jedoch für CentOS 5
 
Last edited by a moderator:
Code:
[root@h1655774 ~]# /etc/init.d/iptables restart
Firewall-Regeln löschen:                                  [  OK  ]
Ketten auf Richtlinie ACCEPT setzen: mangle filter nat     [  OK  ]
iptables-Module entladen:                                  [  OK  ]
So hast du die ggf. kaputten Netfilter-Regeln natürlich wieder geladen. :rolleyes:

Code:
[root@h1655774 ~]# telnet localhost 25
Du hast auch ganz sicher ein loopback-Device? Also eine Netzwerkschnittstelle lo mit der IP-Adresse 127.0.0.1? Wäre zwar sehr ungewöhnlich, aber nicht unmöglich.
 
Hi,

also auch wenn ich die iptables nicht neustarte (dachte wenn sie deaktiviert sind, sind sie deaktiviert) funktioniert es nicht.

Ja ich habe für die 127.0.0.1 eine Netzwerkkarte:

Code:
lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3356 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3356 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:896854 (875.8 KiB)  TX bytes:896854 (875.8 KiB)

Gruß
 
Moin,

so ich bin ein Stück weiter gekommen.
Aus welchem Grund auch immer hat das logging allgemein nicht funktioniert, nun geht es aber.

Im Logfile stoße ich auf folgendes:
Code:
Nov  4 12:43:17 h1655774 postfix/master[32424]: daemon started -- version 2.2.10, configuration /etc/postfix
Nov  4 12:43:45 h1655774 postfix/smtpd[32447]: fatal: no SASL authentication mechanisms
Nov  4 12:43:46 h1655774 postfix/master[32424]: warning: process /usr/libexec/postfix/smtpd pid 32447 exit status 1
Nov  4 12:43:46 h1655774 postfix/master[32424]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

Sasl habe ich aber m.E.n (richtig) konfiguriert, oder?

Code:
[root@h1655774 postfix]#vi /usr/lib/sasl2/smtpd.conf
#pwcheck_method: saslauthd

pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket
 
Dein smptd-Prozess verabschiedet sich permanent. Überprüfe deine master.cf auf etwaige Schreibfehler (auch subtile Fehler wie fehlende Kommata oder Leerzeichen) und erhöhe ggf. das Loglevel des smtpd durch anhängen von "-v".
 
Ich habe nun mal alles was mit sasl zu tun hatte in der main.cf auskommentiert und ich kann eine lokale Verbding herstellen.

Nun habe ich noch das Problem das er die Ordner nicht anlegt und ich sie somit nicht abrufen kann... :-/
 
Postfix legt die Mailordner in der Regel erst dann an, wenn einmal eine Mail an den betreffenden Account geschrieben wurde.
 
Das weiß ich, deswegen habe ich auch gleich eine Mail verschickt.
Laut logfile wurde diese auch ausgeliefert...

Aber das Verzeichnis erstellt er nicht.
Wenn ich es mit maildirmake anlege erscheint aber auch keine Mail darin...

Evtl. setz ich das Ding nochmal mit einem anderen HowTo auf...hat hier einer ein passendes für CentOS 5.4 und der Userablage in einer DB?

Gruß
 
Hat denn das Verzeichniss welches du anlegst die richtigen Rechte? Das Verzeichniss in welches Postfix die Mails schicken soll, bzw. in welchem Postfix die Mailordner anlegen soll, muss dem user von Postfix gehören und dieser user muss dort schreib- und Leserechte haben.
 
Die Rechte haben auch gestimmt, ja.

Ich habe mich nun für ein fertiges Paket entschieden "iRedMail".
Nun noch die Frage...

Wo wird eigentlich der Mailserver Name angegeben? Also zB mail.domain.de

Gruß Pascal
 
Das wird bei Postfix in der main.cf gemacht. Dafür ist die Variable myhostname zuständig.
 

Back
Top