コード例 #1
0
ファイル: conth.php プロジェクト: infrajs/contacts
    $_SESSION['submit_time'] = time();
}
$ans['testmail'] = $mdata['testmail'];
if ($maildir) {
    $folder = Path::theme($maildir);
    $name = Path::tofs(Path::encode($data['name']));
    $fname = date('Y F j H-i') . ' ' . $name . ' ' . time();
    if ($conf['file'] && $file) {
        $src = $folder . $fname . '.' . Path::tofs($file['name']);
        $r = move_uploaded_file($file['tmp_name'], $src);
        if (!$r) {
            return Ans::err($ans, 'Неудалось загрузить файл');
        }
        $data['file'] = Path::toutf(Path::pretty($src));
    }
}
$body = Template::parse('-contacts/mail.tpl', $data);
if (!$body) {
    $body = 'Ошибка. Не найден шаблон письма!';
}
if ($maildir) {
    file_put_contents($folder . $fname . '.txt', print_r($body, true) . "\n\n\n\n\n" . print_r($mdata, true));
}
if (!isset($mdata['email_from'])) {
    return Ans::err($ans, 'Ошибка с адресом получателя!');
}
$r = Mail::toAdmin($mdata['subject'], $mdata['email_from'], $body, $mdata['testmail']);
if (!$r) {
    return Ans::err($ans, "Неудалось отправить письмо из-за ошибки на сервере!");
}
return Ans::ret($ans, "Письмо отправлено!<blockquote>" . $data['text'] . "</blockquote>");
コード例 #2
0
ファイル: subscribe.php プロジェクト: infrajs/subscribe
$conf = Config::get('subscribe');
if (empty($_REQUEST['email'])) {
    return Ans::err($ans, $conf['msg']);
}
if (strlen($_REQUEST['email']) > 1000) {
    return Ans::err($ans, 'Слишком много данных. ' . $conf['msg']);
}
$email = strip_tags($_REQUEST['email']);
$email = trim($email);
$email = Path::encode($email);
$agent = $_SERVER['HTTP_USER_AGENT'];
$ip = $_SERVER['REMOTE_ADDR'];
session_start();
if (empty($_SESSION['submit_time'])) {
    $_SESSION['submit_time'] = 0;
}
if (time() - $_SESSION['submit_time'] < 60) {
    return Ans::err($ans, 'Письмо уже отправлено! Новое сообщение можно будет отправить через 1 минуту!');
}
$_SESSION['submit_time'] = time();
$data = array('email' => $email, 'agent' => $agent, 'ip' => $ip, 'host' => $_SERVER['HTTP_HOST']);
$body = Template::parse('-subscribe/subscribe.mail.tpl', $data);
Mail::toAdmin('Запрос ' . $data['host'] . ' ' . $email, 'noreplay@' . $data['host'], $body);
$src = Path::resolve('~.subscribe.json');
$subs = Load::loadJSON($src);
if (!$subs) {
    $subs = array();
}
$subs[$email] = date('d.m.Y');
file_put_contents($src, Load::json_encode($subs));
return Ans::ret($ans, 'Ваша заявка принята');
コード例 #3
0
ファイル: update.php プロジェクト: infrajs/mail
    chdir('../../../');
    //Согласно фактическому расположению файла
    require_once 'vendor/autoload.php';
}
ini_set("display_errors", 1);
$from = 'noreplay@' . $_SERVER['HTTP_HOST'];
$headers = 'From: ' . $from . "\r\n";
$headers .= "Content-type: text/plain; charset=UTF-8\r\n";
$headers .= 'Reply-To: aky@list.ru' . "\r\n";
//echo 'Нативная проверка<br>';
//$r=mail('*****@*****.**','Проверка с сервера '.$_SERVER['HTTP_HOST'],'Текст проверочного сообщения',$headers);
//var_dump($r);
//return;//нельзя зачастую лимит стоит сколько писем за раз можно отправлять
//echo '<br>Сложная проверка<br>';
$conf = Access::$conf['admin'];
$ans = array();
if (!$conf['support']) {
    return Ans::err($ans, 'У администратора не указан email support');
}
$body = Path::theme('-mail/update.tpl');
$body = file_get_contents($body);
$body = str_replace(array("{host}", "{date}"), array($_SERVER['HTTP_HOST'], date('j.m.Y')), $body);
$subject = 'Выполнено обновление ' . $_SERVER['HTTP_HOST'];
$email_from = 'noreplay@' . $_SERVER['HTTP_HOST'];
$r = Mail::toSupport($subject, $email_from, $body);
if (!$r) {
    error_log('Не удалось отправить тестовое письмо.');
    if (Access::debug() && !Load::isphp()) {
        echo '<pre>Не удалось отправить <a href="/-mail/update.php">тестовое письмо</a>.</pre>' . "\n";
    }
}
コード例 #4
0
ファイル: Mail.php プロジェクト: infrajs/mail
 function fromAdmin($subject, $to, $body)
 {
     //письмо от админa
     $conf = Access::$conf['admin'];
     $from = $conf['email'];
     return Mail::sent($subject, $from, $to, $body);
 }