Autor Thema: automatisch generierte Rechnungen als PDF-Anhang senden  (Gelesen 11767 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Hallo,

Mit der Mail an Kunden (und/oder Händler) können automatisch generierte PDF-Rechnungen als Attachment gesendet werden.


Voraussetzung:
1) auf dem Server müssen die Perl-Module MIME::Base64, LWP::Simple (sollten auf allen Servern verfügbar sein)
und HTML::HTMLDoc (wird wahrscheinlich nachgerüstet werden müssen) installiert sein.
2) die neueste SP-Version 3.02.03b vom 10.6.

Einbauanleitung:
  • im cgi-Verzeichnis den Ordner PDF mit Chmod 755 manuell per FTP anlegen (der Ordner MUSS im cgi-Verzeichnis liegen und schreibend und lesend darauf zugegriffen werden können)
  • auf die "Danke" Seite diesen Code schreiben:
<!--spmacro:module(test)
{
if (!$main::liveview) {

use strict;
use warnings;

my $bestnr = $main::gOrderId;
my $testtext = ssp::embedded("showwk","embedded/rechnung.txt");

  require HTML::HTMLDoc;
  my $htmldoc = new HTML::HTMLDoc();
  $htmldoc->set_bodyfont('Arial');
  $htmldoc->set_html_content($testtext);
  my $pdf = $htmldoc->generate_pdf();
  $pdf->to_file('PDF/' . $bestnr . '.pdf');
  }
}
-->
  • eine rechnung.txt Datei (genauso wie eine HTML-Mail) erstellen, im "embedded" Ordner ablegen (oder Pfad anpassen) und im WC bei "Dateien hinzufügen" eintragen.
  • Code in stdall.ipl
<!--spmacro:module(Callback)
sub modify_mailtext {
my $to = $_[0];
my $subject = $_[1];
my $ref_mailtext = $_[2];
my $type = "application/pdf";
my $datei = $main::gOrderId . ".pdf";
use MIME::Base64;
use LWP::Simple qw(get);
my $attachment = get "http://www.woll-insel.at/demo-cgi-bin/demo_konfiguratorshop/PDF/" . $datei;

if ($attachment && $subject eq "Bestätigung Konfiguratorshop (EP)")
{
my $mailtext = $$ref_mailtext;
my $bound = "----------" . $subject . $to;

my $newmail = "MIME-Version: 1.0"."\n";
$newmail .= "Content-type: multipart/mixed; boundary=\"$bound\""."\n\n";
$newmail .= "--$bound"."\n";
$newmail .= "Content-type: text/html"."\n";
$newmail .= $mailtext."\n\n";
$newmail .= "--$bound"."\n";
$newmail .= "Content-type: $type;  name=\"Rechnung.pdf\"\n";
$newmail .= "Content-Transfer-Encoding: base64\n";
$newmail .= "Content-Disposition: attachment; filename=\"Rechnung.pdf\"\n\n";

my $acod = MIME::Base64::encode($attachment);

$newmail .= $acod;
$newmail .= "\n--$bound--\n";

$$ref_mailtext = $newmail;
}
return 0;
}
-->

    my $attachment = get "http://www.woll-insel.at/demo-cgi-bin/demo_konfiguratorshop/PDF/" . $datei;
    hier den absoluten Pfad zum CGI!!! Ordner eintragen (funktioniert nur so)

    if ($attachment && $subject eq "Bestätigung Konfiguratorshop (EP)")
    hier die Bedingung mit welchem Formular an wen der Anhang gesendet werden soll - vorausgesetzt, dass für Händler und Kunden ein anderer Betreff im WC eingetragen ist.

    wie das funktioniert, kann im Konfiguratorshop
    http://www.woll-insel.at/demo-cgi-bin/demo_konfiguratorshop/iboshop.cgi?show0
    getestet werden.
    Bei Absenden einer Bestellung wird die PDF-Rechnung der "Mail an Kunden" angehangen.
    (zum testen habe ich da jetzt einfach die Mail an Kunden als rechnung.txt genommen - das kann natürlich dann jeder individuell mit Firmen Briefkopf usw erstellen)

    Nachtrag:  bitte bedenken, dass PDF-Rechnungen - wenn sie ausschließlich digital gesendet werden und nicht der Ware noch eine gedruckte Rechnung beiliegt - digital signiert sein müssen.

    Linkback: https://www.shoppilot.net/pf/index.php?topic=1435.0
    « Letzte Änderung: Juni 17, 2010, 17:23:47 von dobra »
    mfG
    dobra

    Offline jg

    • Hero Member
    • *****
    • Beiträge: 526
    • Lob: 3
    Re: automatisch generierte Rechnungen als PDF-Anhang senden
    « Antwort #1 am: Juni 18, 2010, 12:34:42 »
    Hallo dobra,

    Super Idee! Es funktioniert. So ähnlich wollen wir das mal bei uns einbauen.
    Besonders interessant ist es für mich im Bereich Dropshipping:
    Hier könnten wir dann zB. zusammen mit der Dropshipping-Bestellung unseres Händlers
    auch gleich noch die Rechnung für den jeweiligen Endkunden erstellen lassen
    (an den wir die Ware im Auftrag unseres Kunden schicken sollen).
    Unser Kunde muss diese Rechnung oder den Lieferschein dann nicht mehr
    separat erstellen und uns - wie jetzt noch - in einer 2. E-Mail zuschicken.

    Vllt könnte man später sogar i-wo im Shop 'PDF-Settings' hinterlegen, die die Einstellungen
    für den Rechnungsanhang definieren, bzw. die unsere Händler evtl. sogar selbst einstellen
    können wie zB: HTML-Pfad zu einem Logo, Zusatztexte die in der PDF erscheinen sollen u.a.

    Grüße, jg


    Offline dobra

    • Global Moderator
    • Hero Member
    • *****
    • Beiträge: 1353
    • Lob: 18
    Re: automatisch generierte Rechnungen als PDF-Anhang senden
    « Antwort #2 am: Juni 18, 2010, 12:42:20 »
    Hallo jg,

    Zitat
    ...im Bereich Dropshipping:
    ja - DA hätte ich auch Wünsche  ;)

    Wenn jetzt Kunde bei mir bestellt, muß ich das dann separat wieder bei Dir bestellen = Artikelnummer von meiner Bestellung kopieren und bei Dir suchen etc
    Vllt könnten wir da mal gemeinsam überlegen, wie das automatisiert werden kann....

    hab da auch schon ne Idee - aber das muss ich erst mal testen
    schreib ich Dir dann per mail


    xx
    PDF-Anhang mit Bestellmail senden

    Begonnen von admin

    0 Antworten
    4705 Aufrufe
    Letzter Beitrag März 18, 2013, 09:42:26
    von admin
    xx
    Zertifizierte eMails bei Online-Rechnungen?

    Begonnen von rhae

    2 Antworten
    15873 Aufrufe
    Letzter Beitrag Januar 12, 2007, 00:11:46
    von emil
    xx
    Seite senden

    Begonnen von dobra

    0 Antworten
    4726 Aufrufe
    Letzter Beitrag Dezember 25, 2007, 15:14:28
    von dobra
    xx
    Mails senden

    Begonnen von hop

    1 Antworten
    5853 Aufrufe
    Letzter Beitrag Mai 25, 2003, 11:00:37
    von Andi