Class OME
このクラスは、日本語での正しいメール送信を行うために作ったものです。 解説は、http://mac-ome.jp/site/php.html を参照してください。
history
- 2003/7/23 「メール送信システムの作り方大全」のサンプルとして制作
- 2003/9/13 OMEのフリーメール用に少しバージョンアップ
- 2004/3/26 クラス化した。OMEとして公開する事にした。
- 2004/4/18 バグフィックス
- 2004/4/27 バグフィックス(BccやCcができなかったのを修正)
- 2008/6/6 phpdocumentor向けにコメントを整理、パラメータ設定のメソッドを追加、ファイルをUTF-8にした
Bccフィールドに追加する。
- string $address : 送信者のアドレス
- string $name : 送信者名
メールの本文を追加する。既存の本文の後に追加する。
- string $str : メールの本文に追加する文字列
Ccフィールドに追加する。
- string $address : 送信者のアドレス
- string $name : 送信者名
Toフィールドに追加する。
- string $address : 送信者のアドレス
- string $name : 送信者名。日本語の指定も可能
文字列中にコントロールコードが含まれているかを調べる
- string $str : 調べる文字列
メールアドレスが正しい形式かどうかを判断する。
判断に使う正規表現は「^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]+$」なので、完全ではないが概ねOKかと。
- string $address : チェックするメールアドレス。
文字列を別メソッドで決められたバイト数ごとに分割する。ワードラップ、禁則を考慮する。(内部利用メソッド)
- string $str : 処理対象の文字列
エラーメッセージを取得する。
このクラスの多くの関数は、戻り値がbooleanとなっていて、それをもとにエラーかどうかを判別すできる。 戻り値がfalseである場合、この関数を使ってエラーメッセージを取得できる。
メールヘッダ用にMIMEに即した文字列に変換する(内部利用メソッド)
ヘッダ文字列として利用できるように、文字列内の日本語の部分をMIMEエンコードする。 文字列の中を日本語と英語に分けて、日本語の部分だけをISO-2022-JPでエンコードする。
- string $str : 処理対象の文字列
- boolean $isSeparateLine : 日本語と英語の境目を改行する
テンプレートに引数の配列の内容を差し込み、それをメールの本文とする。既存の本文は上書きされる。
テンプレート中の「@@1@@」が、$ar[0]の文字列と置き換わる。 テンプレート中の「@@2@@」が、$ar[1]の文字列と置き換わる。といった具合に置換する。
たとえば、配列の要素が5の場合、「@@6@@」や「@@7@@」などがテンプレート中に残るが、 これらは差し込みをしてから強制的に削除される。強制削除があった場合にはfalseを戻すが、 それでも差し込み自体は行われている。
- array $ar : テンプレートに差し込むデータが入っている配列
引数が日本語の行末禁則文字かどうかを判断する(内部利用メソッド)
- string $str : 処理対象の文字
引数が日本語の行頭禁則文字かどうかを判断する(内部利用メソッド)
- string $str : 処理対象の文字
引数が日本語の文字列かどうかを判断する(内部利用メソッド)
- string $str : 処理対象の文字
引数の文字が空白かどうかのチェックを行う。ただ、これは標準の関数を利用すべきかもしれない(内部利用メソッド)
- string $str : 処理対象の文字
引数の文字が単語を構成する文字(アルファベット、あるいは数値)かどうかのチェックを行う(内部利用メソッド)
- string $str : 処理対象の文字
メールを送信する。
念のため、To、Cc、Bccのデータにコントロールコードが入っているかどうかをチェックしている。 コントロールコードが見つかればfalseを返し送信はしないものとする。
Bccフィールドを設定する。すでに設定されていれば上書きされ、この引数の定義だけが残る
- string $address : 送信者のアドレス
- string $name : 送信者名
メールの本文を設定する。既存の本文は置き換えられる。
- string $str : メールの本文に設定する文字列
本文の自動改行のバイト数を設定する。初期値は74になっている。
- integer $bytes : 改行を行うバイト数。0を指定すると自動改行しない。
Ccフィールドを設定する。すでに設定されていれば上書きされ、この引数の定義だけが残る
- string $address : 送信者のアドレス
- string $name : 送信者名
追加のヘッダを1つ設定する。ただし、Subject、To、From、Cc、Bccは該当するメソッドを使う
- string $field : 追加するヘッダのフィールド
- string $value : フィールドの値。日本語を含める場合は自分でエンコードを行う
Fromフィールドを設定する。
- string $address : 送信者のアドレスで、アドレスとして正しいかどうかがチェックされる
- string $name : 送信者名(日本語の文字列はそのまま指定可能)で、省略しても良い
- boolean $isSetToParam : 送信者アドレスを自動的にsendmailの-fパラメータとして与えて、Return-Pathのアドレスとして使用する場合はTRUE。既定値はFALSE
sendmailコマンドに与える追加のパラメータを指定する
- string $param : 追加のパラメータ。この文字列がそのままmb_send_mail関数の5つ目の引数となる
メールの件名を設定する。
- string $str : メールの件名に設定する文字列
指定したファイルをテンプレートとして読み込む。
- string $tfile : テンプレートファイル。たとえば、同一のディレクトリにあるファイルなら、ファイル名だけを記述すればよい。
文字列そのものをテンプレートして設定する。
- string $str : テンプレートとして利用する文字列
Toフィールドを設定する。すでに設定されていれば上書きされ、この引数の定義だけが残る
- string $address : 送信者のアドレス
- string $name : 送信者名
Documentation generated on Mon, 09 Jun 2008 07:32:09 -0700 by phpDocumentor 1.4.1