dynamisch erstelle PDFs als Mailanhang senden
dobra
- perl
Hallo,
ich möchte dynamisch erstellt PDFs (Rechnungen) als Mailanhang versenden.
Mit irgendwo gespeicherten Dateien funktioniert das mit MIME::Lite
use MIME::Lite ;
my $prog = ssp::get_mailprog(); # Pfad zum Mailprogramm
open(MAIL,"|$prog -t");
my $msg = new MIME::Lite ;
my $to = "mail\@domain.com" ;
my $path = <Pfad zur Datei aus DB>;
$msg = build MIME::Lite
From => $from ,
To => $to ,
Subject => $subject ,
Type => 'TEXT',
Data => $mailtext ;
attach $msg
Type => "AUTO" ,
Path => $path,
Encoding => "base64",
Filename => $datei ;
$msg->print(\*MAIL) ;
close(MAIL) ;
Dynamische PDFs erstellen *und speichern* hab ich auch geschafft.
use strict;
use warnings;
my $testtext = "irgendwas das aus Formular oder DB ausgelesen wird";
use PDF::API2;
use PDF::TextBlock;
my $pdf = PDF::API2->new;
my $tb = PDF::TextBlock->new({
pdf => $pdf,
fonts => {
b => PDF::TextBlock::Font->new({
pdf => $pdf,
font => $pdf->corefont( 'Helvetica-Bold', -encoding => 'latin1' ),
}),
},
});
$tb->text(
"statische Kopfzeite.\n\n" .
"dynamischer Text:\n " .
"$testtext\n\n " .
"statische Fußzeile."
);
$tb->apply;
$pdf->saveas('test.pdf');
$pdf->end;
aber wie stelle ich es an, dass die Datei nicht gespeichert sondern als Mailanhang versendet wird?
Google hat mir da leider nicht weiter geholfen...
lg
dobra
Zusatzfrage:
beide Script funktionieren bei mir nicht auf https-Seiten
wenn das auch auf diesen Seiten funktionieren würde, könnte ich's ja erst speichern und dann aus der Datei senden.
gibt's einen Trick, damit ich es auch auf https-Seiten verwenden kann?
Mit irgendwo gespeicherten Dateien funktioniert das mit MIME::Lite
http://search.cpan.org/dist/MIME-Lite/lib/MIME/Lite.pm
You can specify each message part as either the literal data itself (in a scalar or array), or as a string which can be given to open() to get a readable filehandle (e.g., "<filename" or "somecommand|").
Google hat mir da leider nicht weiter geholfen...
Und auch die Doku nicht?
Du kannst auch die Rohdaten MIME::Lite übergeben.
Struppi.
Hallo Struppi,
Danke für den Link, aber ich kapier's nicht :(
Kannst Du mir vielleicht ein ganz kleines Beispiel geben WIE ich das machen kann?
Danke schon vorab
dobra