Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Bestelldaten als Anhang senden

    zvenson

    • Frisch an Board
    • Beiträge: 69
    • Geschlecht:
    Bestelldaten als Anhang senden
    am: 05. Februar 2015, 10:18:59
    Hallo community!
    Ich habe eine Frage und zwar gehts darum, dass wir unser sehr altes Warenwirtschaftssystem bisher "von Hand" mit den Bestellungen die über den Shop reinkamen gefüttert haben. Das System kann aber wohl Email-Anhänge auswerten. Das würde einiges an Arbeit sparen, wenn man die Bestellungen direkt ans System senden könnte. Ne zusäztliche Mail zu senden ist ja über die send_order.php möglich.
    Nun frage ich mich ob es möglich ist, die Bestelldaten - also Name, Bestellnummer, usw.) auch als Anhang zu versenden. Hat das schonmal jemand gemacht?
    Wäre dankbar für Tipps!
    Sven

    Linkback: https://www.modified-shop.org/forum/index.php?topic=32194.0

    Marcus Kreusch

    • Fördermitglied
    • Beiträge: 312
    • Geschlecht:
    Re: Bestelldaten als Anhang senden
    Antwort #1 am: 05. Februar 2015, 12:42:42
    Hallo Sven,

    das dürfte gar kein Problem sein:
    Du musst dir einfach nur eine entsprechende Datei in der /send_order.php schreiben und mit dem Attachment-Parameter, der Funktion xtc_php_mail() zusenden.
    Wenn du eine aktuelle Shopversion benutzt, kannst du dich dafür an der Verwendung der Variable $email_attachments orientieren.

    Viele Grüße
    Marcus

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Bestelldaten als Anhang senden
    Antwort #2 am: 06. Februar 2015, 01:12:56
    Wie wertet "das System" Email-Anhänge denn aus und welche Art E-Mail-Anhänge ?
    Und was genau heißt "wertet aus" ?
    Ich denke da muß ein bestimmtes Datenformat vorliegen.

    Gruß,
    noRiddle

    zvenson

    • Frisch an Board
    • Beiträge: 69
    • Geschlecht:
    Re: Bestelldaten als Anhang senden
    Antwort #3 am: 12. Februar 2015, 09:34:37
    Hi! Ich danke Euch für Eure Antworten. Ich will versuchen, die Funktion $email_attachments für meine Zwecke zu nutzen.

    Muss man im Prinzip jedes mal eine Datei erzeugen, die die Bestelldaten enthält, diese auf dem Webserver zwischenspeichern und anschließend als Mail Anhang versenden?

    zvenson

    • Frisch an Board
    • Beiträge: 69
    • Geschlecht:
    Re: Bestelldaten als Anhang senden
    Antwort #4 am: 17. Februar 2015, 11:20:25
    10000 Dank an MK für die Lösung des Problems die ich hier gerne mit Euch teilen möchte!

    in der Datei send_order.php kann man einen weiteren Absendeblock einfügen, der in etwa so aussehen muss:

    Code: PHP  [Auswählen]
    $tFile = DIR_FS_CATALOG.'cache/'.time().'_'.rand(1000000,9999999).'.txt';
    $txt_mail_admin2 = html_entity_decode($txt_mail_admin2, ENT_COMPAT, 'ISO-8859-15');
    file_put_contents($tFile, iconv("ISO-8859-15", "WINDOWS-1252//TRANSLIT", $txt_mail_admin2));
    xtc_php_mail(EMAIL_BILLING_ADDRESS,
                   EMAIL_BILLING_NAME,
                   'your@email.de',
                           STORE_NAME,
                  '',# EMAIL_BILLING_FORWARDING_STRING,
                  $order->customer['email_address'],
                   $order->customer['firstname'].' '.$order->customer['lastname'],
                   $tFile,
                   '',
                   $order_subject,
                   $html_mail_admin2,#hs - mod
                  $txt_mail_admin2#hs - mod
    );

    dieser Code sorgt dafür dass eine Datei mit zufälligem Namen erzeugt und versendet wird. Der Dateiinhalt wird aus $txt_mail_admin2 erzeugt.
    Vielleicht hilft es noch jemandem.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Bestelldaten als Anhang senden
    Antwort #5 am: 17. Februar 2015, 15:31:37
    Man sollte um der Flexibilität willen folgende Zeilen ändern:
    Code: PHP  [Auswählen]
    $txt_mail_admin2 = html_entity_decode($txt_mail_admin2, ENT_COMPAT, 'ISO-8859-15');
    in
    Code: PHP  [Auswählen]
    $txt_mail_admin2 = html_entity_decode($txt_mail_admin2, ENT_COMPAT, $_SESSION['language_charset']);

    und
    Code: PHP  [Auswählen]
    file_put_contents($tFile, iconv("ISO-8859-15", "WINDOWS-1252//TRANSLIT", $txt_mail_admin2));
    in
    Code: PHP  [Auswählen]
    file_put_contents($tFile, iconv($_SESSION['language_charset'], "WINDOWS-1252//TRANSLIT", $txt_mail_admin2));

    Sollte man den Shop mal z.B. auf UTF-8 umstellen sucht man sich ansonsten wieder tot nach dem Fehler.

    Gruß,
    noRiddle
    6 Antworten
    4343 Aufrufe
    06. November 2011, 10:12:32 von rubber-ducks
    7 Antworten
    4173 Aufrufe
    26. November 2014, 12:49:15 von timopaul
    7 Antworten
    2643 Aufrufe
    18. Januar 2022, 08:51:52 von GTB
    1 Antworten
    2764 Aufrufe
    05. Februar 2011, 10:33:50 von Markus