Archiv verlassen und diese Seite im Standarddesign anzeigen : Benachrichtigungsemail Base64 encoded?
Hallo,
ich habe gerade ein seltsames Problem. Es scheint, dass ab 3.05 Benachrichtigungsemails bei neuen Posts in einem Thread Base64 encoded sind.
bei mir (The Bat!) sehen die so aus:
Hallo bugtrace,
Security-Bot hat auf das Thema 'einfach ignorieren (test)' im Forum 'WoG - Allgemeine Diskussion' bei [42] Forum geantwortet.
Dieses Thema ist hier zu finden:
http://www.42er.org/forum/showthread.php?t=9007&goto=newpost
Dies ist der Beitrag, der gerade geschrieben wurde:
***************
...
***************
Es könnte noch weitere Antworten auf das Thema geben, jedoch erhalten Sie keine zusätzlichen Benachrichtigungen, bis Sie das Forum wieder besucht haben.
Mit freundlichen Grüßen
Ihr [42] Forum Team
bei Outlook jedoch so:
SGFsbG8gYnVndHJhY2UsCgpTZWN1cml0eS1Cb3QgaGF0IGF1ZiBkYXMgVGhlbW
EgJ2VpbmZhY2gg
aWdub3JpZXJlbiAodGVzdCknIGltIEZvcnVtICdXb0cgLSBBbGxnZW1laW5lIE
Rpc2t1c3Npb24n
IGJlaSBbNDJdIEZvcnVtIGdlYW50d29ydGV0LgoKRGllc2VzIFRoZW1hIGlzdC
BoaWVyIHp1IGZp
bmRlbjoKaHR0cDovL3d3dy40MmVyLm9yZy9mb3J1bS9zaG93dGhyZWFkLnBocD
90PTkwMDcmZ290
bz1uZXdwb3N0CgpEaWVzIGlzdCBkZXIgQmVpdHJhZywgZGVyIGdlcmFkZSBnZX
NjaHJpZWJlbiB3
dXJkZToKKioqKioqKioqKioqKioqCi4uLgoqKioqKioqKioqKioqKioKCgpFcy
Brw7ZubnRlIG5v
Y2ggd2VpdGVyZSBBbnR3b3J0ZW4gYXVmIGRhcyBUaGVtYSBnZWJlbiwgamVkb2
NoIGVyaGFsdGVu
IFNpZSBrZWluZSB6dXPDpHR6bGljaGVuIEJlbmFjaHJpY2h0aWd1bmdlbiwgYm
lzIFNpZSBkYXMg
Rm9ydW0gd2llZGVyIGJlc3VjaHQgaGFiZW4uCgpNaXQgZnJldW5kbGljaGVuIE
dyw7zDn2VuCgpJ
aHIgWzQyXSBGb3J1bSBUZWFtCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn
5+fn5+fn5+fn5+
ClNpZSBlcmhhbHRlbiBkaWVzZSBFLU1haWwsIGRhIFNpZSBkYXMgVGhlbWEgJ2
VpbmZhY2ggaWdu
b3JpZXJlbiAodGVzdCknIGFib25uaWVydCBoYWJlbi4KCkluZm9ybWF0aW9uZW
4genVyIEFiYmVz
dGVsbHVuZzoKClVtIGRhcyBUaGVtYSBhYnp1YmVzdGVsbGVuLCBrbGlja2VuIF
NpZSBiaXR0ZSBh
dWYgZGllc2VuIExpbms6Cmh0dHA6Ly93d3cuNDJlci5vcmcvZm9ydW0vc3Vic2
NyaXB0aW9uLnBo
cD9kbz11c3ViJnQ9OTAwNwoKVW0gQUxMRSBUaGVtZW4gYWJ6dWJlc3RlbGxlbi
wgIGtsaWNrZW4g
U2llIGJpdHRlIGF1ZiBkaWVzZW4gTGluazoKaHR0cDovL3d3dy40MmVyLm9yZy
9mb3J1bS9zdWJz
Y3JpcHRpb24ucGhwP2RvPXZpZXdzdWJzY3JpcHRpb24mZm9sZGVyaWQ9YWxs
im Header der Mails fand ich folgendes:
X-Mailer: vBulletin Mail via PHP
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64
laesst sich das irgendwie abstellen?
nochmal n Beispiel:
bei mir kommt die Email so an:
Hallo bugtrace,
Security-Bot hat auf das Thema 'wieder n Bugtest (ignorieren)' im Forum 'WoG - Allgemeine Diskussion' bei [42] Forum geantwortet.
Dieses Thema ist hier zu finden:
http://www.42er.org/forum/showthread.php?t=9014&goto=newpost
Dies ist der Beitrag, der gerade geschrieben wurde:
***************
warum geht das schon wieder nicht...
***************
Es könnte noch weitere Antworten auf das Thema geben, jedoch erhalten Sie keine zusätzlichen Benachrichtigungen, bis Sie das Forum wieder besucht haben.
Mit freundlichen Grüßen
Ihr [42] Forum Team
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sie erhalten diese E-Mail, da Sie das Thema 'wieder n Bugtest (ignorieren)' abonniert haben.
Informationen zur Abbestellung:
Um das Thema abzubestellen, klicken Sie bitte auf diesen Link:
http://www.42er.org/forum/subscription.php?do=usub&t=9014
Um ALLE Themen abzubestellen, klicken Sie bitte auf diesen Link:
http://www.42er.org/forum/subscription.php?do=viewsubscription&folderid=all
RAW sieht sie so aus:
From wwwrun@lopez.justbe3.com Tue Jan 11 10:52:55 2005
Return-Path: <wwwrun@lopez.justbe3.com>
X-Original-To: testmail42@lopez.justbe3.com
Delivered-To: testpipe@lopez.justbe3.com
Received: from lopez.justbe3.com ([127.0.0.1])
by localhost (lopez [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
id 14028-01 for <testmail42@lopez.justbe3.com>;
Tue, 11 Jan 2005 10:52:54 +0100 (CET)
Received: by lopez.justbe3.com (Postfix, from userid 30)
id 633599725; Tue, 11 Jan 2005 10:52:54 +0100 (CET)
To: testmail@42er.org
Subject: Neue Antwort im Thema 'wieder n Bugtest (ignorieren)'
From: "[42] Forum Mailer" <webmaster@42er.org>
Message-ID: <200501110953.b3ffaf954741@www.42er.org>
X-Priority: 3
X-Mailer: vBulletin Mail via PHP
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64
Date: Tue, 11 Jan 2005 10:52:54 +0100 (CET)
X-Virus-Scanned: by amavisd-new at justbe3.com
SGFsbG8gYnVndHJhY2UsCgpTZWN1cml0eS1Cb3QgaGF0IGF1ZiBkYXMgVGhlbWEgJ3dpZWRlciBu
IEJ1Z3Rlc3QgKGlnbm9yaWVyZW4pJyBpbSBGb3J1bSAnV29HIC0gQWxsZ2VtZWluZSBEaXNrdXNz
aW9uJyBiZWkgWzQyXSBGb3J1bSBnZWFudHdvcnRldC4KCkRpZXNlcyBUaGVtYSBpc3QgaGllciB6
dSBmaW5kZW46Cmh0dHA6Ly93d3cuNDJlci5vcmcvZm9ydW0vc2hvd3RocmVhZC5waHA/dD05MDE0
JmdvdG89bmV3cG9zdAoKRGllcyBpc3QgZGVyIEJlaXRyYWcsIGRlciBnZXJhZGUgZ2VzY2hyaWVi
ZW4gd3VyZGU6CioqKioqKioqKioqKioqKgp3YXJ1bSBnZWh0IGRhcyBzY2hvbiB3aWVkZXIgbmlj
aHQuLi4KKioqKioqKioqKioqKioqCgoKRXMga8O2bm50ZSBub2NoIHdlaXRlcmUgQW50d29ydGVu
IGF1ZiBkYXMgVGhlbWEgZ2ViZW4sIGplZG9jaCBlcmhhbHRlbiBTaWUga2VpbmUgenVzw6R0emxp
Y2hlbiBCZW5hY2hyaWNodGlndW5nZW4sIGJpcyBTaWUgZGFzIEZvcnVtIHdpZWRlciBiZXN1Y2h0
IGhhYmVuLgoKTWl0IGZyZXVuZGxpY2hlbiBHcsO8w59lbgoKSWhyIFs0Ml0gRm9ydW0gVGVhbQoK
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpTaWUgZXJoYWx0ZW4gZGllc2Ug
RS1NYWlsLCBkYSBTaWUgZGFzIFRoZW1hICd3aWVkZXIgbiBCdWd0ZXN0IChpZ25vcmllcmVuKScg
YWJvbm5pZXJ0IGhhYmVuLgoKSW5mb3JtYXRpb25lbiB6dXIgQWJiZXN0ZWxsdW5nOgoKVW0gZGFz
IFRoZW1hIGFienViZXN0ZWxsZW4sIGtsaWNrZW4gU2llIGJpdHRlIGF1ZiBkaWVzZW4gTGluazoK
aHR0cDovL3d3dy40MmVyLm9yZy9mb3J1bS9zdWJzY3JpcHRpb24ucGhwP2RvPXVzdWImdD05MDE0
CgpVbSBBTExFIFRoZW1lbiBhYnp1YmVzdGVsbGVuLCAga2xpY2tlbiBTaWUgYml0dGUgYXVmIGRp
ZXNlbiBMaW5rOgpodHRwOi8vd3d3LjQyZXIub3JnL2ZvcnVtL3N1YnNjcmlwdGlvbi5waHA/ZG89
dmlld3N1YnNjcmlwdGlvbiZmb2xkZXJpZD1hbGw=
wie gesagt kommt mein Emailprogramm (The Bat!) damit wunderbar klar, nur anscheinend Outlook und manche Free-Webmailer nicht.
ich hab gerade mal Amavis als Postfix Content-Filter rausgenommen um sicherzugehen, dass es nicht daran liegt. Hat nix geholfen, der Fehler scheint seitens VBulletin zu sein.
Ich tippe darauf, dass es am doppelten Content-Type Header liegt:
X-Priority: 3
X-Mailer: vBulletin Mail via PHP
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64
Date: Tue, 11 Jan 2005 11:08:44 +0100 (CET)
Dazu finden sich auch Einstellungen in der php.ini. Vielleicht ist dort etwas falsch.
danke fuer den Tip, finde dort aber nur
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_paramaters =
konnte keine weiteren mail / sendmail / content / mime - spezifischen Eintraege finden. Hier die phpinfo() des Servers (http://phpinfo.justbe3.com).
Vielleicht ist noch folgender Abschnitt interessant, der bei mir so aussieht:
; As of 4.0b4, PHP always outputs a character encoding by default in
; the Content-type: header. To disable sending of the charset, simply
; set it to be empty.
;
; PHP's built-in default is text/html
default_mimetype = "text/html"
;default_charset = "iso-8859-1"
jo der is bei mir auch so
; PHP's built-in default is text/html
default_mimetype = "text/html"
;default_charset = "iso-8859-1"
hat aber wohl weniger was mit dem mail-content encoding als mit den http-Headern bei der Ausgabe per Webserver zu tun.
hat aber wohl weniger was mit dem mail-content encoding als mit den http-Headern bei der Ausgabe per Webserver zu tun.
Ist wohl auch so... Hmm.
mmh habe gerade mal die Sourcen von VB 3.03 und 3.05 verglichen und kann dabei im Mail-Teil (includes/functions.php Zeile 1360)
nur 1 geaenderte Zeile finden.
rot = neu in VB 3.05
$headers .= "X-Priority: 3" . $delimiter;
$headers .= "X-Mailer: vBulletin Mail via PHP" . $delimiter;
$headers .= 'MIME-Version: 1.0' . $delimiter;
$headers .= 'Content-Type: text/plain' . iif($encoding, "; charset=\"$encoding\"") . $delimiter;
$headers .= "Content-Transfer-Encoding: 8bit" . $delimiter;
bzgl. BASE64 encoding fand ich zwar 3 Funktionsaufrufe
./includes/functions.php:1286: $subject = inline_mime_encode($subject, 'utf-8');
./includes/functions.php:1308: $mailfromname = inline_mime_encode($mailfromname, 'utf-8');
./includes/functions.php:1332: $mailfromname = inline_mime_encode($mailfromname, 'utf-8');
aber die Funktionalitaet ist standardmaessig schon komplett auskommentiert und bezog sich sowieso nur auf From und Subject, nicht aber auf den Body.
// ###################### Start inline_mime_encode ####################
function inline_mime_encode($str, $encoding = 'utf-8')
{
//return "=?$encoding?B?" . base64_encode($str) . "?=";
// it seems that a lot of mail clients still take issue with utf-8 in headers,
// so we're not going to do any inline translation...
return $str;
}
tja... und nun bin ich noch ratloser als zuvor!
Die Zeile
$headers .= 'MIME-Version: 1.0' . $delimiter;
wurde hinzugefügt, damit Anti-Spamsoftware die Mails nicht als Spam markiert, was vereinzelt vorgekommen sein soll, wenn ich mich nicht irre. Hat also mit deinem Problem nix zu tun.
ich hab mal ein paar Zeilen in die mail Funktion von VB eingebaut um zu sehen ob VB denn die Mail sauber baut...
function Mail($toemail, $subject, $message, $headers, $fromemail, $minusf = false)
{
if ($minusf)
{
$this->success = @mail($toemail, $subject, $message, trim($headers), "-f $fromemail");
}
else
{
$this->success = @mail($toemail, $subject, $message, trim($headers));
}
// Bugsuche
$bug = fopen('/tmp/testmails/vbulletin_output', 'a');
fwrite($bug, $toemail."\n\n\n");
fwrite($bug, $subject."\n\n\n");
fwrite($bug, trim($headers)."\n\n\n");
fwrite($bug, $message);
fclose($bug);
}
}
soweit scheint die Mail ok:
...
From: "[42] Forum Mailer" <webmaster@42er.org>
Return-Path: webmaster@42er.org
Message-ID: <200501111155.03735f939899@www.42er.org>
X-Priority: 3
X-Mailer: vBulletin Mail via PHP
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
Hallo bugtrace,
Security-Bot hat auf das Thema 'wieder n Bugtest (ignorieren)' im Forum 'WoG - Allgemeine Diskussion' bei [42] Forum geantwortet.
Dieses Thema ist hier zu finden:
http://www.42er.org/forum/showthread.php?t=9014&goto=newpost
Dies ist der Beitrag, der gerade geschrieben wurde:
***************
00000000000000000
***************
...
nun ist die Frage wo sie danach 'verstuemmelt' - sprich nochmal encoded wird.
die Verdaechtigen:
PHP 4.3.10 mail() Funktion
Modul Cleanup von Postfix
MrZeropage
11.01.2005, 13:24
Super Thema, mal anders gefragt - ich würde gerne alle Mails verschlüsseln, wie mache ich das ? :)
Super Thema, mal anders gefragt - ich würde gerne alle Mails verschlüsseln, wie mache ich das ? :)
mmh... womit verschluesseln?
Kannst ja schlecht alle Emails mit einem Schluessel verschluesseln. Und fuer jeden User nen eigenen Schluessel... duerfte bissel haarig werden. Ausserdem bezweifle ich, dass all deine User in der Lage sind / das Programm haben / ... die Emails wieder zu entschluesseln.
erm falls du BASE64 encoded meinst, das ist keine Verschluesselung im Kryptographischen Sinne.
mein Problem hat sich mittlerweile geloest.
Der Schuldige war das PHP-Modul MBSTRING.
aus der php.ini
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
; mbstring.func_overload = 7
gesetzt war damals
mbstring.func_overload = 7
es wurde also die PHP-Funktion mail() durch mb_send_mail() ersetzt, was die zusaetzliche BASE64 Kodierung verursachte. Nachdem ich das auskommentiert habe laeuft wieder alles einwandfrei.
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.