PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : postfix redet nicht mit mir



killer666
13.10.04, 20:03
Hallo zusammen,

ich bin derzeit dabei einen Mailserver mit postfix aufzubauen.
Ich habe das Problem, dass der postfix nicht mit mir redet. Wenn ich mich per telnet auf Port 25 einwähle, so besteht zwar eine Verbindung, jedoch bekomme ich auf meine Befehle keine Antworten von postfix. Mit antworten meine ich so Sachen wie
220 meinmail.example.net
Habe bereits nach Recherchen im WWW in der
/etc/postfix/master.cf das Argument -v in der Zeile
smtp inet n - n - - smtpd
hinzugefügt, hat jedoch nichts gebracht.
Habt ihr einen Tipp für mich ?
Danke

killer

psy
13.10.04, 20:33
läuft postfix überhaupt und auf welcher schnittstelle "hört" er, kannst du mit lsof -Pni herausfinden, um mehr infos zu bekommen, bitte deine main.cf posten.

ciao
psy

killer666
13.10.04, 21:31
Postfix läuft und lauscht auf dem "local-interface" sowie auf eth0, Auszug aus lsof -Pni

master 1682 root 11u IPv4 15047 TCP *:25 (LISTEN)

Hier die wichtigsten Einträge in der main.cf

soft_bounce = no
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
default_privs = nobody
myhostname = mailsystem.geaendert.de
mydomain = geaendert.de
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain
local_recipient_maps = unix:passwd.byname $alias_maps
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 192.168.6.0/24,127.0.0.0/8
relay_domains = $mydestination
relayhost = $mydomain
relay_recipient_maps = hash:/etc/postfix/relay_recipients
in_flow_delay = 1s
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
recipient_delimiter = +
home_mailbox = Mailbox
mail_spool_directory = /var/spool/mail
luser_relay = $user@other.host
header_checks = regexp:/etc/postfix/header_checks
smtpd_banner = $myhostname ESMTP $mail_name
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
debug_peer_level = 6
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $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 = 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 = mailsystem.geaendert.de
program_directory = /usr/lib/postfix
#inet_interfaces = 192.168.6.9
masquerade_domains =
defer_transports =
disable_dns_lookups = no
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
alias_maps = hash:/etc/aliases
mailbox_size_limit = 51200000
message_size_limit = 10240000
myorigin = $mydomain
debug_peer_list = 127.0.0.1

Der Rest ist nicht genutzt bzw. auskommentiert.

Weiterhin hab ich noch das Problem das ich per Outlook eMails nicht abrufen kann, obwohl ich richtigen Username und Passwort angegeben habe - wird immer wieder abgelehnt.
Fetchmail spinnt ebenfallsrum und bleibt beim Abrufen der eMails einfach hängen, und macht nicht weiter mit den nächsten Postfächern.

Dies aber nur zur Information, falls man daraus weitere Schlüsse ziehn kann :)
Danke

killer

RapidMax
13.10.04, 22:53
Und wie soll der Mailserver wirken? Soll er Mails für deine Domain empfangen? Bekommt er Mails nur von einem providerseitigen Account mittels Fetchmail oder soll er gar nur e-mails versenden? Die Konfig sieht etwas überladen aus. Wie bist du zu dieser gekommen?

relayhost braucht man nur, wenn der Server die Mails nicht direkt versenden soll, sondern die Mail über ein Relay versendet werden soll (z.B. den Mailserver des ISP).

Wenn ich einen Mailserver von Hand teste gehe ich wie folgt vor:

# telnet mailserver 25
220 mailserver ESMTP
EHLO foobar
250-mailserver
250-AUTH LOGIN CRAM-MD5 PLAIN
....
MAIL FROM: <>
250 ok
RCPT TO: <user@mailserver>
250 ok
DATA
354 go ahead
Subject: Mail Test #1

