Home > PDFJを使ってメールにPDFを添付する

PDFJを使ってメールにPDFを添付する

やっとPerlのエントリーが書けます。

Perlで日本語を含むPDFを生成する場合に便利そうなモジュールに中島 靖さん作成のPDFJというのがあります。

PDF自体の生成の方法は中島さんのサイトに多数サンプルがあるので割愛して、その生成したPDFをメールに添付して送る方法をまとめます。

メール送信側のmoduleにはMIME::Liteを使います。

PDFドキュメントオブジェクト$docからPDFの内容をスカラ変数に読み出します。

my $pdf;
open my $fh, '>', \$pdf;
$doc->print($fh);
close $fh;

MIME::Liteオブジェクトを「multipart/mixed」で生成します。

my $ENTITY = MIME::Lite->new(
  From =>'from@trapple.net',
  To =>'to@trapple.net',
  Subject =>'メールタイトル',
  Type => 'multipart/mixed',
);

メール本文をattachします。

$ENTITY->attach(
  TYPE => 'text/plain; charset="iso-2022-jp"',
  Data => $mail_body
);

先に作った$pdfをattachします。
$pdfはファイルハンドルではなく、スカラーなので、FH=>$pdfではなくDataを使います。
これにはまりました。

$ENTITY->attach(
  Type => 'BINARY',
  Filename => 'sample.pdf',
  Encoding => 'base64',
  Disposition => 'attachment',
  Data => $pdf,
);
$ENTITY->send;

もっとスマートな方法ご存知の方、ご指摘お願い致します。

関連エントリー

コメント

Blah-blah-blah. I don’t care about you opinion, your words mean nothing to me. I’m big, bad and always just.

投稿者: Flint | 2008年04月03日 18:55

Your blog is very informative, I have learned so much from it. It is like daily newspaper :). Added to favs.

投稿者: rick | 2008年04月09日 19:36

コメントを投稿





このエントリーのトラックバックURL

http://www.trapple.net/blog/mt/mt-tb.cgi/37

トラックバック

big mature natural tits

2007年04月22日 14:25 | big mature natural tits