class mailer for send mail
git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/trunk@20 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
This commit is contained in:
84
classes/Mailer.class.php
Normal file
84
classes/Mailer.class.php
Normal file
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
Reference in New Issue
Block a user