Browse Source
class mailer for send mail
class mailer for send mail
git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/trunk@20 4cb57b5f-5bbd-dd11-951b-001d605cbbc5master
ejikharev
16 years ago
1 changed files with 84 additions and 0 deletions
@ -0,0 +1,84 @@ |
|||||
|
<?php |
||||
|
/** |
||||
|
* Класс для отправки мыла |
||||
|
* |
||||
|
* @copyright |
||||
|
* @link |
||||
|
* @package Nakon |
||||
|
* @subpackage face |
||||
|
* @since |
||||
|
* @version SVN: $Id$ |
||||
|
* @filesource $URL$ |
||||
|
*/ |
||||
|
|
||||
|
class Mailer |
||||
|
{ |
||||
|
public $template_dir = 'mail'; |
||||
|
public $template; |
||||
|
public $templater; |
||||
|
public $headers; |
||||
|
|
||||
|
function __construct($template) |
||||
|
{ |
||||
|
$this->templater = Load::templater(ACTION_TPL_PATH.'/'.$this->template_dir); |
||||
|
$this->template = $template; |
||||
|
|
||||
|
/* если че забыл, не серчайте */ |
||||
|
$this->headers .= 'From: robot@'.Env::Server('SERVER_NAME'); |
||||
|
$this->headers .= "Date: ".$this->RFCDate()."\r\n"; |
||||
|
$this->headers .= "From: robot@".Env::Server('SERVER_NAME')."\r\n"; |
||||
|
$this->headers .= "Return-Path: robot@".Env::Server('SERVER_NAME')."\r\n"; |
||||
|
$this->headers .= "X-Mailer: PHPMail Tool\r\n"; |
||||
|
$this->headers .= "Reply-To: robot@".Env::Server('SERVER_NAME')."\r\n"; |
||||
|
$this->headers .= "X-Priority: 3 (Normal)\r\n"; |
||||
|
$this->headers .= "Message-ID: <". md5(uniqid(time()))."@".Env::Server('SERVER_NAME').">\r\n"; |
||||
|
$this->headers .= "MIME-Version: 1.0\r\n"; |
||||
|
$this->headers .= "Content-Type: text/plain; charset=windows-1251\r\n"; |
||||
|
$this->headers .= "Content-Transfer-Encoding: 8bit\r\n"; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* Отправляет письма |
||||
|
* |
||||
|
* @param mixed $mail |
||||
|
* @param mixed $subject |
||||
|
* @param mixed $data |
||||
|
*/ |
||||
|
function send ($mail, $subject, $data) |
||||
|
{ |
||||
|
$this->headers .= "To: ".$mail."\r\n"; |
||||
|
$this->headers .= "Subject: ".$subject."\r\n"; |
||||
|
|
||||
|
foreach ($data as $key => $val) { |
||||
|
$this->templater->assign($key, $val); |
||||
|
} |
||||
|
|
||||
|
$message = $this->templater->fetch($this->template.'.tpl').'\r\n\r\nС любовью @робот.'; |
||||
|
|
||||
|
/* |
||||
|
* как только заработает отправка писем на серваке, |
||||
|
* сразу надо раскоментить и проверить |
||||
|
* |
||||
|
* mail($mail, $subject, $message, $this->headers); |
||||
|
*/ |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* возвращает дату |
||||
|
* |
||||
|
*/ |
||||
|
function RFCDate() { |
||||
|
$tz = date("Z"); |
||||
|
$tzs = ($tz < 0) ? "-" : "+"; |
||||
|
$tz = abs($tz); |
||||
|
$tz = ($tz/3600)*100 + ($tz%3600)/60; |
||||
|
$result = sprintf("%s %s%04d", date("D, j M Y H:i:s"), $tzs, $tz); |
||||
|
|
||||
|
return $result; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue