Hallo,
ich wollte mit th_mailformplus ein Attachment direkt mit der Mail mitschicken.
Es geht hier nicht um die Varianten, wo ich eine Datei im Filesystem angebe, sondern der
Benutzer kann in einem Upload-Feld im Formular eine Datei auswählen.
Dazu muss ich laut Doku folgendes in mein TS-Script schreiben:
plugin.tx_thmailformplus_pi1.default.email_attachment = name_des_felds_im_formular
Nur mailformplus wollte das Attachment einfach nicht mitschicken. Ich hab alles mögliche ausprobiert.
Nach intensiver Suche im Quellcode bin ich auf zwei Probleme gestoßen.
1. Bei dem Dateiname, den Typo3 für die hochgeladenen Datei erzeugt, hängt hinten noch ein "\n" dran.
2. Typo3 hat nur den Dateinamen, nicht aber den Pfad zu Datei.
Das "\n" bekomme ich mit "trim" weg, den Pfad habe ich mal testweise hart in den Quellcode reingeschrieben.
Jetzt funktioniert das verschicken der Attachments.
Die entsprechende Stelle in der "class.tx_thmailformplus_pi1.php", wo die Attachments angehängt werden (ca. Zeile 2392), sieht bei mir jetzt so aus:
$attachPath = "uploads/tx_thmailformplus/";
if(is_array($attachment) && !empty($attachment)) {
foreach($attachment as $file) {
if($file != "") {
$file = $attachPath.trim($file);
$emailObj->addAttachment($file);
}
}
}
Der Ausschnitt aus meinem TS
plugin.tx_thmailformplus_pi1.default.email_htmltemplate = ../../fileadmin/templates/mailformplus/my_multipage.html
plugin.tx_thmailformplus_pi1.multipage_without_js = 1
plugin.tx_thmailformplus_pi1.default.email_attachment = photo
plugin.tx_thmailformplus_pi1.fieldConf {
photo {
fileTypes = gif,jpg,jpeg
fileSize = 2000000
fileUpload = uploads/tx_thmailformplus/
}
}
Nun stellt sich mir natürlich die Frage, ob ich noch einen generellen Fehler mache, oder ob mailformplus einen Bug hat. Wobei ich mehr auf das erste Tippe, da sonst das mitschicken von Attachments ja bei niemand ohne Eingriff in den Code funktionieren kann.
Gibt es noch irgendeine Einstellung, die ich übersehen habe?
Bin für jeden Tipp dankbar.
LINUX
Typo3 4.1.2
th_mailformplus 4.0.7
Vielen Dank schonmal.
Gruss Peter