Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

[gelöst] Im Kontaktformular (webform) automatisch Datei anhängen (kein Upload)

Eingetragen von A. Winter (88)
am 25.07.2013 - 13:29 Uhr in
  • Module
  • Drupal 7.x

Hallo zusammen,

da ich selbst nicht weiterkomme, im Internet noch nichts wirklich hilfreiches gefunden habe und unter
diesem Forenthema http://www.drupalcenter.de/node/45787 auch noch keine
Lösung vorgeschlagen wurde, würde ich gerne folgendes wissen:

Ist es möglich, und wenn ja wie, dass ich bspw. ein PDF-Dokument, das irgendwo auf dem Server gespeichert wird, einer E-Mail
hinzufügen kann, die über das Kontaktformular (webform-7.x-3.18) verschickt wird.

Es soll also eine E-Mail mit einem durch den Kunden automatisch generierten PDF-Dokument an mich (Seitenbetreiber)
geschickt werden, ohne einen Dateiupload und ohne die Möglichkeit, diese Datei zu löschen.

Am besten wäre es, wenn ein Hinweis (in Form eines Icons oder Text à la dateianhang.pdf) im Kontaktformular sichtbar wäre.

Hat jemand einen Tipp, wie sich das realisieren lässt?

Schöne Grüße
A. Winter

‹ Taxonomy und Nodes in Menü und Sitemap [gelöst] Im Kontaktformular (webform) automatisch Datei anhängen (kein Upload) ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Mittlerweile habe ich zum

Eingetragen von A. Winter (88)
am 30.07.2013 - 08:15 Uhr

Mittlerweile habe ich zum Glück selbst eine Lösung gefunden:

Erst einmal werden zwei weitere Module benötigt:

  • Mail System (drupal.org/project/mailsystem)
  • Mime Mail (drupal.org/project/mimemail)

An den Standardeinstellungen habe ich nichts weiter verändert.

Durch Verwendung des Mime Mail-Moduls ließ sich nun in der Datei webform.module die
webform_mail-Funktion (bei mir Zeile 1681) ein attachments-Array hinzufügen.

Folgende Zeilen habe ich hinzugefügt:

<?php
$file
= DRUPAL_ROOT . "/path/to/file/doc.pdf";
if(
file_exists($file)) {
 
$attachment = array(
 
'filecontent' => file_get_contents($file),
 
'filename' => 'doc.pdf',
 
'filemime' => 'application/pdf',
  );
 
$message['params']['attachments'][] = $attachment;
}
?>

Und siehe da... der E-Mail wurde diese Datei als Anhang hinzugefügt (falls sie denn existiert).

Ich hoffe, ich kann/konnte dem einen oder anderen damit helfen.

Achja, die größte Hilfe für mich war folgender Blog:
rapiddg.com/blog-post/drupal-7-html-e-mail-pdf-attachments

Viele Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_mail_alter

Eingetragen von stBorchert (6003)
am 30.07.2013 - 08:37 Uhr
A. Winter schrieb

... ließ sich nun in der Datei webform.module die
webform_mail-Funktion (bei mir Zeile 1681) ein attachments-Array hinzufügen.

Sorry, aber bitte mach das nicht. Was machst Du, wenn es Updates für Webform gibt? Jedes Mal wieder die Datei anpassen?
Du kannst für Deinen Code einfach ein kleines eigenes Modul erstellen und dort dann Deinen Code in [api:hook_mail_alter:7] schreiben:

<?php
/**
* Implements hook_mail_alter().
*/
function MYMODULE_mail_alter(&$message) {
  if (
$message['id'] == 'webform_submission') {
   
$file = DRUPAL_ROOT . '/path/to/file/doc.pdf';
    if(
file_exists($file)) {
     
$attachment = array(
       
'filecontent' => file_get_contents($file),
       
'filename' => 'doc.pdf',
       
'filemime' => 'application/pdf',
      );
     
$message['params']['attachments'][] = $attachment;
    }
  }
}
?>

So kannst Du Dir sicher sein, dass das auch noch nach einem Update funktioniert und verstösst auch nicht gegen eine der goldenen Regeln von Drupal ...

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank Stefan für den

Eingetragen von A. Winter (88)
am 30.07.2013 - 11:08 Uhr

Vielen Dank Stefan für den Hinweis - Bei einem Update des Webform-Moduls möchte ich natürlich,
dass der Dateianhang immer noch funktioniert.

Ich habe leider noch nicht genügend Erfahrung und wusste mir nicht anders zu helfen ;-)

Also nochmals vielen Dank!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
  • Statusbericht Warnungen Drupal 11.x
  • Kein E-Mail-Versand über Webseite (z. B. Webforms) nach Server-Umzug
  • für drupal11 ein Slider Modul
  • Links im Block Olivero Theme
Weiter

Neue Kommentare

  • gelöst
    vor 5 Tagen 3 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Tagen 1 Stunde
  • klappt fast...
    vor 6 Tagen 5 Stunden
  • Das sind die Druiden, die du
    vor 1 Woche 1 Tag
  • Wie genau sollen wir dir
    vor 1 Woche 1 Tag
  • Okay, jetzt habe ich aber
    vor 1 Woche 1 Tag
  • Ja ok und steht denn der
    vor 1 Woche 1 Tag
  • Sprichst du von der
    vor 1 Woche 1 Tag
  • Alles Standard. Also Apache
    vor 1 Woche 1 Tag
  • Hast du denn <Directory
    vor 1 Woche 1 Tag

Statistik

Beiträge im Forum: 250225
Registrierte User: 20442

Neue User:

  • 4aficiona2
  • AppBuilder
  • GrolfsnokFlult

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 9 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association