Zum Inhalt springen

EXT Form - Datei Upload

Erstellt am 16. April 2012 · 7 Antworten · letzte Antwort am 30. Juli 2014

Tags: Frage

Cubana13 ·

Hallo zusammen,

ich möchte in meinem Formular die Möglichkeit haben ein Datei mit zu verschicken.

Das Feld wird mir auch angezeigt, allerdings wird der Anhang nicht mit versendet.

Alle anderen Felder werden ohne Probleme übertragen.

Hat jemand eine Idee warum ???

Gruß Carsten

Hier mein Formular

dir = ltr
method = post
prefix = tx_form
confirmation = 1
postProcessor {
	1 = mail
	1 {
		recipientEmail = tests@test.de
		senderEmail = tests@test.de
	}
}
10 = TEXTBLOCK
10 {
	class = content-textblock
	content = Sie können uns mit Hilfe des folgenden Formulars eine E-Mail schicken. Die mit einem Sternchen (*) gekennzeichneten Felder müssen ausgefüllt werden.  Bitte beachten Sie: Ihre Daten werden bis zur Erledigung Ihrer Anfrage gespeichert und anschließend gelöscht.
}
20 = FIELDSET
20 {
	legend {
		value = Kontaktformular
	}
	10 = TEXTLINE
	10 {
		name = fullname
		label {
			value = Vor- und Zuname
		}
	}
	20 = TEXTLINE
	20 {
		name = email
		label {
			value = E-Mail-Adresse
		}
	}
	30 = TEXTLINE
	30 {
		name = subject
		label {
			value = Betreff
		}
	}
	40 = FILEUPLOAD
	40 {
		name = upload
		label {
			value = Datei-Upload
		}
	}
	50 = TEXTAREA
	50 {
		cols = -5
		rows = 5
		name = message
		label {
			value = Ihre Nachricht
		}
	}
	60 = SUBMIT
	60 {
		name = 8
		value = Absenden
	}
}
rules {
	1 = required
	1 {
		breakOnError = 1
		showMessage = 1
		message = *
		error = Bitte E-Mail Adresse eingeben
		element = email
	}
	2 = email
	2 {
		breakOnError = 1
		showMessage = 
		message = (max@mustermann.de)
		error = Ungültige E-Mail Adresse
		element = email
	}
	3 = required
	3 {
		breakOnError = 1
		showMessage = 1
		message = *
		error = Bitte Betreff eingeben
		element = subject
	}
	4 = required
	4 {
		breakOnError = 1
		showMessage = 1
		message = *
		error = Bitte Nachricht eingeben
		element = message
	}
}
karlchen ·

ich kenn mich mit dem neuen FORM Object noch nicht so aus, kann es daher sein, das du die Eigenschaft "enctype="multipart/form-data" " (auf der gleichen Ebene wie methode="post")dem Formular explizit noch zuweisen musst ? Ansonsten werden in einem Formular auch keine Dateien angehängt.

Cubana13 ·

hallo karlchen

danke für deinen tipp
leider hat das nichts gebracht :-(

So sieht die Mail aus, die ankommt

Kontaktformular
Vor- und Zuname test
E-Mail-Adresse test@test.de
Betreff tes
Datei-Upload seo.txt
Ihre Nachricht trr

christophrunkel ·

Bei mir lag es an der Datei:

typo3/sysext/form/Classes/System/Postprocessor/Mail.php

In Zeile 351 geändert:

//if (is_file($filename) && t3lib_div::isAllowedAbsPath($filename)) {
if (is_file($filename)) {

---
Es lag an mir an einem führenden Slash beim Filename,der bei isAllowedAbsPath zu einem false führte, und die Datei nicht anhängte. Nach Änderung (leider im Core) kein Problem.

DerKnut ·

Hi,

hast Du inzwischen eine Lösung für das Problem gefunden?

Bei mir klappt das Verschicken von Attachments nach Umzug von Root-Server auf einen Strato-Webspace nicht mehr.

Alles wird normal verschickt, bloß die Anhänge werden nicht angehängt.

Postprocessor/Mail.php brachte leider keinen Erfolg.

Grüße
Knut

Soso-Minden ·

Hallo in die Runde,

ich schliesse mich Stephans Frage an. Ich habe auch Probleme mit dem Dateianhang bei dem Versenden. Die Seite liegt ebenfalls bei Strato. Hat irgendjemand Ideen oder Lösungen????

Guido

No5251 ·

Hallo zusammen,

dirty workaround:

in "typo3/sysext/form/Classes/PostProcess/MailPostProcessor.php",
Zeile 357, die Prüfung mit isAllowedAbsPath() entfernen.

Laut Doku muss der Pfad zur Datei unter "PATH_site" oder "lockRootPath" liegen.
Das trifft natürlich nicht mehr zu, wenn in der PHP-Konfiguration für "upload_tmp_dir"
ein Verzeichnis außerhalb definiert ist.

Grüße
Marco