source: closed/dev/data/class/GC_SendMail.php @ 15151

Revision 15151, 3.2 KB checked in by naka, 19 years ago (diff)
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7
8//--- ¥Æ¥­¥¹¥È/HTML¡¡¥á¡¼¥ëÁ÷¿®
9class GC_SendMail {
10
11    var $html;          //  HTML ¥á¡¼¥ë¥Ø¥Ã¥À¡¼
12    var $to;            //  Á÷¿®Àè
13    var $subject;       //  Âê̾
14    var $body;          //  ËÜʸ
15    var $header;        //  ¥Ø¥Ã¥À¡¼
16    var $return_path;   //¡¡return path
17    var $mailer;
18
19    function setTo($to, $to_name = "") {
20        if($to_name != "") {
21            $name = ereg_replace("<","¡ã", $to_name);
22            $name = ereg_replace(">","¡ä", $name);
23            $name = mb_encode_mimeheader(mb_convert_encoding($name, "JIS", CHAR_CODE));
24            $this->to = $name . "<" . $to . ">";
25        } else {
26            $this->to = $to;
27        }
28    }
29   
30    function setItem( $to, $subject, $body, $fromaddress, $from_name, $reply_to="", $return_path="", $errors_to="", $bcc="", $cc ="" ) {
31        $this->header        = "Mime-Version: 1.0\n";
32        $this->header       .= "Content-Type: text/plain; charset=ISO-2022-JP\n";
33        $this->header       .= "Content-Transfer-Encoding: 7bit\n";
34        $this->setBase($to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc);
35    }
36       
37    function setItemHtml( $to, $subject, $body, $fromaddress, $from_name, $reply_to="", $return_path="", $errors_to="", $bcc="", $cc ="" ) {
38        $this->header        = "Mime-Version: 1.0\n";
39        $this->header       .= "Content-Type: text/html; charset=ISO-2022-JP\n";
40        $this->header       .= "Content-Transfer-Encoding: 7bit\n";
41        $this->setBase($to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc);
42    }
43
44    /*  ¥Ø¥Ã¥ÀÅù¤ò³ÊǼ
45         $to            -> Á÷¿®Àè¥á¡¼¥ë¥¢¥É¥ì¥¹
46         $subject       -> ¥á¡¼¥ë¤Î¥¿¥¤¥È¥ë
47         $body          -> ¥á¡¼¥ëËÜʸ
48         $fromaddress   -> Á÷¿®¸µ¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹
49         $header        -> ¥Ø¥Ã¥À¡¼
50         $from_name     -> Á÷¿®¸µ¤Î̾Á°¡ÊÁ´³ÑOK¡Ë
51         $reply_to      -> reply_toÀßÄê
52         $return_path   -> return-path¥¢¥É¥ì¥¹ÀßÄê¡Ê¥¨¥é¡¼¥á¡¼¥ëÊÖÁ÷ÍÑ¡Ë
53         $cc            -> ¥«¡¼¥Ü¥ó¥³¥Ô¡¼
54         $bcc           -> ¥Ö¥é¥¤¥ó¥É¥«¡¼¥Ü¥ó¥³¥Ô¡¼
55    */     
56    function setBase( $to, $subject, $body, $fromaddress, $from_name, $reply_to="", $return_path="", $errors_to="", $bcc="", $cc ="" ) {
57        $this->to            = $to;
58        $this->subject       = mb_encode_mimeheader($subject);
59
60        // iso-2022-jp¤À¤ÈÆÃ¼ìʸ»ú¤¬¡©¤ÇÁ÷¿®¤µ¤ì¤ë¤Î¤ÇJIS¤ò»ÈÍѤ¹¤ë¡£
61        $this->body          = mb_convert_encoding( $body, "JIS", CHAR_CODE);
62               
63        // ¥Ø¥Ã¥À¡¼¤ËÆüËܸì¤ò»ÈÍѤ¹¤ë¾ì¹ç¤ÏMb_encode_mimeheader¤Ç¥¨¥ó¥³¡¼¥É¤¹¤ë¡£
64        $from_name = ereg_replace("<","¡ã", $from_name);
65        $from_name = ereg_replace(">","¡ä", $from_name);
66        //$from_name = mb_convert_encoding($from_name,"JIS",CHAR_CODE);
67       
68        $this->header.= "From: ". mb_encode_mimeheader( $from_name )."<".$fromaddress.">\n";
69
70        if($reply_to != "") {
71            $this->header.= "Reply-To: ". $reply_to . "\n";         
72        } else {
73            $this->header.= "Reply-To: ". $fromaddress . "\n";         
74        }
75       
76        if($cc != "") {
77            $this->header.= "Cc: " . $cc. "\n";         
78        }
79       
80        if($bcc != "") {
81            $this->header.= "Bcc: " . $bcc . "\n";         
82        }
83
84        if($errors_to != "") {
85            $this->header.= "Errors-To: ". $errors_to ."\n";
86        }
87    }
88   
89    //  ¥á¡¼¥ëÁ÷¿®¤ò¼Â¹Ô¤¹¤ë
90    function sendMail() {
91        return $this->sendHtmlMail();
92    }
93
94    function sendHtmlMail() {
95        //¡¡¥á¡¼¥ëÁ÷¿®
96        if( mail( $this->to, $this->subject, $this->body, $this->header) ) {
97            return true;
98        }
99        return false;
100    }
101}
102
103?>
Note: See TracBrowser for help on using the repository browser.