コンストラクタ Mail_Queue::Mail_Queue()

コンストラクタ Mail_Queue::Mail_Queue() -- Mail_Queue のコンストラクタ

概要

require_once 'Mail/Queue.php';

mixed constructor Mail_Queue::Mail_Queue (array $container_options, array $mail_options)

説明

メールをストア、フェッチ、 送信するための新しいメールキューオブジェクトを生成します。

パラメータ

array $container_options

コンテナ (メールストレージ) オプションの配列を指定します。 詳細はチュートリアルを参照してください。

array $mail_options

メーラーオプションの配列を指定します。 詳細はチュートリアルを参照してください。

例 52-1

<?php

require_once 'Mail/Queue.php';

$container_options = array(
    'type'        => 'db',
    'database'    => 'dbname',
    'phptype'     => 'mysql',
    'username'    => 'root',
    'password'    => '',
    'mail_table'  => 'mail_queue',
);
  //オプションとして、db パラメータの代わりに文字列 'dns' を
  //指定することができる。詳細は、DB::connect() メソッド、
  //あるいは DB、MDB のドキュメントを参照のこと。
  //また、mdb コンテナを使用することができる。
$mail_options = array(
    'driver'   => 'smtp',
    'host'     => 'your_smtp_server.com',
    'port'     => 25,
    'auth'     => false,
    'username' => '',
    'password' => '',
);

$mail_queue =& new Mail_Queue($container_options, $mail_options);

* *****************************************************************
* // メールをキューに追加する
* *****************************************************************
$from             = 'user@server.com';
$from_name        = 'admin';
$recipient        = 'recipient@other_server.com';
$recipient_name   = 'recipient';
$message          = 'Test message';
$from_params      = empty($from_name) ? '<'.$from.'>' : '"'.$from_name.'" <'.$from.'>';
$recipient_params = empty($recipient_name) ? '<'.$recipient.'>' : '"'.$recipient_name.'" <'.$recipient.'>';
$hdrs = array(
    'From'    => $from_params,
    'To'      => $recipient_params,
    'Subject' => 'test message body',
);
$mime =& new Mail_mime();
$mime->setTXTBody($message);
$body = $mime->get();
$hdrs = $mime->headers($hdrs);

// キューにメッセージを追加する
$mail_queue->put($from, $recipient, $hdrs, $body);

// メッセージをより上級モードで追加することもできる
$seconds_to_send = 3600;
$delete_after_send = false;
$id_user = 7;
$mail_queue->put( $from, $recipient, $hdrs, $body, $seconds_to_send, $delete_after_send, $id_user );

// キューにあるメールをを送信する

// 毎回何通のメールを送信するか
$max_ammount_mails = 50;
$mail_queue =& new Mail_Queue($container_options, $mail_options);
$mail_queue->sendMailsInQueue($max_ammount_mails);

?>

返り値

returns成功時は True、さもなければ PEAR エラークラス

例外・エラー

throws 投げられる例外はありません

注意

この関数は、スタティックにコールする ことはできません。