Emailbenachrichtigung

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Emailbenachrichtigung
Ich habe die Emailbenachrichtigung für Antworten aktiviert und die Mails die bei mir ankommen scheinen ein wenig kaputt zu sein. Die Mail beinhaltet zwei Message-IDs und der From Eintrag steht zwar drin, wird aber vom Thunderbird nicht ausgewertet:

Return-Path: <nobody@fsi.informatik.uni-erlangen.de>
Delivery-Date: Sat, 07 Oct 2006 12:46:47 +0200
Received-SPF: none (mxeu22: 131.188.40.90 is neither permitted nor denied by domain of fsi.informatik.uni-erlangen.de) client-ip=131.188.40.90; envelope-from=nobody@fsi.informatik.uni-erlangen.de; helo=fsi.informatik.uni-erlangen.de;
Received: from [131.188.40.90] (helo=fsi.informatik.uni-erlangen.de)
	by mx.kundenserver.de (node=mxeu22) with ESMTP (Nemesis),
	id 0MKr6C-1GW9hd2nd4-0008AY for erik@e-merkel.de; Sat, 07 Oct 2006 12:46:47 +0200
Received: by fsi.informatik.uni-erlangen.de (Postfix, from userid 99)
	id 1F4CD40E8BD; Sat,  7 Oct 2006 12:46:46 +0200 (CEST)
To: erik@e-merkel.de
Subject: Neuer Beitrag zu: XXX
Content-Type: text/plain; charset="UTF-8"
Message-ID: <0MKr6C-1GW9hd2nd4-0008AY@mx.kundenserver.de>
Date: Sat, 07 Oct 2006 12:46:45 +0200
Envelope-To: erik@e-merkel.de
X-SpamScore:   0

From: "FSI-Informatik-Forum" <forum@fsi.informatik.uni-erlangen.de>
Message-Id: <20061007104646.1F4CD40E8BD@fsi.informatik.uni-erlangen.de>
Date: Sat,  7 Oct 2006 12:46:46 +0200 (CEST)

Hallo Erik,
XXX hat einen Beitrag zum Thema „XXX“ im Forum „XXX“ geschrieben, das du beobachtest.
Mit folgendem Link kannst du den Beitrag lesen:

http://fsi.informatik.uni-erlangen.de/forum/post/XXX

Du wirst keine weiteren Benachrichtigungen zu diesem Thema erhalten, bis du die neuen Beiträge gelesen hast.
Um das Thema nicht weiter zu beobachten, kannst du die Funktion auf der angegebenen Seite deaktivieren.

Geht das nochjemanden so? Mein Spamfilter reagiert nämlich ein wenig allergisch auf fehlende Froms…

Gruß, Erik.


Ich hab das nicht konfiguriert, aber es sieht so aus, als würde der Mailserver hier keine Mail-Header akzeptieren. Werd da bei Gelegenheit mal reinschauen.


Würd sagen, das ist das klassische \n \r\n - Problem. \r\n steht in der spec wird aber in \n\n umgewandelt. Vgl:

Da die Messigeid im abgeschnittenen Teil des Headers steht ist es wohl wirklich ein Problem mit dem Mailserver

From - Wed Mar 14 11:20:17 2007
X-Account-Key: account1
X-UIDL: 490f7af43d5d822f0961ccfe5fda3bff
X-Mozilla-Status: 0003
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Return-Path: nobody@fsi.informatik.uni-erlangen.de
X-Flags: 1001
Delivered-To: GMX delivery to mortyweb@gmx.net
Received: (qmail 9109 invoked by alias); 14 Mar 2007 10:14:25 -0000
Delivered-To: GMX delivery to morty@gmx.de
Received: (qmail invoked by alias); 14 Mar 2007 10:14:25 -0000
Received: from fsi.informatik.uni-erlangen.de (EHLO fsi.informatik.uni-erlangen.de) [131.188.40.90]
by mx0.gmx.net (mx001) with SMTP; 14 Mar 2007 11:14:25 +0100
Received: by fsi.informatik.uni-erlangen.de (Postfix, from userid 99)
id 5DC0D1A0183; Wed, 14 Mar 2007 11:14:25 +0100 (CET)
To: morty@gmx.de
Subject: Nachricht von Niri
Content-Type: text/plain; charset=“UTF-8”
Date: Wed, 14 Mar 2007 11:14:25 +0100
Message-ID: 20070314101425.9085gmx1@mx001.gmx.net
X-GMX-Antivirus: -1 (not scanned, may not use virus scanner)
X-GMX-Antispam: -2 (not scanned, spam filter disabled)
X-Resent-By: Forwarder forwarder@gmx.de
X-Resent-For: morty@gmx.de
X-Resent-To: mortyweb@gmx.net
X-GMX-UID: ZqKSBOwdfW4o35Wuc2RocTlmdmllckVO

