simplenews: Merkwürdiger Absender nach function mime_header_encode
Eingetragen von tomx (771)
am 21.10.2008 - 01:57 Uhr in
am 21.10.2008 - 01:57 Uhr in
Ich verwende die aktuelle Version von simple news. Als Absender ist dann so etwas eingetragen:
=?UTF-8?B?QsO8cmdlcmluaXRpYXRpdmUgYmVkaW5ndW5n...server-domain.net
Hat jemand einen Tipp was da schief läuft?
- Anmelden oder Registrieren um Kommentare zu schreiben
Wo kommt dieser Absender
am 23.10.2008 - 12:46 Uhr
Wo kommt dieser Absender her???
Java Script ?
am 23.10.2008 - 13:17 Uhr
Einfach so ins Blaue hinein: Verwendest du ein Modul zum unterdrücken von Spam? Es könnte sein, das dann über Java Script die E-Mail Adresse geändert wird. Das würde bedeuten, dass sich die Module beißen, oder Fehleinstellungen gemacht wurden.
Nein, es wird keine
am 27.10.2008 - 19:31 Uhr
Nein, es wird keine Anti-Spammodul verwendet.
Hat noch jemand weitere Lösungsansätze?
base64_encode()
am 27.10.2008 - 20:10 Uhr
Hat noch jemand weitere Lösungsansätze?
Nachfolgendes habe ich gefunden. Dies soll meistens verwendet werden, um den Namen des Senders/Empfängers und Subject einer E-Mail in UTF8 mitzugeben. Es ist das Ergebnis von
'=?UTF-8?B?'.base64_encode($name)
Diesen, oder ähnlichen, Code habe ich aber nirgends in Drupal und Module entdeckt, aber vielleicht kannst du damit was anfangen.
@RainMan Danke für Deine
am 27.10.2008 - 21:03 Uhr
@RainMan
Danke für Deine Antwort.
Diese folgende Funktion ist diejeige, welche diesen "Mist" verzapft und findet sich in includes/unicode.inc
246 function mime_header_encode($string) {
247 if (preg_match('/[^\x20-\x7E]/', $string)) {
248 $chunk_size = 47; // floor((75 - strlen("=?UTF-8?B??=")) * 0.75);
249 $len = strlen($string);
250 $output = '';
251 while ($len > 0) {
252 $chunk = truncate_utf8($string, $chunk_size);
253 $output .= ' =xxxUTF-8?B?'. base64_encode($chunk) ."?=\n";
254 $c = strlen($chunk);
255 $string = substr($string, $c);
256 $len -= $c;
257 }
258 return trim($output);
259 }
260 return $string;
261 }
nehme ich diese Zeile heraus:
<?php
253 $output .= ' =xxxUTF-8?B?'. base64_encode($chunk) ."?=\n";
?>
ist der Absender richtig.
Was ist den der Sinn dieser Funktion und warum könnte sie diesen Fehler produzieren im Zusammenhang mit simplenews?
Update?
am 27.10.2008 - 21:44 Uhr
... folgende Funktion ist diejeige, welche diesen "Mist" verzapft und findet sich in includes/unicode.inc ...
$output .= ' =xxxUTF-8?B?'. base64_encode($chunk) ."?=\n";
Das kodieren funktioniert ja augenscheinlich, nur das dekodieren scheint zu haken. Hast du in der letzten Zeit ein Drupal Update gemacht, z.B. auf 5.12? Vielleicht hat es bei der Übertragung einen Fehler gegeben. Sicherheitshalber würde ich zumindest die unicode.php neu aufspielen, wenn nicht sogar das Update wiederholen.
Auf drupal.org hast du gepostet? Näheres zu der Funktion gibt es von 1996 unter http://www.rfc-editor.org/rfc/rfc2047.txt
RainMan@drupal.org
am 28.10.2008 - 20:14 Uhr
... Hast du in der letzten Zeit ein Drupal Update gemacht, z.B. auf 5.12? ...
Ja, auf 5.12. Allerdings klappt alles wenn Mails über das Mailformular von drupal versendet werden, so dass anzunehmen ist, dass der Fehler bei dem Modul simplenews liegt. Bloß wo?
Simple News Absender korrekt aber Betreff fehlt!
am 17.02.2011 - 12:48 Uhr
Ich habe nach obiger Anweisung in der Datei includes/unicode.inc die Zeile 252 (// $output .= ' =?UTF-8?B?'. base64_encode($chunk) ."?=\n";) auskommentiert.
Nun haben die Mails von Simplenews (Drupal 5) keine Betreffzeile mehr, bzw. eine leere!
Der Absender ist ok.
HILFE!
------------------
www.pixelhorse.de / grafik / webdesign
[gelöst] simplenews merkwürder absender
am 18.02.2011 - 11:27 Uhr
hallo,
für drupal6 gilt auf jeden fall folgendes: in der datei includes/unicode.inc ab zeile 272 steht folgendes:
* Notes:
* - Only encode strings that contain non-ASCII characters.
* - We progressively cut-off a chunk with truncate_utf8(). This is to ensure
* each chunk starts and ends on a character boundary.
* - Using \n as the chunk separator may cause problems on some systems and may
* have to be changed to \r\n or \r.
*/
also habe ich in zeile 286 das \n durch ein \r ersetzt, und dann wurde der absender richtig angezeigt.
lg
iwasnet
---
computer & communication
http://www.com-and-com.com
Gelöst!
am 18.02.2011 - 12:36 Uhr
Ja, das funktioniert auch in Drupal 5!
1000 Dank. Ich habe es eingebaut in die oben genannte Zeile und Betreff und Absender werden richtig dargestellt! Wunderbar.
Wahrscheinlich sollte man auf 6 umsteigen...
------------------
www.pixelhorse.de / grafik / webdesign