Seite 1 von 1

Umlaute in Topicbenachrichtigungen werden falsch kodiert

Verfasst: 16.08.2005 08:05
von Echelon1010000
Guten Morgen

Ich hab folgendes Problem:
Wenn ein User sich über Antworten zum Topic benachrichtigen laesst und dieses Topic in der Betreffzeile einen Umlaut enthaelt wird in der Mail ein ungueltiger Header erzeugt und mein Mailrelay nimmt die Mail nicht an.
Im mail-Server log sieht das dann so aus:

Code: Alles auswählen

Aug 16 07:23:11 mail postfix/smtp[63958]: A80CE5C2C: to=<echelon1010000@foo.bar>, relay=mx.example.com[1.2.3.4], delay=1, status=bounced (host mx.example.com[1.2.3.4] said: 550 syntax error in header (in reply to end of DATA command))
Ich hab dann ein wenig herumgestoebert und festgestellt das der Mailer aus den Umlauten eine Kodierung mit Backslash macht. Der Backslash ist aber nicht 100% rfc-conform und der Mailrelay nimmt ihn nicht an. Im Mailheader sieht das dann so aus:

Code: Alles auswählen

BAD HEADER Non-encoded 8-bit data (char FC hex) in message header 'Subject': Subject: ...richtigen bei Antworten - B\374cher
Ich hab bis jetzt herausgefunden das das wohl UTF-8 sein könnte. Allerdings weiss ich nicht wie ich dem mailer das abgewöhnen kann damit er "richtig" kodierte Mails verschickt. Vielleicht hat einer von euch eine Idee, im Moment werden ca 50% der Benachrichtigungsmails gebounced,
das ist recht lästig...

Versionsinfo im Anhang, weitere Info gerne auf Anfrage, wusste nicht was sonst noch relevant sein könnte.

Mit freundlichen Gruessen,
Echelon

Verwendetes System:
OS: FreeBSD 5.4-STABLE
HTTPD: Apache 2.1.4
PHP: 4.3.11
MySQL 5.0.3
phpBB: 2.0.17

Verfasst: 19.02.2006 14:41
von Sorro
Hallo Leute,

habe genau das gleiche Problem. Weiss keiner eine Lösung?

Viele Grüße,
Sorro

Verfasst: 11.10.2006 20:46
von eadi
Gibt es schon was neues zu diesem Thema? Ich habe das gleiche Problem...

Verfasst: 12.10.2006 19:46
von Miriam
Vllt solltest Du etwas an der Funktion send() in der emailer.php schrauben.
Dieser Code sieht doch schon als Ansatz ganz gut aus --->

Code: Alles auswählen

$this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\n" : "From: " . $board_config['board_email'] . "\n") . "Return-Path: " . $board_config['board_email'] . "\nMessage-ID: <" . md5(uniqid(time())) . "@" . $board_config['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/plain; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', time()) . "\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\nX-MimeOLE: Produced By phpBB2\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '')  . (($bcc != '') ? "Bcc: $bcc\n" : '');
*gell*

Verfasst: 17.12.2006 18:59
von miketech
Hi,

gibts hierzu schon was neues? Hab dasselbe Problem und weiß nicht, was ich da groß ändern soll.

Gruß

Mike

Verfasst: 04.10.2007 09:49
von jevo
... um das mal wieder aufzukochen ...

ich habe das selbe problem ...

ich habe zwar auf phpbb.com einen thread darüber gefunden, aber das ist mir zu aufwendig ...

die wollen, daß ich meine komplette datenbank zu UTF8 konvertiere und dann alle neuen Topics noch umwandel, daß der kram rfc konform wird ...

ich habe meine datenbank ausversehen schon mal als utf8 eingespielt ... logischerweise werden dann aus allen umlauten und sonderzeichen fragezeichen .. das ist ja auch nicht im sinne des erfinders ...

meiner meinung nach müsste man in der funktion send() an der stelle, wo das subject generiert wird was ändern ... nur steige ich nicht so recht dahinter, was dort genau gemacht wird ...