Zum Inhalt springen

Mehrere Anhänge mit mailformplus 4.0.3

Erstellt am 5. November 2007 · 5 Antworten · letzte Antwort am 15. Mai 2009

Tags: Datei-Upload, E-Mail-Versand, Frage

jhernst ·

Hallo zusammen,

ich sitze gerade an einem etwas komplexeren Formular, bei dem im letzten Schritt die Möglichkeit zum anfügen von mehreren Dateien gegeben sein muss.

Die Datei werden auch schön brav hochgeladen und umbenannt, aber leider will es mir nicht gelingen, mehr als eine Datei im Anhang der Mail an den Empfänger zu senden.

plugin.tx_thmailformplus_pi1.default.email_attachment = attachment1

sendet die erste Datei, wie muss ich das im TS für die weiteren Dateien angeben.

plugin.tx_thmailformplus_pi1.attachment2.email_attachment = attachment2

ist augenscheinlich nicht richtig... 😢

Sorry, wenn die Frage blöd ist, aber ich stehe seit geraumer Zeit im Wald...
CU, Jari

Unbekannter Benutzer ·

Hallo,

es ist nur möglich ein Feld anzugeben. Mailformplus erlaubt aber, dass man mehrere Files pro Feld uploaded. Somit könnte man dennoch mehrere Dateien als Attachment verschicken.

Hab aber einen kleinen Patch gebastelt, der dir weiterhelfen sollte. Getestet ist er nicht, also keine Garantie!!

class.tx_thmailformplus_pi1.php ca. Zeile 2130:

alt:

if($this->conf['default.']['email_attachment'] != "") {
  $attachment[] = $this->conf['default.']['email_attachment'];
  if ($this->get_post[$this->conf['default.']['email_attachment']]) {
   $attachment = explode('\n',$this->uploadedFiles[$this->conf['default.']['email_attachment']]);
  }
}

neu:

if($this->conf['default.']['email_attachment'] != "") {
  $fields = t3lib_div::trimExplode(',',$this->conf['default.']['email_attachment']);
  $attachment = array();
  foreach($fields as $field) {
    if ($this->get_post[$field]) {
      $files = explode('\n',$this->uploadedFiles[$this->conf['default.']['email_attachment']]);
      foreach($files as $file) {
	$attachment[] = $file;
      }
    }
   }
}

Damit sollte es möglich sein mehrere Felder mit Beistrich getrennt anzugeben:

plugin.tx_thmailformplus_pi1.default.email_attachment = attachment1,attachment2,attachment3
jhernst ·

Hallo mtd04014,

erstmal vielen, vielen, vielen lieben Dank für Deine Hilfe. Wenn's jetzt noch geklappt hätte, wär's noch geiler gewesen... 😃

Aber der Ansatz ist gut, den werde ich morgen noch mal verfolgen.
Und falls es dennoch nichts wird, werde ich den Ansatz mit dem multiplen Uploads über ein Feld versuchen.

Lieben Gruß,
Jari

jo77 ·

Hallo zusammen

Ich bin gerade mit demselben Problem konfrontiert worden. Ich habe den PHP Code von mtd04014 in der Zeile 6 angepasst, so dass nun mehrere Anhänge versandt werden können:

if($this->conf['default.']['email_attachment'] != "") {
  $fields =   t3lib_div::trimExplode(',',$this->conf['default.']['email_attachment']);
  $attachment = array();
  foreach($fields as $field) {
    if ($this->get_post[$field]) {
      $files = explode('\n',$this->uploadedFiles[$field]);
      foreach($files as $file) {
        $attachment[] = $file;
      }
    }
  }
}
plugin.tx_thmailformplus_pi1.default.email_attachment = attachment1,attachment2,attachment3
triskal ·

hallo,

ich stehe aktuell vor dem oben beschriebenen problem. die aktuelle th_mailformplus-version hat den hier geposteten code ja bereits so übernommen. aber irgendwie funktioniert es einfach nicht. nicht mal mit nur einer datei im anhang. dabei bin ich exakt nach anleitung vorgegangen:

plugin.tx_thmailformplus_pi1.default.email_attachment = upload1
<input type="file" name="upload1" id="upload1" class="formfile" maxlength="3000000" accept="*.pdf,*.doc" />

woran kanns liegen? die mail kommt korrekt an, nur eben ohne attachements.
freu mich über jeden hinweis.

danke und gruss,
manuel

hebbele ·

Hallo triskal,

konntest du das Problem inzwischen lösen??? Ich stehe nämlich auch vor dem Problem, das noch nicht einmal eine Datei an die E-Mail angehangen wird.

Grüße