[Postfixbuch-users] postfix will keine Mails von mir relayen

Marc Samendinger marc.samendinger at sp-online.de
Di Okt 12 12:38:26 CEST 2004


On Tue, Oct 12, 2004 at 11:00:43AM +0200, Mark Riemann wrote:
> Andreas Meyer schrieb:
> >Muß da nicht links und rechts vom = ein Leerzeichen hin?
> 
> Ja, aber ich habe diese Zeile jetzt erst einmal sowieso entfernt 
> (auskommentirert). Damit steht folgendes in der maillog, wenn ich dem 

Damit fällt smtpd_recipient_restrictions eigentlich auf den default Wert
zurück.

smtpd_recipient_restrictions = 
  permit_mynetworks,
  reject_unauth_destination

> Oct 12 09:01:14 meineDomain postfix/local[22498]: 8EA3B38F06F8: 
> to=<testuser at meineDomain .de>, orig_to=<testuser>, relay=local, 
> delay=10, status=sent (
> delivered to mailbox)

an testuser at meineDaomain.de

> Und wenn ich dann schließlich diese Mail mit meinem Mozilla-Client 
> abhole steht folgendes in der /var/log/messages:
> -- SCHNIPP --
> Oct 12 09:02:04 meineDomain popa3d[6914]: Authentication passed for 
> testuser from 172.177.251.146
> Oct 12 09:02:04 meineDomain popa3d[6914]: 1 message (373 bytes) loaded
> Oct 12 09:02:05 meineDomain popa3d[6914]: 0 (0) deleted, 1 (373) left
> -- SCHNAPP --
> 
> Damit habe ich also erfolgreich per POP eine Mail abgeholt. Aber das hat 
> ja bislang noch nichts mit dem pop-before-smtp Deamon zu tun. Der fängt 
> ja erst an zu arbeiten, wenn ich versuche auf Port 25 eine Mail an 
> Postfix zu schicken - oder?

Nein, der pop-before-smtp daemon muss beim abholen der E-Mail die IP
Adresse des Clients aus den Logfiles lesen, und in sein Datenbänkchen
schreiben. Danach kann der Client eine Mail per SMTP verschicken
pop-"before"-smtp.

Postfix benutzt nachher die Datenbank des pop-before-smtp daemon um sich
die IP Adressen rauszuziehen die relayen dürfen.

> Deswegen habe ich jetzt mal versucht mit meinem Mozilla 'ne Mail 
> abzuschicken (und zwar von zu Hause mit Moz. an einen User auf meinem 
> Server). Hat eigentlich auch funktioniert. Nur leider ist die Mail nicht 
> angekommen, da sie gebounced wurde. Siehe den Eintrag in /var/log/maillog:

Da Du an deine eigenen User schickst hat das überhaupt nichts mit dem
pop-before-smtp daemon (oder relaying) zu tun, da in deiner momentanen
Konfiguration jeder an deine User schicken darf. Was im Grunde ja auch gut
ist (abgesehen von Spammern).

> Oct 12 10:28:04 meineDomain postfix/smtp[27843]: 72B3F38F06F7: 
> to=<divejbba at mail.meineDomain.de>, relay=none, delay=0, status=bounced 
> (mail for mail.meineDomain.de loops back to myself)

divejbba at mail.meineDomain.de
         ^^^^
er weiss nicht was er mit der Mail anfangen soll.

> Das sie gebounced wird, liegt bestimmt an meiner main.cf. Im Moment 
> stört mich das noch nicht so sehr, da ich ja eigentlich erst einmal 
> überprüfen möchte, ob mein pop-before-smtp funktioniert.
> 
> Jetzt meine Fragen:
> 1.) Wenn ich das Buch richtig verstanden habe, müsste doch jetzt (nach 
> der Einlieferung der Mail und ihrer Ablehnung durch Postfix) der 
> pop-before-smtp Deamon aktiv geworden sein, da ja Postfix anhand seiner 
> main.cf die Mail abgewiesen (gebounced) hat?

Nein, das eine hatte mit dem anderen überhaupt nichts zu tun. Die Mail
wurde abgewiesen, da in deiner Konfiguration ein Knopf drin ist.
Zeig man postconf -n und sag uns für welche Domänen mail angenommen
werden soll.

> 2.)Deswegen müsste es doch eigentlich einen IP-Eintrag in der 
> /etc/postfix/pop-before-smtp.db geben?

Wenn dein pop-before-smtp daemon richtig läuft sollte es den nach einer
erfolgreichen Abholung geben. Hol mit deinem Mozilla von Hause mal Mail
ab und schau dann in das logfile des pop-before-smtp daemon.

> 3.) Die pop-before-smtp.db ist ja eine Binär-Datei. Wie (mit welchem 
> Befehl) kann ich denn nachschauen, ob und welcher Eintrag gemacht wurde 
> seitens des pop-before-smtp Deamons?

Es gibt mit Sicherheit einen eleganteren Weg, aber mit strings
(man 1 strings) kannst du in binär Dateien nach "printable characters"
schauen.
# strings /etc/postfix/pop-before-smtp.db
sollte dir zumindest mal anzeigen ob was drin steht. (glaub ich ;)
 
> >Wenn keine Einträge im logfile von pop-before-smtp zu finden sind und
> >das debugging eingeschaltet ist, stimmt was nicht. Läuft der daemon?
> >Werden die pop-Versuche im maillogfile notiert?
> 
> Genau das ist das Problem. Es werden keine Einträge in 
> /var/log/pop-before-smtp gemacht aber auch keine in /var/log/messages 
> beim Versenden. Das müsste doch aber eigentlich genau der Fall sein bei 
> POP bevor SMTP. Denn beim Einliefern der Mail müsste zuerst der popa3d 
> aktiv werden und einen Eintrag in der /var/log/messages hinterlassen. 

Der popa3d wird beim _Abholen_ aktiv und sollte dann seinen Eintrag ins
mail log file machen. POP3 abholen von E-Mails SMTP senden bzw empfangen
von E-Mails.

> Anschließend müsste der pop-before-smtp Deamon aktiv werden, die IP nach 
> /etc/postfix/pop-before-smtp.db schreiben, und sich in der 
> /var/log/pop-before-smtp verewigen.

Nach dem Abholen, ja.

> Ja der pop-before-smtp Deamon läuft definitiv:
> -- SCHNIPP --
> meineDomain > ps -aux | grep before
> root       994  0.0  0.0  6920 4636 ?        S    Oct11   0:00 
> /usr/bin/perl -wT /usr/sbin/pop-before-smtp 
> --daemon=/var/run/pop-before-smtp.pid
> -- SCHNAPP --
> 
> Ja in der maillog werden Einträge vorgenommen - siehe dazu oben ...

Wenn der pop-before-smtp daemon nicht sauber arbeitet vielleicht mal
nach der regex schauen, ob die mit deinem pop server zusammenpasst.

Wenn dein pop-before-smtp daemon läuft und dein Postfix weiss was es mit
den Mails tun soll die es annimt, dann kannst du pop-before-smtp in dein
Postfix einbinden.

> MfG
> Mark

HTH
marc



Mehr Informationen über die Mailingliste Postfixbuch-users