Test #1
.
250 ok
QUIT
221 mailserver
Je nach Konfiguration des Mailservers muss bei MAIL FROM und bei EHLO hostname etwas Sinnvolles stehen. Oft hilft ein Blick ins RFC (http://www.ietf.org/rfc/rfc2821.txt).

Gruss, Andy

killer666
14.10.04, 22:39
Der Mailserver holt von versch. POP3 Fächern eMails mittels fetchmail ab. Intern werden die mails dann über postfix verteilt. Qpopper stellt den internen POP3 dar.
Die Konfig ist die Standardconfig, nur die Kommentare dazu habe ich rausgelassen, also nur meine auskommentierten Konfigzeilen.
Ich würde meinen Server ja auch gerne so testen, wie das bei dir abläuft, nur "redet" postfix eben nicht mit mir, heisst, sowas wie

# # telnet mailserver 25
220 mailserver ESMTP

erhalte ich erst gar nicht, sprich die Zeile mit 220. Die Verbindung jedoch steht.
Habe mittlerweile auch mal in Outlook einen Account eingerichtet. Wenn ich über diesen senden will, so läuft die Sendeanfrage in einen Timeout. Der Port ist aber offen, und wenn ich den Mailserver ausmache und wieder versuche zu senden, erhalte ich eine andere Fehlermeldung, also irgendwas läuft da schon.


Ein Blick in die /var/log/mail sagt folgendes:


Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: send attr flags = 64
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: private/proxymap socket: wanted attribute: status
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: input attribute name: status
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: input attribute value: 0
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: private/proxymap socket: wanted attribute: flags
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: input attribute name: flags
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: input attribute value: 80
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: private/proxymap socket: wanted attribute: (list terminator)
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: input attribute name: (end)
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: dict_proxy_open: connect to map=unix:passwd.byname status=0 server_flags$
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: dict_open: proxy:unix:passwd.byname
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: maps_append: hash:/etc/aliases
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: dict_open: hash:/etc/aliases
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: maps_append: hash:/etc/postfix/canonical
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: dict_open: hash:/etc/postfix/canonical
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: maps_append: hash:/etc/postfix/virtual
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: dict_open: hash:/etc/postfix/virtual
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: maps_append: hash:/etc/postfix/relay_recipients
Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: fatal: open database /etc/postfix/relay_recipients.db: No such file or d$
Oct 15 00:26:18 mailsystem postfix/master[861]: warning: process /usr/lib/postfix/smtpd pid 1158 exit status 1
Oct 15 00:26:18 mailsystem postfix/master[861]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling


Wenn ich das richtig deute, liegt der Timeout hieran:

Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: fatal: open database /etc/postfix/relay_recipients.db: No such file or d$

Jedoch habe ich mittlerweile die Üperprüfung nach relay_recipient abgeschaltet:

aus der main.cf

# To turn off local recipient checking in the SMTP server, specify
# local_recipient_maps = (i.e. empty).


oben beschriebenes habe ich getan ...

Hat jemand eine Idee :D
Danke

killer

Terran Marine
14.10.04, 22:42
Wenn ich das richtig deute, liegt der Timeout hieran:

Oct 15 00:26:17 mailsystem postfix/smtpd[1158]: fatal: open database /etc/postfix/relay_recipients.db: No such file or d$

Jedoch habe ich mittlerweile die Üperprüfung nach relay_recipient abgeschaltet:

aus der main.cf


Zu der Lookup-Table relay_recipients fehlt noch die hash-Datei, dieser erstellst du mit :

postmap /etc/postfix/relay_recipients

Sollte es daran nicht mehr liegen, neues log posten.

Gruß
Terran

killer666
15.10.04, 17:29
Zu der Lookup-Table relay_recipients fehlt noch die hash-Datei, dieser erstellst du mit :

postmap /etc/postfix/relay_recipients

Sollte es daran nicht mehr liegen, neues log posten.

Gruß
Terran

postmap: fatal: open /etc/postfix/relay_recipients: No such file or directory

Komisch das die Dateien vorhanden sein müssen trotz das ich die Funktion deaktiviert habe ... naja.
Scheinbar fehlt auch die Vorlage für die hash datei ... :/
Was muss denn in der Datei drinstehen ?
Weis das wer ? Wenn ja erstelle ich sie selbst ...

killer

RapidMax
15.10.04, 18:10
Versuch es mal mit einer leeren Datei. Damit müsste er dann zumindest starten.

Gruss, Andy

killer666
16.10.04, 14:38
Versuch es mal mit einer leeren Datei. Damit müsste er dann zumindest starten.

Gruss, Andy
Vielen Dank für eure Hilfe.
Das Problem wäre mal vom Tisch, ich kann jetzt eMails senden und empfangen. Auch wenn ich per telnet keine Antwort von Postfix bekomme.
Hat eigentlich nichtsmehr mit dem Thema zu tun, aber es sind jetzt ein paar weitere Probleme aufgetreten, vielleicht hat ja jmd von euch einen schnellen Rat :)
MeinProvider erfordert pop-before-smtp. Habe hierzu auch schon das Skript von Bennett Todd gefunden, jedoch die implementierung ins System fällt mir recht schwer - kennt jmd ein gutes HowTo ? Wenn möglich in Deutsch.