From: “FSI-Informatik-Forum” forum@fsi.informatik.uni-erlangen.de

Reply-to: richtige_Email@web.de

Precedence: bulk
Message-Id: 20070314101425.5DC0D1A0183@fsi.informatik.uni-erlangen.de
Date: Wed, 14 Mar 2007 11:14:25 +0100 (CET)


Ich habe bei mir daheim intern auch ein Unclassified NewsBoard laufen. Dort tritt mit mit dem Mailserver das gleiche Problem auf, wenn “PHP mail()-Funktion zum Senden von E-Mails verwenden” aktiviert ist. Bei der expliziten Angabe eines SMTP Servers funktioniert alles. Geht dann da irgendwas schief, wenn die mail() Funktion genommen wird?

Erik.


Verwendet da irgendwer noch qmail? Wenn ja, bitte ändern.

Details dazu: http://newsboard.unclassified.de/forum/post/7315


Also der FSI Server scheint postfix zu verwenden:
Received: by fsi.informatik.uni-erlangen.de (Postfix, from userid 99)
id 5B82D1A0183; Wed, 14 Mar 2007 12:58:28 +0100 (CET)

Und da kommen auch die kaputten Mails her.


Interesting. Ich guck mir das mal an…

fixed?
Gna. Frickelsoftware…

Offensichtlich ist nicht nur qmail, sondern auch postfix (bzw. dessen sendmail-Interface) kaputt in diesem Punkt. Wen die Details interessieren:

  • Das UNB benutzt mail() mit zusätzlichen Headers, mit \r\n separiert (wie in der PHP-Doku (i.A. inkorrekt) beschrieben).

  • mail() fügt weitere Header (To:, Subject:) davor hinzu, separiert diese nun aber mit \n (völlig idiotisch).

  • Diese gesunde \n / \r\n -Mischung wird nun in einen sendmail-Prozess geschrieben (default: „sendmail -t -i“), wobei diese sendmail-Schnittstelle eigentlich von jedem MTA implementiert wird. Nur eben überall ein bisschen anders… (Die sendmail-Schnittstelle ist nicht in der RFC2822 beschrieben, dementsprechend auch nicht, wie Zeilenenden da auszusehen haben.)

  • Postfix und Qmail haben nun die lustige Eigenschaft, dass sie blind jegliches \n mit \r\n ersetzen, bevor sie die Mail an den Ziel-SMTP ausliefern, was aus der gesunden \n / \r\n -Mischung eine noch gesündere \r\n / \r\r\n -Mischung macht. Sehr, sehr lecker. (Andere scheinen das schlauer zu machen und \n nur dann zu ersetzen, wenn kein \r davor kommt.)

  • Die meisten Mail-Tools scheinen diese nichtkonforme Header-Terminierung zu schlucken – nur eben u.a. nicht der AMaViSd vom RRZE, der den Header dann erst so richtig kaputtmacht:

Anderen Mailprogrammen und SMTP-Servern dürfte das ähnlich schlecht schmecken, was in den abgetrennten Headern resultiert, die ihr beobachtet habt.

Langer Rede kurzer Sinn: Ich habe einen Wrapper um /usr/sbin/sendmail gebaut, der einfach sämtliche \r stripped. Bitte berichtet mal, ob es jetzt wieder passt…

(PS: Es gibt auch einen PHP-Bugreport zu dem Thema, der erst kürzlich seinen fünften Geburtstag feiern durfte, da ist das Problem und mögliche Workarounds schön beschrieben.)


Sieht gut aus! Besten Dank!


Horst, ich will deine Arbeit nicht unbedingt unnötig machen (aber zumindest doch zukünftige Installationen vereinfachen)… Ich hab das im UNB jetzt so geändert, dass die mail()-Funktion unter Windows ihr \r\n und unter anderen Systemen nur ein \n bekommt. Wenn schon niemand sonst für das Problem zuständig sein will und diese Lösung funktionieren soll, machen wir das halt so. Wenn dieses Board eine Versionsnummer ab 2007-03-17 zeigt, ist die Änderung mit drin. Und danke für den Link zum PHP-Bug, der Hinweis auf PHP_EOL ganz unten ist doch mal was wert. :slight_smile:


Die Arbeit war ja nicht der sendmail-Wrapper, sondern erst mal rauszufinden, was da überhaupt schiefgeht und wer schuld ist :wink:


Stümmt auch wieder. :slight_smile: