The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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/