Hi Fernando,
You can use PDF::API2 and MIME::Lite to achieve what you want. I am sending you a sample, change the placeholder values with your own before running it.
Regards,
G.
use MIME::Lite;
use PDF::API2;
#your mail server
my $mymailserver='mymailserver';
#the pdf path
my $save_pdf_as="/mypdf.pdf";
# Create a blank PDF file
my $pdf = PDF::API2->new();
# Add a blank page
my $page = $pdf->page();
# Set the page size
$page->mediabox('Letter');
# Add a built-in font to the PDF
my $font = $pdf->corefont('Helvetica-Bold');
# Add some text to the page
my $text = $page->text();
$text->font($font, 20);
$text->translate(200, 700);
$text->text('Hello World!');
# Save the PDF
$pdf->saveas($save_pdf_as);
my $msg = MIME::Lite->new (
From => 'myemail@mydomain.com',
To => 'recipient@example.com',
Subject => 'Test',
Type =>'multipart/mixed'
) or die "Error creating multipart container: $!\n";
### Add the text message part
$msg->attach (
Type => 'TEXT',
Data => 'Please open the attachment'
) or die "Error adding text: $!\n";
#add the file
$msg->attach(
Type => 'application/pdf',
Path => $save_pdf_as,
Filename => 'a_name_for_your_file.pdf',
Disposition => 'attachment'
) or die "Error adding attachment: $!\n";
MIME::Lite->send('smtp', $mymailserver, Timeout=>60);
$msg->send;
|