/** * 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; }
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}");
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'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'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; }
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}"; }