Zum Inhalt springen

wieder mal anfängerprobleme...Kontaktformular..

Erstellt am 21. Februar 2003 · 13 Antworten · letzte Antwort am 6. Mai 2003

Tags: E-Mail-Versand, Frage

typo_michael ·

ich habe auf meiner seite ein kontaktformular eingefügt, soweit so gut.
funktioniert auch alles, NUR die mail die ich erhalte kann ich nicht entziffern !!!!

hier ein auszug:

Content-Transfer-Encoding: base64
Date: Fri, 21 Feb 2003 20:33:33 +0100 (CET)
X-UIDL: S[/"!%a9"!*A<"!!]#"!

TkFNRTogIFRyYWdlbiBTaWUgYml0dGUgaGllciBJaHJlbiBOYW1lbiBlaW4gIQpFTUFJTDogIG1p
Y2hhZWwuaG9rYW1wQHdlYi5kZQpBRERSRVNTOiAgbGtqbGFzamRsagpGSVJNQTogIHNkc2QKVEVM
RUZPTjogIHNkc2QK

nicht nett, oder ?
Was habe ich flasch gemacht ?

danke für eure bemühungen..

MarkusLange ·

>Was habe ich flasch gemacht ?

flasch hast Du wohl nichts gemacht.
höchstwahrscheinlich verwendest Du css.styled.content.

da gibt es probleme mit formularen
schau auf typo3.org
da gibt es einen workaround

gruss markus

Jtb ·
MarkusLange schrieb

>Was habe ich flasch gemacht ?

flasch hast Du wohl nichts gemacht.
höchstwahrscheinlich verwendest Du css.styled.content.

da gibt es probleme mit formularen
schau auf typo3.org
da gibt es einen workaround

der würgaround würde mich auch interessieren..

robert.​meyer ·

Hallo,

posten Sie hier doch bitte einmal den Template-Bereich, in dem der Inhalt ausgegeben wird und die Anpassungen für das Mailformular getätigt werden.

Jtb ·

na ja, ich habe eigentlich das Problem mit allen Formularen wenn ich css.styled.content aktiviert habe..

Mein Template sieht eigentlich so aus:

lib.stdheader.10.stdWrap.wrap = 
tt_content.stdWrap.dataWrap = <A name="{field:uid}"></a>
styles.content.textStyle
page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/main.css
page.bodyTag = <body>
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/template.html
workOnSubpart = DOCUMENT_BODY
subparts.CONTENT < styles.content.get
subparts.CONTENT.wrap= <div class="bodytext">|</div>

plus Menü halt..

css.styled.content ist schon ganz nett, so dass ich es eigentlich verwenden möchte..

!joerg! ·

Hier werden gerade zwei Sachen durcheinander geworfen:

1. typo3 verwendet hard-coded base64-encoding, deshalb dieser Kauderwelch. Dies kann meiner Meinung nach nur mit einem kleinen Hack im Source-Code verändert werden (bitte berichtigen falls es noch eine andere Möglichkeit gibt.

2. css_styled_content ist momentan noch im beta-stadium und unterstützt noch nicht "MAILFORM".
Als Workaround habe folgenden, FUNKTIONIERENDEN, Tip gefunden (weiss nicht mehr wo).
1. css_styled_content entfernen
2. content (default) und cSet Stylesheet einbinden
3. mailform erstellen und anzeigen lassen
4. im quelltext den form-bereich kopieren
5. content (default) und cSet Stylesheet entfernen
6. css_styled_content einfügen
7. wo formular hinsoll ein HTML-page-content-element einfügen
8. kopierter form-bereich einfügen

Hat bei mir super funktioniert, man muss halt bei etwaigen änderungen alles per hand machen aber dafür muss man nicht auf css_styled_content verzichten.

Hoffentlich hilfts

!joerg!

Jtb ·
!joerg! schrieb

2. css_styled_content ist momentan noch im beta-stadium und unterstützt noch nicht "MAILFORM".
Als Workaround habe folgenden, FUNKTIONIERENDEN, Tip gefunden (weiss nicht mehr wo).
1. css_styled_content entfernen
2. content (default) und cSet Stylesheet einbinden
3. mailform erstellen und anzeigen lassen
4. im quelltext den form-bereich kopieren
5. content (default) und cSet Stylesheet entfernen
6. css_styled_content einfügen
7. wo formular hinsoll ein HTML-page-content-element einfügen
8. kopierter form-bereich einfügen

und hat damit ein CMS ad absurdum geführt..
na ja, warte ich halt auf eine neue Version 😉

Mathias netfielders ·
Jtb schrieb

na ja, warte ich halt auf eine neue Version 😉

das wird aber nichts daran ändern, dass Typo immer noch alle Mails als Base64 verschickt.
Damit hat auch CSSSC nichts zu tun, der Workaround ist also keine Hilfe für dein Problem.

Wenn dein MailClient kein Base64 kann, ist das ein Problem.
Alternative a) MailClient wechseln
Alternative b) Base64 Encoding von hand raus.

