NAME

Tripletail::Mail - メール作成/読み込み

SYNOPSIS

  my $mail = $TL->newMail
    ->setHeader(
	From => 'null@example.org',
	To   => 'null@example.org',
	Subject => 'This is a test mail...',
       )
    ->setBody("+----------------------------+\n".
	      "|                            |\n".
	      "|      Tripletail::Mail - Test       |\n".
	      "|                            |\n".
	      "+----------------------------+\n")
    ->toStr;

  my $mail = $TL->newMail->set("From: 差出人 <null\@example.org>\n".
             "To: 受取人 <null\@example.org>\n".
             "Subject: メール件名\n".
             "\n".
             "メール本文")
  ->toStr;

DESCRIPTION

メールの文書を生成し、読み込むクラス。 文字コードはISO-2022-JP(jis)のみ対応。

マルチパートのメールを生成する事も可能。

METHODS

$TL->newMail
$mail = $TL->newMail

Tripletail::Mail オブジェクトを作成。

parse
$mail->parse("From: =?ISO-2022-JP?B?GyRCOjk9UD9NGyhC?=\r\n".
             " =?ISO-2022-JP?B?IA==?=<null\@example.org>\r\n".
             "To: =?ISO-2022-JP?B?GyRCOjk9UD9NGyhC?=\r\n".
             " =?ISO-2022-JP?B?IA==?=<null\@example.org>\r\n".
             "Subject: =?ISO-2022-JP?B?GyRCJWEhPCVrN29MPhsoQg==?=\r\n".
             "\r\n".
             "mail body")

メール本文全体をセットする。文字コードはISO-2022-JP、 エンコード済みであること。 改行コードは \r\n もしくは \n であること。

set
$mail->set("From: 差出人 <null\@example.org>\n".
           "To: 受取人 <null\@example.org>\n".
           "Subject: メール件名\n".
           "\n".
           "メール本文")

メール本文全体をセットする。ヘッダ部はUTF-8文字列であること。 改行コードは \r\n もしくは \n であること。

get
$str = $mail->get

メール本文全体をデコード状態で取得する。改行コードは \n となる。 set メソッドの逆の操作。

setHeader
$mail->setHeader($key => $value, ...)
$mail->setHeader({$key => $value, ...})

ヘッダを設定する。UTF-8文字列でなければならない。

getHeader
$str = $mail->getHeader($key)

ヘッダを取得する。UTF-8文字列で返る。

deleteHeader
$mail->deleteHeader($key)

ヘッダを削除する。

setBody
$mail->setBody($text)

メール本文を設定する。UTF-8文字列でなければならない。

getBody
$text = $mail->getBody

メール本文を取得する。UTF-8で返される。

getFilename
$filename = $mail->getFilename

メールが添付ファイル等で、ファイル名がある場合に、そのファイル名を取得する。

attach
$mail->attach(%opts)

メールオブジェクトをマルチパートとし、パートを追加する。 本文は捨てられる。

別のTripletail::Mailオブジェクトをパートとして追加する場合:

$mail->attach(part => $TL->newMail->...);

バイナリデータを添付する場合:

my $html = $TL->readFile('attach.html');
$mail->attach(
    type => 'text/html',
    data => $html, # 添付するデータを指定
    id => '<00112233>', # Content-ID, 省略可能
    filename => 'attach.html', # 省略可能
    encoding => 'base64', # 省略可能
);

ローカルのディスクにあるファイルを添付する場合:

$mail->attach(
    type => 'text/html',
    path => 'attach.html', # 添付するファイルを指定
    id => '<00112233>', # Content-ID, 省略可能
    filename => 'attach.html', # 省略可能
    encoding => 'base64', # 省略可能
);
countParts
$count = $mail->countParts

メールに含まれるパート数を返す。multipartでない場合は常に0。

getPart
$part = $mail->getPart($index)

指定されたパートを返す。戻り値はTripletail::Mailのインスタンスである。

deletePart
$mail->deletePart($index)

指定されたパートを削除する。

toStr
$mail->toStr

エンコード済みメール本文を返す。 改行コードは \r\n 、文字コードはISO-2022-JP(jis)となる。

parse メソッドの逆の操作。

SEE ALSO

Tripletail
Tripletail::Mail
Tripletail::Sendmail

AUTHOR INFORMATION

    Copyright 2006 YMIRLINK Inc.

    This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself

    このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。

    Address bug reports and comments to: tl@tripletail.jp

    HP : http://tripletail.jp/