Mails mit Dateianhang unter MailFormPlus 4.0.15
Mittwoch, 02. Februar 2011 23:38
Entgegen der Doku unter typo3.org klappt es bei der Extension MailFormPlus 4.0.15 nicht, eine (oder mehrere) im TS angegebene Datei(en) zu verschicken. Die Syntax laut Doku ist
aber ohne Eingriff in die Datei
[Typo3-Verzeichnis]/typo3conf/ext/th_mailformplus/pi1/class.tx_thmailformplus.p1.php
geht es nicht.
Je nachdem, ob der Besucher oder die Administration diese Datei(en) empfangen soll, muss der Code folgendermaßen erweitert werden:
Administration:
Zeile 2425, nach
einfügen:
Benutzer:
(Bei mir) Zeile 2680, nach
(zweiter Mail-Block) einfügen:
und ((bei mir) Zeile 2715, nach
einfügen:
Viel Spaß!
PLAIN: (Auswählen)
plugin.tx_thmailformplus_pi1.default.email_attachment = [ersteDatei],[zweiteDatei],usw.
Auszug aus der Doku:
>> ----
>> plugin.tx_thmailformplus_pi1.default.email_attachment
>> filepath or name of a form field
>>
>> this file/these files will be added as attachment to the receiver e-mail
>>
>> example:
>>
>> email_attachment = fileadmin/content/hello.jpg
>> email_attachment = photo
>> ----
aber ohne Eingriff in die Datei
[Typo3-Verzeichnis]/typo3conf/ext/th_mailformplus/pi1/class.tx_thmailformplus.p1.php
geht es nicht.
Je nachdem, ob der Besucher oder die Administration diese Datei(en) empfangen soll, muss der Code folgendermaßen erweitert werden:
Administration:
Zeile 2425, nach
PLAIN: (Auswählen)
$attachment = array();
foreach($fields as $field) {
einfügen:
PLAIN: (Auswählen)
if (is_file($field)) {
$attachment[] = PATH_site .$field;
} else
Benutzer:
(Bei mir) Zeile 2680, nach
PLAIN: (Auswählen)
if($this->get_post[$subject]) {
$subject = $this->get_post[$subject];
}
(zweiter Mail-Block) einfügen:
PLAIN: (Auswählen)
if($this->conf['default.']['email_attachment'] != "") {
$fields = t3lib_div::trimExplode(',',$this->conf['default.']['email_attachment']);
$aMyAttachments = array();
foreach($fields as $field) {
if (is_file($field)) {
$aMyAttachments[] = PATH_site .$field;
}
//Dateien aus Upload-Feld
// elseif ($this->get_post[$field]) {
// $files = explode('\n',$this->uploadedFiles[$field]);
// foreach($files as $file) {
// $attachment[] = $file;
// }
// }
}
}
und ((bei mir) Zeile 2715, nach
PLAIN: (Auswählen)
$emailObj->add_header($conf['emailHeader']);
einfügen:
PLAIN: (Auswählen)
if(isset($aMyAttachments) && is_array($aMyAttachments) && !empty($aMyAttachments)) {
foreach($aMyAttachments as $file) {
if($file != "") {
$emailObj->addAttachment($file);
}
}
}
Viel Spaß!
Zuletzt editiert:Donnerstag, 03. Februar 2011 11:36
Signatur:\\\"I have not failed. I\\\'ve just found 10,000 ways that won\\\'t work.\\\" - Thomas Alva Edison (1847-1931)