Tripletail

 view release on metacpan or  search on metacpan

lib/Tripletail/HtmlMail.pm  view on Meta::CPAN

	}

	$res;

}


__END__

=encoding utf-8

=head1 NAME

Tripletail::HtmlMail - 指定されたURLからデータを取得し、HTMLメールを作成する。

=head1 SYNOPSIS

  my $mail = $TL->newHtmlMail
      ->setEventListener(\&log_func)
      ->setHeader(
	  From    => 'null@example.org',
	  To      => 'null@example.org',
	  Subject => 'テストメール',
	 )
      ->setTextURL('http://example.org/foo.txt')
      ->setHtmlURL('http://example.org/foo.html')
      ->setEnclose(1)
      ->makeMail;

=head1 DESCRIPTION

HtmlMail クラスでは、名前等のテンプレート展開を行うための
支援機能をサポートしています。
(ここでいうテンプレート機能とは、名前等をメールに埋め込むことで、
Templateクラスの機能とは無関係です)

通常のタグをHTML中に書いてもBase64 エンコードされてしまうため、
そのままではテンプレート展開ができません。
また、1通ずつエンコードし直すのはパフォーマンス上の問題が発生します。

HtmlMail クラスでは、HTMLメール中の m/\0[^\0]+?\0/ にマッチする
文字列を特殊視します。この文字列が存在する場合、文字列の前後で分割し、
それぞれを Base64 エンコードします。

m/\0[^\0]+?\0/ にマッチした文字列はそのまま残るので、後に
その部分に Base64 エンコードした文字列を埋め込むことで、
テンプレート展開を行うことができます。

テンプレート展開支援についての詳しい機能は、setPreprocessor メソッド
のマニュアルを参照してください。

=head2 メーラー対応状況

 é …ç›®                                    OutLook2000     OL Express 6    Becky! Ver2     Netscape4.78    Netscape6       YahooMail       HotMail         InfoseekMail
 文字コード:JIS                         ○              ○              ○              ○              ○              ○              ○              ○
 文字コード:SJIS                        ○              ○              ○              ○              ○              ○              ○              ×
 文字コード:EUC                         ○              ○              ○              ○              ○              ○              ○              ○
 文字コード:UTF-8                       ○              ○              ○              ×              ○              ×              ×              ×
 画像埋込                                ○              ○              ○              ○              ○              ×              ○              ×
 画像外部参照                            ○              ○              ○              ○              ○              ○              ○              ○(※2)
 EMBED(FLASH等)IFRAME埋込:外部        ○              ○              ×              ×              ○              ×              ×              ○
 EMBED(FLASH等)IFRAME埋込:埋込        ×              ×              ×              ×              ×              ×              ×              ×
 JavaApplet(IFRAME埋込)                ×              ×              ×              ×              ×              ×              ×              ×
 JavaApplet(IFRAME外部参照)            ○              ○              ×              ×              ○              ×              ×              ○
 リンクをクリックしたときの動作          別window        別window        同一window      別window        別window        別window        別window(※1)   同一flame
 フレームHTML外部参照                    ○              ○              ○              △(※3)         ×              ×              ×              ×
 フレームHTML埋込                        ×              ×              ○              △(※3)         ×              ×              ×              ×
 フレーム内画像埋込                      ×              ×              ×              ○(※3)         ×              ×              ×              ×
 FORM                                    ○(※6)         ○              ○              ○              ○(※7)         ○(※7)         ○(※1)         ○(※2)
 JavaScript:onLoadの動作                ×              △(※8)         ×              △(※9)         ×              ×              ×              ×
 JavaScriptの動作                        ×              △(※8)         ×              △(※9)         △(※9)         ×              ×              ×
 HTML内蔵CSS                             ○              ○              ○              ×(※4)         ○              ○              ×              △(※11)
 HTML内蔵CSS画像埋込                     ○              ○              ○              ×(※4)         ×              ×              ×              ×
 HTML内蔵CSS画像外部参照                 ○              ○              ○              ×(※4)         ○              △(※5)         ×              ×
 外部CSS                                 ○              ○              ○              ×              ○              ×              ×              ○(※2,※5)
 外部CSS画像埋込                         ○              ○              ○              ×              ×              ×              ×              ×
 外部CSS import外部参照                  ○              ○              ○              ×              ○              ×              ×              ○(※2)
 外部CSS import埋込                      ○              ○              ×              ×              ×              ×              ×              ×
 
 Becky! Ver1:HTML対応が非常に限定されているため,本ソフトで作成したHTMLメールは表示できません。
 @nifty:WebメールはHTMLに対応していません。
 
 ※1:上部にMSNのメッセージが出現。
 ※2:対応する文字コードを使用したHTMLのみ可。
 ※3:NOFRAMEタグ内のHTMLを表示。
 ※4:表示が崩れる(ブラウザでは見られる)。
 ※5:背景画像がメール表示枠をはみ出る。
 ※6:フォーム入力の操作性に問題あり(誤操作によりメール削除する危険性アリ)。
 ※7:文字コードが一部崩れる可能性有り。
 ※8:セキュリティ設定が「インターネット」で且つ、インターネットのセキュリティレベルが「中」の時に可。
 ※9:詳細設定にて、「メールとニュースでJavaScriptを使用する」がチェックされていれば可。
 ※10:添付は可能、実行はJavaセキュリティによる可否あり。
 ※11:背景画像の使用は不可能。

2005年1月現在

=head2 METHODS

=over 4

=item $TL->newHtmlMail

  $htmlmail = $TL->newHtmlMail

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

=item init

  $htmlmail->init

メールオブジェクトを初期化します。
インスタンスの create 直後と同じ状態になります。

=item setProxy

  $htmlmail->setProxy($PROXY)

$PROXY : 使用するプロキシ "host:port" 形式。

undef を指定するとダイレクト接続になります。

=item setEventListener



( run in 1.441 second using v1.01-cache-2.11-cpan-71847e10f99 )