| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
チュートリアルチュートリアル – Mail_Queue についてのチュートリアル
シンプルな例を用いた Mail_Queue の使い方ここでは、例として DB コンテナと mysql データベースを使用します。 mysql データベースに、(キューに追加される)メッセージをストアしておくための テーブルを作成する必要があります。
mysql.sql CREATE TABLE mail_queue ( id bigint(20) NOT NULL default '0', create_time datetime NOT NULL default '0000-00-00 00:00:00', time_to_send datetime NOT NULL default '0000-00-00 00:00:00', sent_time datetime default NULL, id_user bigint(20) NOT NULL default '0', ip varchar(20) NOT NULL default 'unknown', sender varchar(50) NOT NULL default '', recipient text NOT NULL, headers text NOT NULL, body longtext NOT NULL, try_sent tinyint(4) NOT NULL default '0', delete_after_send tinyint(1) NOT NULL default '1', PRIMARY KEY (id), KEY id (id), KEY time_to_send (time_to_send), KEY id_user (id_user) );
定義が必要なオプションがあります。 それらは 2 回必要となりますので(一回はメッセージをキューへ追加する時、 もう一回はメッセージを送信する時)、 設定ファイルにまとめて記述するのが良いでしょう。 ここでは、その設定ファイルを config.php と名付けます。 config.php
<?php
それでは、設定が終わったので、使ってみましょう。 最初にメールメッセージを構築し、キューに追加する必要があります。 add_message.php
<?php
よろしいでしょうか。ここでは、メッセージのキューへの追加をシンプルな方法で行いました。 より高度なオプションの指定も可能ですので、put 関数のドキュメントを参照してください。 次いで、(キューに追加した)メッセージを送信する必要があります。これには、cron を用いて メッセージを送信するスクリプトを定期的に実行させて行うことが一般的です。 以下が、メッセージ送信を行うシンプルなスクリプトです。 send_messages.php
<?php
これで完了です。 上記のスクリプトを定期的に実行し、必要なときにメールをキューに追加します。 Mail_Queue v.1.1 以降、preload() メソッドは、全てのメールを一度にプリロードせずに、 毎回数通だけをメモリにプリロードします。 バッファが空になると、自動的に再びプリロードされます。新しく加えられた setBufferSize() メソッドを通してバッファのサイズをセットすることができます。 また、キューにストアされたメールを一通ずつ送信することもできます。 以下がそれを行うシンプルなスクリプトです。 send_messages_one_by_one.php
<?php
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「チュートリアル」をGoogle検索
|