Browse Source
mailer, some fixes, #16
mailer, some fixes, #16
git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/branches/evo@142 4cb57b5f-5bbd-dd11-951b-001d605cbbc5master
pzinovkin
15 years ago
5 changed files with 47 additions and 81 deletions
-
3captcha/Captcha.php
-
78classes/Mailer.class.php
-
6exception/ErrorHandler.php
-
8form/Form.php
-
33mail/Mailer.php
@ -1,78 +0,0 @@ |
|||
<?php |
|||
/** |
|||
* Класс для отправки почты |
|||
* |
|||
* @copyright NetMonsters <team@netmonsters.ru> |
|||
* @link http://netmonsters.ru |
|||
* @package Core |
|||
* @subpackage mail |
|||
* @since |
|||
* @version SVN: $Id$ |
|||
* @filesource $URL$ |
|||
*/ |
|||
|
|||
class Mailer |
|||
{ |
|||
public $template_dir = 'mail'; |
|||
public $template = null; |
|||
public $templater; |
|||
public $headers; |
|||
protected $host; |
|||
|
|||
function __construct($host, $template = null) |
|||
{ |
|||
if ($template !== null) { |
|||
$this->templater = Load::templater(ACTION_TPL_PATH . '/' . $this->template_dir); |
|||
$this->template = $template; |
|||
} |
|||
|
|||
$this->host = $host; |
|||
|
|||
$this->headers .= 'From: robot@' . $this->host . "\r\n"; |
|||
$this->headers .= 'Date: '. date('r') ."\r\n"; |
|||
$this->headers .= "Return-Path: robot@". $this->host ."\r\n"; |
|||
$this->headers .= "X-Mailer: PHPMail Tool\r\n"; |
|||
$this->headers .= "Reply-To: robot@". $this->host ."\r\n"; |
|||
$this->headers .= "X-Priority: 3 (Normal)\r\n"; |
|||
$this->headers .= "Message-ID: <". md5(uniqid(time()))."@". $this->host .">\r\n"; |
|||
$this->headers .= "MIME-Version: 1.0\r\n"; |
|||
$this->headers .= "Content-Type: text/plain; charset=utf-8\r\n"; |
|||
$this->headers .= "Content-Transfer-Encoding: 16bit\r\n"; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* Отправляет письма |
|||
* |
|||
* @param mixed $mail |
|||
* @param mixed $subject |
|||
* @param mixed $data |
|||
*/ |
|||
function send ($mail, $subject, $data) |
|||
{ |
|||
$this->headers .= "To: ".$mail."\r\n"; |
|||
|
|||
foreach ($data as $key => $val) { |
|||
$this->templater->assign($key, $val); |
|||
} |
|||
|
|||
$message = $this->templater->fetch($this->template.'.tpl'); |
|||
$encoded_subject = '=?UTF-8?B?' . base64_encode($subject) . "?=\r\n"; |
|||
return mail($mail, $subject, $message, $this->headers); |
|||
} |
|||
|
|||
/** |
|||
* Отправка письма с непосредственным указанием контента |
|||
* |
|||
* @param string $email |
|||
* @param string $subject |
|||
* @param string $content |
|||
* @return bool |
|||
*/ |
|||
public function sendMessage($email, $subject, $content) |
|||
{ |
|||
$encoded_subject = '=?UTF-8?B?' . base64_encode($subject) . "?=\r\n"; |
|||
return mail($email, $encoded_subject, $content, $this->headers); |
|||
} |
|||
} |
|||
?>
|
@ -0,0 +1,33 @@ |
|||
<?php |
|||
/** |
|||
* @copyright NetMonsters <team@netmonsters.ru> |
|||
* @link http://netmonsters.ru |
|||
* @package Majestic |
|||
* @subpackage mail |
|||
* @since 2010-04-25 |
|||
* @version SVN: $Id$ |
|||
* @filesource $URL$ |
|||
*/ |
|||
|
|||
class Mailer |
|||
{ |
|||
protected $headers; |
|||
|
|||
public function __construct($host) |
|||
{ |
|||
$this->headers .= 'From: noreply@' . $host . "\r\n"; |
|||
$this->headers .= 'Date: '. date('r') ."\r\n"; |
|||
$this->headers .= "Return-Path: noreply@". $host ."\r\n"; |
|||
$this->headers .= "X-Priority: 3 (Normal)\r\n"; |
|||
$this->headers .= "Message-ID: <". md5(uniqid(time()))."@". $host .">\r\n"; |
|||
$this->headers .= "MIME-Version: 1.0\r\n"; |
|||
$this->headers .= "Content-Type: text/plain; charset=utf-8\r\n"; |
|||
$this->headers .= "Content-Transfer-Encoding: 16bit\r\n"; |
|||
} |
|||
|
|||
public function send($email, $subject, $message) |
|||
{ |
|||
$subject = '=?UTF-8?B?' . base64_encode($subject) . "?=\r\n"; |
|||
return mail($email, $subject, $message, $this->headers); |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue