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?show0getestet 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