Files
majestic/classes/Mailer.class.php
ejikharev 6c9f124ecc add method for users and edit mailer
git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/trunk@41 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
2009-01-13 09:26:08 +00:00

85 lines
2.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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С любовью @робот.';
/*
* как только заработает отправка писем на серваке,
* сразу надо раскоментить и проверить
*
* return mail($mail, $subject, $message, $this->headers);
*/
return true;
}
/**
* возвращает дату
*
*/
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;
}
}
?>