Danke nochmals, und danke bereits im Vorraus ;)

killer

Terran Marine
16.10.04, 17:52
MeinProvider erfordert pop-before-smtp. Habe hierzu auch schon das Skript von Bennett Todd gefunden, jedoch die implementierung ins System fällt mir recht schwer - kennt jmd ein gutes HowTo ? Wenn möglich in Deutsch.


D.h. du schickst deine Mails mit postfix als Mail-Client an deinen Provider weiter ?

Unterstützt dieser kein SMTP-Auth ? Das sollte heutzutage doch Standard sein ?

Gruß
Terran

killer666
17.10.04, 17:20
D.h. du schickst deine Mails mit postfix als Mail-Client an deinen Provider weiter ?

Unterstützt dieser kein SMTP-Auth ? Das sollte heutzutage doch Standard sein ?

Gruß
Terran

Ja, so sollte es laufen. Die Mails werden von Postfix je nachdem entweder intern weitergeleitet oder wenn es an eine externe Adresse geht, an den Provider weitergeleitet.
SMTP-Auth scheint es nicht zu geben, wenn ich mittels SMTP-Auth mit Outlook eine Mail verschicken will, erhalte ich diese Meldung direkt vom Provider:

Protokoll: SMTP, Serverantwort: '451 4.1.8 To send mail, first check your mail with a valid POP3 account; this prevents unauthorized SPAM relaying.'

killer

Terran Marine
17.10.04, 17:50
SMTP-Auth scheint es nicht zu geben

Sieht so aus,

hab mir Tool von Bennett Todd mal angesehen, damit kannst du einem postfix beibringen, pop-before-smtp als Server zu akzeptieren, in deinem Fall willst du aber pop-before-smtp als Client haben, und dies scheint damit nicht abgedeckt zu sein.

Schlechter Lösungsansatz :

fetchmail aufsetzen und alle 15 Minuten auf dem Pop-Server connecten. Dann hast du Zugriff per smtp.

killer666
18.10.04, 21:29
Sieht so aus,

hab mir Tool von Bennett Todd mal angesehen, damit kannst du einem postfix beibringen, pop-before-smtp als Server zu akzeptieren, in deinem Fall willst du aber pop-before-smtp als Client haben, und dies scheint damit nicht abgedeckt zu sein.
Hmmm,

kleiner aber ausschlaggebender Unterschied...das hatte ich nicht beachtet.

Naja,a lso ich hatte eh vor fetchmail als Daemon laufen zu lassen. Die frage ist nur mus der SMTP Zugriff direkt nach dem POP Zugriff erfolgen ?
Wenn nicht hätte ich ja mit z.B. 5 Min Intervallen vom Fetchmail Daemon den SMTP Zugriff abgedeckt ... vorrausgesetzt der Prover-Mailserver speichert die IP ca. 5 Min. ...

killer

Terran Marine
19.10.04, 00:49
Naja,a lso ich hatte eh vor fetchmail als Daemon laufen zu lassen. Die frage ist nur mus der SMTP Zugriff direkt nach dem POP Zugriff erfolgen ?
Wenn nicht hätte ich ja mit z.B. 5 Min Intervallen vom Fetchmail Daemon den SMTP Zugriff abgedeckt ... vorrausgesetzt der Prover-Mailserver speichert die IP ca. 5 Min. ...


Eine 5 Minuten Zeitspanne müsste auf jeden Fall drin, ich hatte auch mal irgendwo was von 15 Minuten so als Standard-Default für pop-before-smtp gelesen, zu Not einfach mal beim Provider nachfragen.

Gruß
Terran

killer666
22.10.04, 17:40
So,

ich denke mal das ich mit einer 5, bzw 10 Minuten Spanne sehr gut hinkomme.
Um dem ganze noch einen kleinen Abschluss zu geben, hier die eMail von meinem Provider:

Sehr geehrter Kunde,

vielen Dank für Ihre Anfrage vom 19.10.2004

Aus Sicherheitsgründen verwendet Strato für das versenden von Mails via SMTP die Authentifizierungsmethode "SMTP after POP". Nach der Authentifizierung am POP3-Server sind Sie für ca. 15 Minuten authentifiziert E-Mails unter einer Adresse, die zu Ihrer entsprechenden Strato-Domain gehört, zu versenden.


Ich muss sagen, schnelle und kompetente Antwort ...
Mittlerweile habe ich meinen Mailserver soweit am laufen, sogar AvMailGate ist schon integriert ...
Danke euch für die Hilfe

killer