このページの2つのバージョン間の差分を表示します。
11_php:05_class:01_mail_class [2015/05/19 08:11] – 作成 matsui | 11_php:05_class:01_mail_class [2018/05/10 03:07] (現在) – matsui | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== 01 Mail class ====== | ||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ===== Mail Class ===== | ||
+ | |||
+ | < | ||
+ | <?php | ||
+ | |||
+ | // 言語設定 | ||
+ | mb_language(" | ||
+ | // 内部エンコーディング | ||
+ | mb_internal_encoding(" | ||
+ | |||
+ | Class Mail { | ||
+ | var $to = ''; | ||
+ | var $cc = ''; | ||
+ | var $title = ''; | ||
+ | var $body = ''; | ||
+ | var $from = ''; | ||
+ | var $fromName = ''; | ||
+ | var $header = ''; | ||
+ | |||
+ | /** | ||
+ | * 入力チェック | ||
+ | */ | ||
+ | public function validation() { | ||
+ | $ret = array(' | ||
+ | |||
+ | // トリムする | ||
+ | $this-> | ||
+ | $this-> | ||
+ | $this-> | ||
+ | $this-> | ||
+ | $this-> | ||
+ | |||
+ | if (!is_array($this-> | ||
+ | $this-> | ||
+ | } | ||
+ | if (!is_array($this-> | ||
+ | $this-> | ||
+ | } | ||
+ | |||
+ | // 宛先 | ||
+ | if (empty($this-> | ||
+ | $ret[' | ||
+ | array_push($ret[' | ||
+ | return $ret; | ||
+ | } | ||
+ | |||
+ | // タイトル | ||
+ | if (empty($this-> | ||
+ | $ret[' | ||
+ | array_push($ret[' | ||
+ | return $ret; | ||
+ | } | ||
+ | |||
+ | // 本文 | ||
+ | if (empty($this-> | ||
+ | $ret[' | ||
+ | array_push($ret[' | ||
+ | return $ret; | ||
+ | } | ||
+ | |||
+ | // From | ||
+ | if (empty($this-> | ||
+ | $ret[' | ||
+ | array_push($ret[' | ||
+ | return $ret; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * メール送信処理 | ||
+ | */ | ||
+ | public function send() { | ||
+ | // 先ずはチェック | ||
+ | $ret = $this-> | ||
+ | |||
+ | // エラーがある場合は終了 | ||
+ | if ($ret[' | ||
+ | return $ret; | ||
+ | } | ||
+ | |||
+ | // 宛先作成 | ||
+ | $to = $this-> | ||
+ | |||
+ | // FROM作成 | ||
+ | if (empty($this-> | ||
+ | $this-> | ||
+ | } | ||
+ | else { | ||
+ | $from_name = mb_encode_mimeheader(mb_convert_encoding($this-> | ||
+ | $this-> | ||
+ | } | ||
+ | |||
+ | // CC作成 | ||
+ | $cc = $this-> | ||
+ | if ($cc) { | ||
+ | $this-> | ||
+ | } | ||
+ | |||
+ | // メール送信処理 | ||
+ | if (mb_send_mail($to, | ||
+ | return $ret; | ||
+ | } | ||
+ | |||
+ | // メール送信失敗した場合の処理 | ||
+ | else { | ||
+ | $ret[' | ||
+ | array_push($ret[' | ||
+ | return false; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * 引数が配列だった場合はカンマで接続し返却する。 | ||
+ | * それ以外だった場合は、そのまま返却する。 | ||
+ | * @param $mixed 配列、もしくは文字列 | ||
+ | */ | ||
+ | private function createMailToString($mixed) { | ||
+ | // 配列の場合はカンマで区切って返却 | ||
+ | if (is_array($mixed)) { | ||
+ | return implode(', | ||
+ | } | ||
+ | // その他の場合はそのまま返却 | ||
+ | else if ($mixed) { | ||
+ | return $mixed; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | $mail = new Mail(); | ||
+ | $mail-> | ||
+ | $mail-> | ||
+ | $mail-> | ||
+ | $mail-> | ||
+ | $mail-> | ||
+ | $result = $mail-> | ||
+ | if ($result[' | ||
+ | echo "Send NG.\n"; | ||
+ | } | ||
+ | else { | ||
+ | echo "Send OK.\n"; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | {{tag> |