読者です 読者をやめる 読者になる 読者になる

メールの送信にPEARのMailパッケージを使う

PHP

ちょっと気になって、PEARのMailとMail_mimeを調べていたのだが、普通に使えるライブラリっぽいので驚いた。

PHPのmail関数とか、mb_send_mail関数とかは、今となってはどのように使うのか全く分からないし、何のために存在しているのか全く分からないが、PEARのMailを使えば、Pythonしか書けないプログラマでもちゃんと書けるではないか!

次のコードは、Mail, Mail::mimeを利用して、VERP形式で日本語メールを送る例。

<?php
include 'Mail.php';
include 'Mail/mime.php';

mb_internal_encoding('UTF-8');

$encoding  = 'ISO-2022-JP';
$subject   = '件名';
$text      = '本文';
$to_addr   = 'tiger@example.org';
$from_addr = 'scott@example.com';

$headers = array('From'    => $from_addr,
                 'To'      => $to_addr,
                 'Subject' => mb_encode_mimeheader(mb_convert_encoding($subject, $encoding), $encoding)
                 );

$mime = new Mail_mime();
$mime->setTXTBody(mb_convert_encoding($text, $encoding));
$headers = $mime->headers($headers);

$mail =& Mail::factory('smtp', array('verp'=>true));
$mail->send($to_addr, $headers, $mime->get());


PHPプログラミングから離れてしまうとPHP界の空気が読めなくなってしまう。PEARZend Frameworkの関係とか全く分からない。Zend_MailZend_Mimeもなかなか使えそうだが、Zend Frameworkを積極的に使おうという気運はあるのだろうか・・・