Dazu extendest du die Klasse t3lib_htmlmail und machst einen Override auf die function encodeMsg und function useBase64.

Viel erfolg
peace
Mathias

!joerg! ·

Jtb:
Warum wird dadurch denn ein CMS ad adsurdum geführt? css_styled_content ist für viele Anwender einfach besser zu gebrauchen. Und solange es noch nicht fertig ist, ist dies meiner Meinung nach ein möglicher Weg um auch ein Kontaktformular nutzen zu können. CMS heißt für mich nicht WYSIWYG.

Mathias:
es gibt auch folgende Möglichkeit:
In der Datei "class.t3lib_formmail.php" in der Funktion "start" die erste Zeile (if($base64) {$this->useBase64();}) auskommentieren und nach der nächsten if-Anweisung folgendes eingeben:
if(!isset($V["printable"])) {
$this->useBase64();
}

Damit ist das Standardverhalten der Klasse nicht verändert und wenn man nun in einem Formular als hidden-Feld "printable" einträgt wird nicht base64 genutzt.

!joerg! ·

Jtb:

Zu früh am Morgen. Habe deine Meinung bzgl. CMS auf den HTML-Code bezogen. Nun nach einer Tasse Kaffee denke ich, Du meinst den fest geschriebenen Eintrag von "target" und "locationData". Wenn es so ist, muss ich Dir recht geben. Bei einer Änderung muss dies ebenfalls angepasst werden und geht dann gegen den Sinn weshalb man überhaubt ein CMS wie Typo3 einsetzt.

Jedoch ist dies meiner Meinung nach als Ausnahme zu vertreten.

!joerg!

SNo0py ·
Jtb schrieb

und hat damit ein CMS ad absurdum geführt..

Ich stimme hier vollkommen zu - aber dazu gibt's OpenSource -> einfach ausbessern & Feedback geben, der/die/das bessere setzt sich durch...

Zum Kontaktformular sowieso noch eine Anmerkung bzw. Frage: im Formular steht die Empfänger-Adresse in Plain-Text, das führt meiner Meinung nach zu 2 Problemen, die auch gefixt gehören:

*) Spam-Spider werden die Adresse finden und der Anteil an Spam steigt an

*) Die Empfänger-Adresse lässt sich durch eine andere ersetzen -> man kann spammen... 🙁

Mathias netfielders ·
!joerg! schrieb

Damit ist das Standardverhalten der Klasse nicht verändert und wenn man nun in einem Formular als hidden-Feld "printable" einträgt wird nicht base64 genutzt.

richtig, aber beim nächsten Typo3 Update fliegt dir deine neue Funktionalität um die Ohren.
Daher: Extension schreiben, Klasse extenden und ut is.

Abgesehen davon, das du per Extension diese Funktionalität ohne Probleme in zig Typo3 Installs bringen kannst, ohne jedes mal den Code anzufassen.

!joerg! ·

Hi Mathias,

OK hast recht. Bin erst seit zwei Wochen mit Typo am Arbeiten und hatte deshalb etwas Scheu vor: "Schreib halt einfach ne Extension!"

Aber jetzt:
Die Extension heißt: Quoted Printable Form Mail (jr_qp_form_mail).
Desweiteren ist die Erweiterung auch in die Extension: Save Form Mail (pk_save_form_mail) von pekuehn eingeflossen.

!joerg!