1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| <?php mb\_internal\_encoding("UTF-8");
class SendMail { protected $content; protected $lang; protected $subject; protected $options;
public function __construct($tplfile, $lang = "ja") { $this->content = file\_get\_contents($tplfile); $this->lang = $lang; } protected function replace_options($matches) { if (array\_key\_exists($matches\[1\], $this->options)) { return $this->options\[$matches\[1\]\]; } else { return ""; } } protected function extract_subject($matches) { $this->subject = trim($matches\[1\]); return ""; }
public function send($to, $opts) { $this->options = $opts;
$content = preg\_replace\_callback('/\\{\\$(\[a-z0-9\]+)\\}/', array($this, "replace_options"), $this->content);
list($headers, $body) = preg_split("/\\n\\n/", $content, 2);
$headers = preg\_replace\_callback('/Subject\\:(.*)/', array($this, "extract_subject"), $headers); mb_language($this->lang); $result = mb\_send\_mail($to, $this->subject, $body, $headers); $this->options = NULL; $this->subject = NULL; return $result; } } ?>
|