• []
  • []
  •  
  • del.icio.us 
  •  
  • Yahoo!֥åޡϿ 

PEAR :: Mail メール送信のスタンダード

PHP 求人 募集 Symfony CakePHP Smarty Ruby on Rails

PEAR::Mail

PEAR::Mail 概要

PHPには標準でメールを送信する関数が装備されています。 気軽にメール送信する分にはかまわないのですが、 実際はほとんど直接使うことはありません。 それにlinuxだとサーバーが別になってたら使えません。 そこでSMTPにつないでベラベラしゃべるのですが、 自前で実装はやっぱり面倒です。

そこでPEAR :: Mail メール送信のスタンダードの登場です。 windows, Linux関係なくオプション設定だけでSMTP接続をやってくれます。

PEAR::Mail サンプル

ソースはこんな感じ

 <?php
  include('Mail.php');
 
  $recipients = 'dozo@rgr.jp';
 
  $headers['From']    = 'dozo@matrix.jp';
  $headers['To']      = 'dozo@rgr.jp';
  $headers['Subject'] = 'subject';
 
  $body = 'Test message';
 
  // SMTPサーバ
  $mail_options = array(
      'host'      => 'dozo.rgr.jp', // ホスト名
      'port'      => 25,            // ポート番号
      'auth'      => true,          // 認証必要?
      'username'  => "dozo",        // ユーザー名
      'password'  => "pass",        // パスワード
      'localhost' => 'localhost',   // HELO
  );
 
  // Create the mail object using the Mail::factory method
  $mail_object =& Mail::factory("SMTP",$mail_options);  // SMTP送信準備
 
  $result = $mail_object->send($recipients, $headers, $body);
  if( PEAR::isError( $result ) )
      echo $result->getMessage();
 
 ?>

でもこのままだと日本語使うの面倒。
個別にJISコード変換するのは大変。
なので、通常はPEAR :: Mail_mimeDecodeと併せて使います。

コメント

-文字化けするのは、mbstring.internal_encodingの設定では? – takuya {2006-06-08 05:10:38 (木)};
-internal_encodingはmultibyte関数の基本設定にしかならないので、文字化けの解消とは関係ないですね。 – dozo {2006-06-08 09:24:16 (木)};
-日本語扱う為の処理が足りないような・・・ – noah {2006-06-29 12:22:54 (木)};
-日本語はPEAR::Mailで処理しません。PEAR :: Mail_mimeDecodeをご覧ください。 – dozo {2006-06-29 21:46:52 (木)};


pear/mail.txt · 最終更新: 2007/08/06 17:33 by dozo