コード例 #1
0
ファイル: Mail.subs.php プロジェクト: scripple/Elkarte
/**
 * Sends a group of emails from the mail queue.
 *
 * - Allows a batch of emails to be released every 5 to 10 seconds (based on per period limits)
 * - If batch size is not set, will determine a size such that it sends in 1/2 the period (buffer)
 *
 * @package Mail
 * @param int|false $batch_size = false the number to send each loop
 * @param boolean $override_limit = false bypassing our limit flaf
 * @param boolean $force_send = false
 * @return boolean
 */
function reduceMailQueue($batch_size = false, $override_limit = false, $force_send = false)
{
    global $modSettings, $context, $webmaster_email, $scripturl;
    // Do we have another script to send out the queue?
    if (!empty($modSettings['mail_queue_use_cron']) && empty($force_send)) {
        return false;
    }
    // How many emails can we send each time we are called in a period
    if (!$batch_size) {
        // Batch size has been set in the ACP, use it
        if (!empty($modSettings['mail_batch_size'])) {
            $batch_size = $modSettings['mail_batch_size'];
        } elseif (empty($modSettings['mail_period_limit'])) {
            $batch_size = 5;
        } else {
            // Based on the number of times we will potentially be called each minute
            $delay = !empty($modSettings['mail_queue_delay']) ? $modSettings['mail_queue_delay'] : (!empty($modSettings['mail_period_limit']) && $modSettings['mail_period_limit'] <= 5 ? 10 : 5);
            $batch_size = ceil($modSettings['mail_period_limit'] / ceil(60 / $delay));
            $batch_size = $batch_size == 1 && $modSettings['mail_period_limit'] > 1 ? 2 : $batch_size;
        }
    }
    // If we came with a timestamp, and that doesn't match the next event, then someone else has beaten us.
    if (isset($_GET['ts']) && $_GET['ts'] != $modSettings['mail_next_send'] && empty($force_send)) {
        return false;
    }
    // Prepare to send each email, and log that for future proof.
    require_once SUBSDIR . '/Maillist.subs.php';
    // Set the delay for the next sending
    if (!$override_limit) {
        // Update next send time for our mail queue, if there was something to update. Otherwise bail out :P
        $delay = updateNextSendTime();
        if ($delay === false) {
            return false;
        }
        $modSettings['mail_next_send'] = time() + $delay;
    }
    // If we're not overriding, do we have quota left in this mail period limit?
    if (!$override_limit && !empty($modSettings['mail_period_limit'])) {
        // See if we have quota left to send another batch_size this minute or if we have to wait
        list($mail_time, $mail_number) = isset($modSettings['mail_recent']) ? explode('|', $modSettings['mail_recent']) : array(0, 0);
        // Nothing worth noting...
        if (empty($mail_number) || $mail_time < time() - 60) {
            $mail_time = time();
            $mail_number = $batch_size;
        } elseif ($mail_number < $modSettings['mail_period_limit']) {
            // If this is likely one of the last cycles for this period, then send any remaining quota
            if ($mail_time - (time() - 60) < $delay * 2) {
                $batch_size = $modSettings['mail_period_limit'] - $mail_number;
            } elseif ($mail_number + $batch_size > $modSettings['mail_period_limit']) {
                $batch_size = $modSettings['mail_period_limit'] - $mail_number;
            }
            $mail_number += $batch_size;
        } else {
            return false;
        }
        // Reflect that we're about to send some, do it now to be safe.
        updateSettings(array('mail_recent' => $mail_time . '|' . $mail_number));
    }
    // Now we know how many we're sending, let's send them.
    list($ids, $emails) = emailsInfo($batch_size);
    // Delete, delete, delete!!!
    if (!empty($ids)) {
        deleteMailQueueItems($ids);
    }
    // Don't believe we have any left after this batch?
    if (count($ids) < $batch_size) {
        resetNextSendTime();
    }
    if (empty($ids)) {
        return false;
    }
    // We have some to send, lets send them!
    $sent = array();
    $failed_emails = array();
    // Use sendmail or SMTP
    $use_sendmail = empty($modSettings['mail_type']) || $modSettings['smtp_host'] == '';
    // Line breaks need to be \r\n only in windows or for SMTP.
    $line_break = !empty($context['server']['is_windows']) || !$use_sendmail ? "\r\n" : "\n";
    foreach ($emails as $key => $email) {
        // Use the right mail resource
        if ($use_sendmail) {
            $email['subject'] = strtr($email['subject'], array("\r" => '', "\n" => ''));
            if (!empty($modSettings['mail_strip_carriage'])) {
                $email['body'] = strtr($email['body'], array("\r" => ''));
                $email['headers'] = strtr($email['headers'], array("\r" => ''));
            }
            $need_break = substr($email['headers'], -1) === "\n" || substr($email['headers'], -1) === "\r" ? false : true;
            // Create our unique reply to email header if this message needs one
            $unq_id = '';
            $unq_head = '';
            if (!empty($modSettings['maillist_enabled']) && $email['message_id'] !== null && strpos($email['headers'], 'List-Id: <') !== false) {
                $unq_head = md5($scripturl . microtime() . rand()) . '-' . $email['message_id'];
                $encoded_unq_head = base64_encode($line_break . $line_break . '[' . $unq_head . ']' . $line_break);
                $unq_id = ($need_break ? $line_break : '') . 'Message-ID: <' . $unq_head . strstr(empty($modSettings['maillist_mail_from']) ? $webmaster_email : $modSettings['maillist_mail_from'], '@') . '>';
                $email['body_fail'] = $email['body'];
                $email['body'] = mail_insert_key($email['body'], $unq_head, $encoded_unq_head, $line_break);
            } elseif ($email['message_id'] !== null && empty($modSettings['mail_no_message_id'])) {
                $unq_id = ($need_break ? $line_break : '') . 'Message-ID: <' . md5($scripturl . microtime()) . '-' . $email['message_id'] . strstr(empty($modSettings['maillist_mail_from']) ? $webmaster_email : $modSettings['maillist_mail_from'], '@') . '>';
            }
            // No point logging a specific error here, as we have no language. PHP error is helpful anyway...
            $result = mail(strtr($email['to'], array("\r" => '', "\n" => '')), $email['subject'], $email['body'], $email['headers'] . $unq_id);
            // If it sent, keep a record so we can save it in our allowed to reply log
            if (!empty($unq_head) && $result) {
                $sent[] = array($unq_head, time(), $email['to']);
            }
            // Track total emails sent
            if ($result && !empty($modSettings['trackStats'])) {
                trackStats(array('email' => '+'));
            }
            // Try to stop a timeout, this would be bad...
            @set_time_limit(300);
            if (function_exists('apache_reset_timeout')) {
                @apache_reset_timeout();
            }
        } else {
            $result = smtp_mail(array($email['to']), $email['subject'], $email['body'], $email['send_html'] ? $email['headers'] : 'Mime-Version: 1.0' . "\r\n" . $email['headers'], $email['priority'], $email['message_id']);
        }
        // Hopefully it sent?
        if (!$result) {
            $failed_emails[] = array(time(), $email['to'], $email['body_fail'], $email['subject'], $email['headers'], $email['send_html'], $email['priority'], $email['private'], $email['message_id']);
        }
    }
    // Clear out the stat cache.
    trackStats();
    // Log each of the sent emails.
    if (!empty($sent)) {
        log_email($sent);
    }
    // Any emails that didn't send?
    if (!empty($failed_emails)) {
        // If it failed, add it back to the queue
        updateFailedQueue($failed_emails);
        return false;
    } elseif (!empty($modSettings['mail_failed_attempts'])) {
        updateSuccessQueue();
    }
    // Had something to send...
    return true;
}
コード例 #2
0
ファイル: do_objednavka.php プロジェクト: jozefvasko/kraf-app
            log_email($email_subject, $email_to, "error", $message . "\n" . $mail->ErrorInfo);
        } else {
            log_email($email_subject, $email_to);
        }
        usleep(500);
        $email_to = $odosielatel["email"];
        $email_subject = "Odoslaná objednávka pre " . $dodavatel["meno"];
        $mail->clearAddresses();
        $mail->Subject = $email_subject;
        $mail->Body = $message;
        $mail->AddAddress($email_to);
        if (!$mail->Send()) {
            log_email($email_subject, $email_to, "error", $message . "\n" . $mail->ErrorInfo);
            $error = 1;
        } else {
            log_email($email_subject, $email_to);
        }
        if ($error == 0) {
            echo "<div id=\"ok_message\">\r\n                <h2>Objednávka bola úspešne odoslaná.</h2>\r\n                email na dodávateľa: " . $dodavatel["email"] . "<br>\r\n                email na potvrdenie: " . $odosielatel["email"] . "<br>\r\n               <br><br>\r\n                <a href=\"?vyber={$vyber}\">Späť do Naše objednávky</a>\r\n                </div>";
        } else {
            echo "<div id=error_message>Nastala chyba pri odosielaní emailov.</div>";
        }
    } else {
        display_all($page, $vyber);
    }
    // ak nie je zvolena ziadna objednavka tak zobrazi vsetky objednavky
} else {
    if ($_POST[submit_poznamka]) {
        $poznamka = sec_sql(sec_input($_POST["task_poznamka"]));
        sql_update("UPDATE do_objednavka SET poznamka = \"" . $poznamka . "\" WHERE id={$order}");
        redirect("?vyber={$table}");
コード例 #3
0
ファイル: emailer.php プロジェクト: m1ke/easy-site-utils
function send_email($p, &$error = null, $mail_type = null)
{
    if (empty($mail_type) and function_exists('send_email_type')) {
        $mail_type = send_email_type();
    }
    if (function_exists('send_email_subject')) {
        $p['subject'] = send_email_subject($p);
    }
    $n = 0;
    if (!isset($p['emails']) or !is_array_full(array_keys($p['emails']))) {
        $error = 'You must send emails to the emailer as an array, even for single email addresses. If you don&#39;t know what this means, contact your website manager.';
        return false;
    }
    // this bit is only needed until we've updated all other sites to use new email assoc format
    $first = reset($p['emails']);
    if (make_email($first)) {
        $temp = array();
        foreach ($p['emails'] as $name => $email) {
            $temp[$email] = $name;
        }
        $p['emails'] = $temp;
        unset($temp);
    }
    //
    if (!defined('EMAIL_SEND')) {
        if (!isset($p['headers'])) {
            $headers = mail_headers();
        }
        foreach ($p['emails'] as $email => $name) {
            log_email($name . ' <' . $email . '>', $p['subject'], $p['message'], $headers);
            $n++;
        }
    } else {
        switch ($mail_type) {
            case 'func':
                $func = send_email_func();
                if (!$func($p, $error)) {
                    return false;
                }
                break;
            case 'gmail':
                if (!gmail_send($p, $error)) {
                    return false;
                }
                break;
            case 'sendgrid':
                if (!sendgrid_send($p, $error)) {
                    return false;
                }
                break;
            case 'smtp':
                if (!smtp_send($p, $error)) {
                    return false;
                }
                break;
            case 'sendmail':
            default:
                if (!is_array_full($p['emails'])) {
                    $error = 'You must send emails to the emailer as an array, even for single email addresses. If you don&#39;t know what this means, contact your website manager.';
                    return false;
                }
                if (!isset($p['headers'])) {
                    $p['headers'] = mail_headers();
                }
                foreach ($p['emails'] as $email => $name) {
                    if (@mail($email, $p['subject'], $p['message'], $p['headers'])) {
                        $n++;
                    } else {
                        $errors[] = $email;
                    }
                }
                if (!empty($errors)) {
                    $error = 'The email message could not be sent to the following addresses.</p><ul><li>' . implode('</li><li>', $errors) . '</li></ul><p>';
                    return false;
                }
                break;
        }
    }
    return true;
}
コード例 #4
0
ファイル: fnc.php プロジェクト: jozefvasko/kraf-app
function send_email_revision($revision, $only_kraf = "", $status = "")
{
    //var_dump($revision);
    // die();
    require_once 'include/PHPMailer/PHPMailerAutoload.php';
    $email_to_kraf = def_value("default_email", "hodnota");
    mysql_query("BEGIN");
    $data = sql_query("SELECT id_obj, meno, adresa, ico_icdph, telefon, email, id_material as material,\r\n                                    id_vyrobca as vyrobca, id_dekor as dekor, dekor_vlastny, komentar,\r\n                                    DATE_FORMAT(datum, '%d. %m. %Y, %H:%i') AS datum\r\n                                    FROM revizia \r\n                                    WHERE id={$revision} \r\n                                    LIMIT 1");
    $data_narez = sql_query("SELECT ks, dlzka, sirka, nazov, poznamka, hrubka, orientacia,\r\n                                    hrana1, hrana2, hrana3, hrana4\r\n                                    FROM porez \r\n                                    WHERE id_revizia={$revision}");
    $data = $data[0];
    $fieldsets_c = count($data_narez);
    for ($i = 0; $i < $fieldsets_c; $i++) {
        $ks[$i] = $data_narez[$i][ks];
        $dlzka[$i] = $data_narez[$i][dlzka];
        $sirka[$i] = $data_narez[$i][sirka];
        $nazov[$i] = $data_narez[$i][nazov];
        $poznamka[$i] = $data_narez[$i][poznamka];
        $hrubka[$i] = $data_narez[$i][hrubka];
        $orientacia[$i] = $data_narez[$i][orientacia];
        $hrana1[$i] = $data_narez[$i][hrana1];
        $hrana2[$i] = $data_narez[$i][hrana2];
        $hrana3[$i] = $data_narez[$i][hrana3];
        $hrana4[$i] = $data_narez[$i][hrana4];
    }
    $data[ks_all] = $ks;
    $data[dlzka_all] = $dlzka;
    $data[sirka_all] = $sirka;
    $data[nazov_all] = $nazov;
    $data[poznamka_all] = $poznamka;
    $data[hrubka_all] = $hrubka;
    $data[orientacia_all] = $orientacia;
    $data[hrana1_all] = $hrana1;
    $data[hrana2_all] = $hrana2;
    $data[hrana3_all] = $hrana3;
    $data[hrana4_all] = $hrana4;
    //var_dump($data);
    $files = sql_query("SELECT meno, meno_old, pripona \r\n                                FROM subor\r\n                                WHERE id_obj=" . $data["id_obj"] . "");
    //var_dump($data);
    $data_obj = sql_query("SELECT DATE_FORMAT(datum, '%d. %m. %Y, %H:%i') AS datum, c_obj, status,\r\n                                    DATE_FORMAT(datum, '%Y') AS rok\r\n                                    FROM objednavka \r\n                                    WHERE id=" . $data["id_obj"] . " LIMIT 1");
    $data_obj = $data_obj[0];
    $secure_key = sql_query("SELECT secure_key\r\n                                    FROM objednavka_secure\r\n                                    WHERE id_obj=" . $data["id_obj"] . " AND \r\n                                          id_revizia={$revision} LIMIT 1");
    $secure_key = $secure_key[0][secure_key];
    $message = "<html><body>";
    $message .= "<img src=\"http://" . def_value("default_url", "hodnota") . "/assets/images/logo.jpg\">";
    $message .= "<h1>Objednávka č. " . $data_obj["c_obj"] . "/" . $data_obj["rok"] . "</h1>";
    $message .= "zo dňa: " . $data_obj["datum"] . "<br><br>";
    $message .= "<table><tr>";
    $message .= "<td style=\"width: 400px;\"><strong>Dodávateľ</strong><br>";
    $message .= "<table><tr><td>" . def_value("default_firma", "hodnota") . "</td></tr>";
    $message .= "<tr><td>" . def_value("default_adresa", "hodnota") . "<br>" . def_value("default_mesto", "hodnota") . "</td></tr>";
    $message .= "<tr><td>IČO: " . def_value("default_ico", "hodnota") . "<br> DIČ: " . def_value("default_dic", "hodnota") . "</td></tr>";
    $message .= "<tr><td>" . def_value("default_telefon", "hodnota") . "<br> " . def_value("default_mobil", "hodnota") . "</td></tr>";
    $message .= "<tr><td>" . def_value("default_email", "hodnota") . "<br> " . def_value("default_email_2", "hodnota") . "</td></tr>";
    $message .= "</table><br><br></td>";
    $message .= "<td style=\"width: 50%;\"><strong>Objednávateľ:</strong>";
    $message .= "<table><tr><td>" . $data["meno"] . "</td></tr>";
    $message .= "<tr><td>" . $data["adresa"] . "</td></tr>";
    $message .= "<tr><td>" . $data["ico_icdph"] . "</td></tr>";
    $message .= "<tr><td>" . $data["telefon"] . "</td></tr>";
    $message .= "<tr><td>" . $data["email"] . "</td></tr>";
    $message .= "</table><br><br></td>";
    $message .= "</tr></table>";
    $message .= "<strong>Materiál:</strong>";
    $material = sql_query("SELECT meno FROM material WHERE id=" . sec_sql(sec_input($data["material"])) . " LIMIT 1");
    $material = $material[0];
    $message .= "<table><tr><td>" . $material["meno"] . "</td></tr>";
    $vyrobca = sql_query("SELECT meno FROM vyrobca WHERE id=\"" . sec_sql(sec_input($data["vyrobca"])) . "\" LIMIT 1");
    $vyrobca = $vyrobca[0];
    $dekor = sql_query("SELECT meno FROM dekor WHERE id=" . sec_sql(sec_input($data["dekor"])) . " LIMIT 1");
    $dekor = $dekor[0];
    $message .= "<tr><td>" . $vyrobca["meno"] . " " . $dekor["meno"] . "</td></tr>";
    $message .= "<tr><td>" . $data["dekor_vlastny"] . "</td></tr>";
    $message .= "</table><br><br>";
    $message .= "<table style=\"font-size: 10pt;\">\r\n               <tr style=\"border-bottom: solid 1px darkslategrey ;\">\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 20px;\"></th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 40px;\">ks</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 180px;\">rozmer</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 150px;\">Názov</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 150px;\">Poznámka</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 50px;\">hrúbka</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 50px;\">orient.</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 20px;\">dolná</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 20px;\">pravá</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 20px;\">horná</th>\r\n               <th style=\"background-color: lightsteelblue; color: white; padding:5px; font-size: 90%; width: 20px;\">ľava</th>\r\n               </tr>";
    for ($i = 0; $i < $fieldsets_c; $i++) {
        $poradie = 0;
        $poradie = $i + 1;
        $message .= "<tr>\r\n                    <td class=\"form_poradie\">{$poradie}. </td>\r\n                    <td class=\"form_ks\">" . sec_input($data["ks_all"][$i]) . "</td>\r\n                    <td class=\"form_rozmer\">" . sec_input($data["dlzka_all"][$i]) . " x " . $data["sirka_all"][$i] . " mm</td>\r\n                    <td class=\"form_nazov\">" . sec_input($data["nazov_all"][$i]) . "</td>\r\n                    <td class=\"form_nazov\">" . sec_input($data["poznamka_all"][$i]) . "</td>";
        $hrubka = sql_query("SELECT meno FROM hrubka WHERE id=" . sec_sql(sec_input($data["hrubka_all"][$i])) . " LIMIT 1");
        $hrubka = $hrubka[0];
        $message .= "\r\n                    <td class=\"form_hrana\">" . $hrubka["meno"] . "</td>";
        $orientacia = sql_query("SELECT meno FROM orientacia WHERE id=" . sec_sql(sec_input($data["orientacia_all"][$i])) . " LIMIT 1");
        $orientacia = $orientacia[0];
        $message .= "\r\n                    <td class=\"form_hrana\">" . $orientacia["meno"] . "</td>";
        $hrana = sql_query("SELECT meno FROM hrana WHERE id=" . sec_sql(sec_input($data["hrana1_all"][$i])) . " LIMIT 1");
        $hrana = $hrana[0];
        $message .= "<td class=\"form_hrana\">" . $hrana[meno] . "</td>";
        $hrana = sql_query("SELECT meno FROM hrana WHERE id=" . sec_sql(sec_input($data["hrana2_all"][$i])) . " LIMIT 1");
        $hrana = $hrana[0];
        $message .= "<td class=\"form_hrana\">" . $hrana[meno] . "</td>";
        $hrana = sql_query("SELECT meno FROM hrana WHERE id=" . sec_sql(sec_input($data["hrana3_all"][$i])) . " LIMIT 1");
        $hrana = $hrana[0];
        $message .= "\r\n                    <td class=\"form_hrana\">" . $hrana[meno] . "</td>";
        $hrana = sql_query("SELECT meno FROM hrana WHERE id=" . sec_sql(sec_input($data["hrana4_all"][$i])) . " LIMIT 1");
        $hrana = $hrana[0];
        $message .= "<td class=\"form_hrana\">" . $hrana[meno] . "</td>";
        $vypocet = $data["dlzka_all"][$i] * $data["sirka_all"][$i] / 1000000;
        $vypocet = $vypocet * $data["ks_all"][$i];
        if (is_duplak($data["hrubka_all"][$i])) {
            $paska = 0;
            if ($data[hrana1_all][$i] > 0) {
                $paska = $paska + $data[dlzka_all][$i];
            }
            if ($data[hrana3_all][$i] > 0) {
                $paska = $paska + $data[dlzka_all][$i];
            }
            if ($data[hrana2_all][$i] > 0) {
                $paska = $paska + $data[sirka_all][$i];
            }
            if ($data[hrana4_all][$i] > 0) {
                $paska = $paska + $data[sirka_all][$i];
            }
            $vypocet_duplak = $data["dlzka_all"][$i] * $data["sirka_all"][$i] / 1000000;
            $vypocet_duplak = $vypocet_duplak * $data["ks_all"][$i];
            $vypocet = ($data["dlzka_all"][$i] + 30) * ($data["sirka_all"][$i] + 30) / 1000000;
            $vypocet = $vypocet * ($data["ks_all"][$i] * 2);
            $vypocet_duplak_sum = $vypocet_duplak_sum + $vypocet_duplak;
            $vypocet_paska_sum = $vypocet_paska_sum + $paska * $data["ks_all"][$i] / 1000;
        } else {
            $hrany = sql_query("SELECT id, meno FROM hrana where vymaz=0 and zobraz_vo_formulari=1");
            //var_dump($hrany);
            foreach ($hrany as $hrana) {
                $paska_normal[$hrana["meno"]] = 0;
                if ($data[hrana1_all][$i] > 0 and $data[hrana1_all][$i] == $hrana["id"]) {
                    $paska_normal[$hrana["meno"]] = $paska_normal[$hrana["meno"]] + $data[dlzka_all][$i];
                }
                if ($data[hrana3_all][$i] > 0 and $data[hrana3_all][$i] == $hrana["id"]) {
                    $paska_normal[$hrana["meno"]] = $paska_normal[$hrana["meno"]] + $data[dlzka_all][$i];
                }
                if ($data[hrana2_all][$i] > 0 and $data[hrana2_all][$i] == $hrana["id"]) {
                    $paska_normal[$hrana["meno"]] = $paska_normal[$hrana["meno"]] + $data[sirka_all][$i];
                }
                if ($data[hrana4_all][$i] > 0 and $data[hrana4_all][$i] == $hrana["id"]) {
                    $paska_normal[$hrana["meno"]] = $paska_normal[$hrana["meno"]] + $data[sirka_all][$i];
                }
                $vypocet_paska_normal_sum[$hrana["meno"]] = $vypocet_paska_normal_sum[$hrana["meno"]] + $paska_normal[$hrana["meno"]] * $data["ks_all"][$i] / 1000;
                //var_dump($paska_normal);
                //var_dump($vypocet_paska_normal_sum);
            }
        }
        $vypocet_sum = $vypocet_sum + $vypocet;
        $vypocet_final = round($vypocet, 2) . " m2";
        //var_dump($vypocet_paska_sum);
        //$message .= "<td class=\"td_vypocet\">".($vypocet>0 ? $vypocet_final : "" )."</td>";
        $message .= "</tr>";
    }
    $message .= "</table><br>";
    $message .= "<div class=\"form_vypocet_sum\">" . ($vypocet_sum > 0 ? "Spolu: " . round($vypocet_sum, 2) . " m2" : "") . "</div>";
    $message .= "<div class=\"form_vypocet_sum\">";
    if (!empty($vypocet_paska_normal_sum)) {
        foreach ($vypocet_paska_normal_sum as $key => $paska_view) {
            $message .= "{$key} opáskovanie: " . round($paska_view, 2) . " m<br>";
        }
    }
    $message .= "</div>";
    $message .= "<div class=\"form_vypocet_sum_duplak\">" . ($vypocet_duplak_sum > 0 ? "Duplák spracovanie: " . round($vypocet_duplak_sum, 2) . " m2" : "") . "<br>\r\n                                                                " . ($vypocet_paska_sum > 0 ? "Duplák opaskovanie: " . round($vypocet_paska_sum, 2) . " m" : "") . "</div>";
    $message .= "<br>" . $data["komentar"] . "<br><br>";
    if (count($files) > 0) {
        $message .= "<div class=\"print_subory\">\r\n               Počet príloh objednávky: " . count($files) . "<br>";
        for ($i = 0; $i < count($files); $i++) {
            $message .= " - " . $files[$i]["meno_old"] . "<br>";
        }
        $message .= "</div><br><br>";
    }
    if ($data_obj["status"] == def_value("default_obj_status_rozpracovana", "hodnota")) {
        $message .= "<h2>Objednávka je uložená a ešte nebola Vami potvrdená.</h2>\r\n                                Pre potvrdenie objednávky, alebo jej ďalšie úpravy kliknite na túto adresu:\r\n                                ";
    } else {
        $message .= "Pre dodatočnú úpravu objednávky použite prosím túto adresu:";
    }
    $message .= "<br><a href=\"http://" . def_value("default_url", "hodnota") . "/?vyber=formular&secure_key={$secure_key}\">\r\n                                    http://" . def_value("default_url", "hodnota") . "/?vyber=formular&secure_key={$secure_key}\r\n                                </a>";
    $message .= "<br>Ak sme už Vašu objednávku spracovali a je v procese výroby, jej úpravy už nie su možné.<br>\r\n                         <br><br>";
    $message .= "email vytvorený: " . date("j. n. Y - H:i") . "<br>";
    $message .= "</body></html>";
    mysql_query("COMMIT");
    $headers = "From: \"" . $data["meno"] . "\" <" . $data["email"] . ">\r\n";
    $headers .= "Reply-To: " . $data["email"] . "\r\n";
    //$headers .= "CC: scooti@stonline.sk\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
    $mail = new PHPMailer();
    //$mail->IsSMTP();
    $mail->CharSet = "UTF-8";
    $mail->SMTPDebug = 0;
    $mail->SMTPAuth = true;
    //$mail->SMTPSecure = 'ssl';
    $mail->Host = def_value("default_email_host", "hodnota");
    $mail->Port = def_value("default_email_port", "hodnota");
    $mail->Username = def_value("default_email_username", "hodnota");
    $mail->Password = def_value("default_email_password", "hodnota");
    $mail->isHTML(true);
    $mail->setLanguage('sk', 'language/');
    $mail->SetFrom(def_value("default_email", "hodnota"), def_value("default_firma", "hodnota"));
    if (!empty($status) and $status == "rozpracovana") {
        $email_to = $data["email"];
        $email_subject = "Rozpracovaná Objednávka č. " . $data_obj["c_obj"] . "/" . $data_obj["rok"] . " - " . def_value("default_firma", "hodnota") . "";
        $headers = "From: \"" . def_value("default_firma", "hodnota") . "\" <" . def_value("default_email", "hodnota") . ">\r\n";
        $headers .= "Reply-To: " . def_value("default_email", "hodnota") . "\r\n";
        //$headers .= "CC: scooti@stonline.sk\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
        $mail->Subject = $email_subject;
        $mail->Body = $message;
        $mail->AddAddress($email_to);
        if (!$mail->Send()) {
            log_email($email_subject, $email_to, "error", $mail->ErrorInfo);
        } else {
            log_email($email_subject, $email_to);
        }
        //mail($email_to, $email_subject, $message, $headers);
    } else {
        $email_to = $email_to_kraf;
        $email_subject = "Objednávka č. " . $data_obj["c_obj"] . "/" . $data_obj["rok"] . " od " . $data["meno"] . " - " . def_value("default_firma", "hodnota") . "";
        if (!empty($status) and $status == "cp") {
            $email_subject = "Žiadosť o Cenovú ponuku pre objednávku č. " . $data_obj["c_obj"] . " od " . $data["meno"] . " - " . def_value("default_firma", "hodnota") . "";
        }
        $mail->Subject = $email_subject;
        $mail->Body = $message;
        $mail->AddAddress($email_to);
        if (!$mail->Send()) {
            log_email($email_subject, $email_to, "error", $message);
        } else {
            log_email($email_subject, $email_to);
        }
        //mail($email_to, $email_subject, $message, $headers);
        //var_dump($email_to);
        //var_dump($data["email"]);
        if ($only_kraf != 1 and $data["email"] != $email_to) {
            $email_to = $data["email"];
            $email_subject = "Objednávka č. " . $data_obj["c_obj"] . "/" . $data_obj["rok"] . " - " . def_value("default_firma", "hodnota") . "";
            if (!empty($status) and $status == "cp") {
                $email_subject = "Žiadosť o Cenovú ponuku pre objednávku č. " . $data_obj["c_obj"] . "/" . $data_obj["rok"] . " - " . def_value("default_firma", "hodnota") . "";
            }
            $headers = "From: \"" . def_value("default_firma", "hodnota") . "\" <" . def_value("default_email", "hodnota") . ">\r\n";
            $headers .= "Reply-To: " . def_value("default_email", "hodnota") . "\r\n";
            //$headers .= "CC: scooti@stonline.sk\r\n";
            $headers .= "MIME-Version: 1.0\r\n";
            $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
            //mail($email_to, $email_subject, $message, $headers);
            $mail->clearAddresses();
            $mail->Subject = $email_subject;
            $mail->Body = $message;
            $mail->AddAddress($email_to);
            if (!$mail->Send()) {
                log_email($email_subject, $email_to, "error", $mail->ErrorInfo . " \n" . $message);
            } else {
                log_email($email_subject, $email_to);
            }
            //var_dump($email_to);
            //var_dump($data["email"]);
        }
    }
    echo "Email bol úspešne odoslaný na adresu: {$email_to}";
}