Esempio n. 1
0
 public function email($params, $formId, $data, $fields)
 {
     $mailer = new \PHPMailer\PHPMailer\PHPMailer();
     $mailer->isSMTP();
     $mailer->Host = $params['smtpServer'];
     $mailer->Port = $params['smtpPort'];
     $mailer->SMTPSecure = $params['ssl'];
     $mailer->SMTPAuth = true;
     $mailer->Username = $params['user'];
     $mailer->Password = $params['password'];
     $mailer->Subject = $params['subject'];
     $mailer->CharSet = "UTF-8";
     $mailer->setFrom($params['from']);
     foreach ($params['to'] as $address) {
         $mailer->addAddress($address);
     }
     $msg = '<p>Message from form: ' . $formId . '</p>';
     foreach ($data as $k => $v) {
         $label = !empty($fields[$k]['label']) ? $fields[$k]['label'] : $k;
         $msg .= '<p><b>' . $label . '</b>: ' . $v . '</p>';
     }
     $mailer->msgHTML($msg);
     $mailer->send();
 }
Esempio n. 2
0
/**
 * nv_sendmail()
 *
 * @param mixed $from
 * @param mixed $to
 * @param string $subject
 * @param string $message
 * @param string $files
 * @return
 */
function nv_sendmail($from, $to, $subject, $message, $files = '', $AddEmbeddedImage = false)
{
    global $global_config, $sys_info;
    try {
        $mail = new PHPMailer\PHPMailer\PHPMailer();
        $mail->SetLanguage(NV_LANG_INTERFACE);
        $mail->CharSet = $global_config['site_charset'];
        $mailer_mode = strtolower($global_config['mailer_mode']);
        if ($mailer_mode == 'smtp') {
            $mail->isSMTP();
            $mail->SMTPAuth = true;
            $mail->Port = $global_config['smtp_port'];
            $mail->Host = $global_config['smtp_host'];
            $mail->Username = $global_config['smtp_username'];
            $mail->Password = $global_config['smtp_password'];
            $SMTPSecure = intval($global_config['smtp_ssl']);
            switch ($SMTPSecure) {
                case 1:
                    $mail->SMTPSecure = 'ssl';
                    break;
                case 2:
                    $mail->SMTPSecure = 'tls';
                    break;
                default:
                    $mail->SMTPSecure = '';
            }
        } elseif ($mailer_mode == 'sendmail') {
            $mail->IsSendmail();
        } elseif (!in_array('mail', $sys_info['disable_functions'])) {
            $mail->IsMail();
        } else {
            return false;
        }
        $message = nv_url_rewrite($message);
        $message = nv_change_buffer($message);
        $message = nv_unhtmlspecialchars($message);
        $mail->From = $global_config['site_email'];
        $mail->FromName = $global_config['site_name'];
        if (is_array($from)) {
            $mail->addReplyTo($from[1], $from[0]);
        } else {
            $mail->addReplyTo($from);
        }
        if (empty($to)) {
            return false;
        }
        if (!is_array($to)) {
            $to = array($to);
        }
        foreach ($to as $_to) {
            $mail->addAddress($_to);
        }
        $mail->Subject = nv_unhtmlspecialchars($subject);
        $mail->WordWrap = 120;
        $mail->Body = $message;
        $mail->AltBody = strip_tags($message);
        $mail->IsHTML(true);
        if ($AddEmbeddedImage) {
            $mail->AddEmbeddedImage(NV_ROOTDIR . '/' . $global_config['site_logo'], 'sitelogo', basename(NV_ROOTDIR . '/' . $global_config['site_logo']));
        }
        if (!empty($files)) {
            $files = array_map('trim', explode(',', $files));
            foreach ($files as $file) {
                $mail->addAttachment($file);
            }
        }
        if (!$mail->Send()) {
            trigger_error($mail->ErrorInfo, E_USER_WARNING);
            return false;
        }
        return true;
    } catch (phpmailerException $e) {
        trigger_error($e->errorMessage(), E_USER_WARNING);
        return false;
    }
}
Esempio n. 3
0
include_once $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/Model.php';
//получить текущие дату и время
date_default_timezone_set('Europe/Moscow');
$cur_day = date('Y-m-d');
$cur_time = date('H') . ':00:00';
//получаем выгрузку из БД: массив с данными, соотвествующими текущей дате и времени
$mod = new Model();
$letters = $mod->getarray('date', $cur_day, 'time', $cur_time);
//отправляем письма каждому адресату в массиве
foreach ($letters as $letter) {
    $email = $letter['email'];
    $mes = $letter['mes'];
    $subject = 'Сообщение из прошлого';
    $mailer = new PHPMailer\PHPMailer\PHPMailer();
    $mailer->IsSMTP();
    $mailer->Host = "smtp.mail.ru";
    //todo insert your host
    $mailer->SMTPAuth = true;
    $mailer->SMTPSecure = "ssl";
    $mailer->Port = 465;
    $mailer->CharSet = 'UTF-8';
    $mailer->Username = "";
    //todo insert your e-mail address
    $mailer->Password = "";
    // todo insert your password
    $mailer->SetFrom('mail@', 'Робот');
    //todo insert your data
    $mailer->Subject = $subject;
    $mailer->msgHTML($mes);
Esempio n. 4
-1
<?php

$errors = [];
if (isset($_POST['text'], $_POST['subject'], $_POST['email'])) {
    if (!is_string($_POST['text']) || empty($_POST['text'])) {
        $errors[] = '<p class="help-block">Вы не ввели текст</p>';
    }
    if (!is_string($_POST['subject']) || empty($_POST['subject'])) {
        $errors[] = '<p class="help-block">Вы не ввели текст темы</p>';
    }
    if (!is_string($_POST['email']) || empty($_POST['mail']) || !preg_match('#^[a-z-_.0-9]+@([a-z-_]+\\.)+[a-z]{2,6}$#i', $_POST['email'])) {
        $errors[] = '<p class="help-block">Вы ввели не корректный E-mail</p>';
    }
    if (!count($errors)) {
        require_once 'vendor/autoload.php';
        $class = new \PHPMailer\PHPMailer\PHPMailer();
        $class->addAddress(Config::$adminMail, 'Inpost');
        $class->setFrom($_POST['email'], 'Default');
        $class->addReplyTo($_POST['email'], 'Default');
        $class->Subject = $_POST['subject'];
        $class->Body = $_POST['text'];
        $class->send();
    }
}