Mail_Mimeの使い方[Pear::Mail_Mime]

メモ:  Category:pear

Pear に Mail_Mime と呼ばれるパッケージがあります。

MIME とは、規格は RFC1521 と RFC1522 に文書化されています。 Base64 などの符号化により バイナリデータの転送を可能にしました。それに伴い、8ビットの日本語も送信可能になり 複数のデータをまとめて転送できるようになりました。

この MIME形式 にあわせて変換してくれるクラスが Pear の Mail_Mime です。 Maile_Mime には Mail_Mime、Mail_mimeDecode、Mail_mimePart クラスが含まれています。

Mail_Mime 使用方法は、次のようになります。

<?php
require_once "Mail.php";
require_once "Mail/mime.php";

$subject = 'サブジェクト';
$subject = mb_convert_encoding($subject, 'EUC-JP', mb_detect_encoding($subject));
$subject = mb_encode_mimeheader($subject, 'ISO-2022-JP');

$text = "メッセージ\nです。\n";
$text = mb_convert_encoding($text, 'ISO-2022-JP', mb_detect_encoding($text));

$file = './attach_file.zip';

$crlf = "\n"; //Pear::Mailの時は、\n

$header = array(
  'From'    => 'root@example.com',
  'Subject' => $subject,
);

$objMime = & new Mail_mime($crlf);

$objMime->setTXTBody($text);
$objMime->addAttachment($file);

// 出力用パラメータ
$build_param = array(
   "text_charset" => "ISO-2022-JP",
   "head_charset" => "ISO-2022-JP",
);

$body = $mime->get($build_param);
$header = $mime->headers($header);

$mail_object =& Mail::factory('mail');
$mail_object->send('bnote@example.com', $header, $body);
?>

bluenote by BBB