- []
- []
PEAR :: Mail_Mime Mime変換、マルチパートメール作成
PEAR :: Mail_Mime
概要
添付ファイル付きメールや、 HTMLメール作成も大変便利。
日本語文字化け? 日本語対応版? 別にそんなコトしなくても文字化けしませんよ。
(ノ・・)ン。。。。。。(((●コロコロッ
mime変換,mime分解を一手に担うのがこのPEAR :: Mail_Mime Mime変換、マルチパートメール作成です。
HTMLメールでやっかいなのが、 画像のBase64変換とHTMLのcid変換。 そのあたりもさっくりやってくれるので楽。
PEAR :: Mail_Mime Mime変換、マルチパートメール作成のインストールはこんな具合。 # pear install Mail_Mime
サンプル
ソースはこんな感じかな。
<?php require_once('Mail.php'); require_once('Mail/mime.php'); $subject = "HTMLメールですよー。結構長めに設定してmime変換されているかチェック。"; // 題名 $text = "e-mailのテストだよ"; // テキスト本文 $html = <<<HTML <html> <HEAD> <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=EUC-JP"> </HEAD> <body> e-<font color="red">mail</font>のテストだよ<br /> <img src="my_baby.gif" /> </body> </html> HTML; // EUC-JP => JIS $original = mb_internal_encoding(); $subject = mb_convert_encoding( $subject, "ISO-2022-JP", "EUC-JP" ); mb_internal_encoding( "ISO-2022-JP" ); $subject = mb_encode_mimeheader( $subject, "ISO-2022-JP" ); mb_internal_encoding( $original ); $text = mb_convert_encoding( $text, "ISO-2022-JP", "EUC-JP" ); $file = './secret_file.xls'; // application/octet-stream $img = './my_baby.gif'; // image/gif $crlf = "\n"; // 現在の改行コード // ヘッダー情報 $hdrs = array( 'From' => 'dozo@matrix.jp', 'Sender' => 'dozo@rgr.jp', 'Subject' => $subject, ); // インスタンス生成 $mime = & new Mail_mime($crlf); $mime->setTXTBody($text); // $mime->setHTMLBody($html); $mime->addAttachment($file); $mime->addHTMLImage($img, 'image/gif'); // 出力用パラメータ $build_param = array( "html_charset" => "EUC-JP", "text_charset" => "ISO-2022-JP", "head_charset" => "ISO-2022-JP", ); $body = $mime->get( $build_param ); $hdrs = $mime->headers($hdrs); $mail =& Mail::factory('mail'); $mail->send('dozo@rgr.jp', $hdrs, $body); ?>
ハマリどころ。
getメソッドとheadersメソッドの順番を入れ替えると送信されなくなる。
要望を書いてみたり。
出力用パラメータはもっと前に設定したいなぁ。
コメント
-subject文字数多いと文字化けしました。$subject = mb_convert_encoding( $subject, “ISO-2022-JP”, “EUC-JP” );を$subject = mb_convert_encoding( $subject, “EUC-JP” );にしたら解決。 – tetsuo {2006-05-05 17:13:15 (金)};
-mb_encode_mimeheaderを使うのが標準になれば良いんですけどね。なんかちゃんと動かないんですよねぇ。。 – dozo {2006-05-06 11:02:46 (土)};
- ブックマークショートカット
pear/mail/mime.txt · 最終更新: 2007/06/11 12:20 by dozo



