Esempio n. 1
0
function envmail($email, $subject, $msg, $from, $fromname = "Opala Clube Franca")
{
    require_once "class.phpmailer.php";
    $mail = new phpmailer();
    $mail->ClearAddresses();
    $mail->ClearAllRecipients();
    $mail->ClearAddresses();
    $mail->ClearCustomHeaders();
    $mail->IsSMTP();
    //    $mail->IsSendmail();
    $mail->From = $from;
    $mail->FromName = $fromname;
    // 	$mail->Hostname = "smtp.gmail.com";
    //	$mail->Host     = "smtp.gmail.com";
    $mail->SMTPSecure = "ssl";
    $mail->Hostname = "smtp.opalaclubefranca.com.br";
    $mail->Host = "smtp.opalaclubefranca.com.br";
    //    $mail->SMTPDebug = 2;
    $mail->Username = "******";
    $mail->Password = "******";
    $mail->SMTPAuth = true;
    $mail->Port = 465;
    $mail->Timeout = 120;
    $body = $msg;
    $text_body = $msg;
    $mail->isHTML(true);
    $mail->Subject = $subject;
    $mail->Body = $body;
    $mail->AltBody = $text_body;
    if (is_array($email)) {
        foreach ($email as $em) {
            $mail->AddAddress($em, "");
        }
    } else {
        $mail->AddAddress($email, "");
    }
    /*  echo '<tr><td>To '.$email.'</td></tr>'."\n";
        echo '<tr><td>Assunto '.$subject.'</td></tr>'."\n";
        echo '<tr><td>Mensagem '.$msg.'</td></tr>'."\n";
        echo '<tr><td>From '.$from.'</td></tr>'."\n";
    */
    $exito = $mail->Send();
    $v = 0;
    //    echo "<tr><td>ErrorInfo " . $mail->ErrorInfo . "<br></td></tr>";
    while (!$exito && $v < 5 && $mail->ErrorInfo != "SMTP Error: Data not accepted.") {
        sleep(2);
        $exito = $mail->Send();
        echo "<tr><td>ErrorInfo " . $mail->ErrorInfo . "<br></td></tr>";
        $v = $v + 1;
    }
    if (!$exito) {
        echo "<tr><td>There has been a mail error sending to " . $mail->ErrorInfo . "<br></td></tr>";
    }
    $mail->ClearAddresses();
    $mail->ClearAttachments();
    return $mail->ErrorInfo;
}
 function send($newsletter_id)
 {
     global $db;
     $owpDBTable = owpDBGetTables();
     $send_mail = new phpmailer();
     $send_mail->From = OWP_EMAIL_ADDRESS;
     $send_mail->FromName = OWP_NAME;
     $send_mail->Subject = $this->title;
     $sql = "SELECT admin_gender, admin_firstname, admin_lastname,\n                     admin_email_address \n              FROM " . $owpDBTable['administrators'] . " \n              WHERE admin_newsletter = '1'";
     $mail_values = $db->Execute($sql);
     while ($mail = $mail_values->fields) {
         $send_mail->Body = $this->content;
         $send_mail->AddAddress($mail['admin_email_address'], $mail['admin_firstname'] . ' ' . $mail['admin_lastname']);
         $send_mail->Send();
         // Clear all addresses and attachments for next loop
         $send_mail->ClearAddresses();
         $send_mail->ClearAttachments();
         $mail_values->MoveNext();
     }
     $today = date("Y-m-d H:i:s");
     $db->Execute("UPDATE " . $owpDBTable['newsletters'] . " \n                       SET date_sent = " . $db->DBTimeStamp($today) . ",\n                           status = '1' \n                     WHERE newsletters_id = '" . owpDBInput($newsletter_id) . "'");
 }
     $mail->From = $_POST['sender_email'];
     $mail->FromName = $_POST['sender_email'];
     $mail->Mailer = "smtp";
     $mail->Host = $smtp_mailhost;
     $mail->SMTPAuth = true;
     $mail->Username = $smtp_user;
     $mail->Password = $smtp_pw;
     $mail->Subject = "EMail vom " . $shopconfig['shopconfig_pagetitle'] . " Gästebuch";
     $body = "Hallo " . $_POST['myname'] . ",\nvielen Dank für den Eintrag in unserem Gästebuch,\nName: " . $_POST['myname'] . "\nDatum: " . $datum . "\nEmail: " . $_POST['myemail'] . "\nHomepage: " . $_POST['myhp'] . "\nKommentar: " . $_POST['mymassage'] . "\nText: " . $_POST['text'] . "\n\nDas {$pagename} |" . $mandant['name'] . " Team";
     $mail->Body = $body;
     $mail->AltBody = $body;
     $mail->AddAddress($_POST['myemail'], $_POST['myname']);
     $mail->AddCC($mandant['mandant_email'], $mandant['mandant_vorname'] . " " . $mandant['mandant_nachname']);
     @$mail->Send();
     $mail->ClearAddresses();
     $mail->ClearAttachments();
 } else {
     print $fehler;
     if ($fehler == 1) {
         $smarty->assign("fehler", 1);
     }
     if ($fehler == 2) {
         $smarty->assign("fehler", $fehler);
     }
     $_GET['neu'] = 1;
     $smarty->assign("myname", $_POST['myname']);
     $smarty->assign("mymassage", $_POST['mymassage']);
     $smarty->assign("myemail", $_POST['myemail']);
     $smarty->assign("myhp", $_POST['myhp']);
     $smarty->assign("myicq", $_POST['myicq']);
     $smarty->assign("myaim", $_POST['myaim']);
 /**
  * Send the email
  * @param      int $UserID
  * @param      int $NewsletterID
  * @param      string $TargetEmail
  * @param      string $type
  */
 function SendEmail($UserID, $NewsletterID, $TargetEmail, $TmpEntry, $type = self::USER_TYPE_NEWSLETTER)
 {
     global $objDatabase, $_ARRAYLANG, $_DBCONFIG;
     require_once ASCMS_LIBRARY_PATH . '/phpmailer/class.phpmailer.php';
     $newsletterValues = $this->getNewsletterValues($NewsletterID);
     if ($newsletterValues !== false) {
         $subject = $newsletterValues['subject'];
         $template = $newsletterValues['template'];
         $content = $newsletterValues['content'];
         $priority = $newsletterValues['priority'];
         $sender_email = $newsletterValues['sender_email'];
         $sender_name = $newsletterValues['sender_name'];
         $return_path = $newsletterValues['return_path'];
         $count = $newsletterValues['count'];
         $smtpAccount = $newsletterValues['smtp_server'];
     }
     $break = $this->getSetting('txt_break_after');
     $break = intval($break) == 0 ? 80 : $break;
     $HTML_TemplateSource = $this->GetTemplateSource($template, 'html');
     // TODO: Unused
     //        $TEXT_TemplateSource = $this->GetTemplateSource($template, 'text');
     $newsletterUserData = $this->getNewsletterUserData($UserID, $type);
     $testDelivery = !$TmpEntry;
     $NewsletterBody_HTML = $this->ParseNewsletter($subject, $content, $HTML_TemplateSource, '', $TargetEmail, $newsletterUserData, $NewsletterID, $testDelivery);
     \LinkGenerator::parseTemplate($NewsletterBody_HTML, true);
     $NewsletterBody_TEXT = $this->ParseNewsletter('', '', '', 'text', '', $newsletterUserData, $NewsletterID, $testDelivery);
     \LinkGenerator::parseTemplate($NewsletterBody_TEXT, true);
     $mail = new \phpmailer();
     if ($smtpAccount > 0) {
         if (($arrSmtp = \SmtpSettings::getSmtpAccount($smtpAccount)) !== false) {
             $mail->IsSMTP();
             $mail->Host = $arrSmtp['hostname'];
             $mail->Port = $arrSmtp['port'];
             $mail->SMTPAuth = $arrSmtp['username'] == '-' ? false : true;
             $mail->Username = $arrSmtp['username'];
             $mail->Password = $arrSmtp['password'];
         }
     }
     $mail->CharSet = CONTREXX_CHARSET;
     $mail->AddReplyTo($return_path);
     $mail->SetFrom($sender_email, $sender_name);
     $mail->Subject = $subject;
     $mail->Priority = $priority;
     $mail->Body = $NewsletterBody_HTML;
     $mail->AltBody = $NewsletterBody_TEXT;
     $queryATT = "SELECT newsletter, file_name FROM " . DBPREFIX . "module_newsletter_attachment where newsletter=" . $NewsletterID . "";
     $objResultATT = $objDatabase->Execute($queryATT);
     if ($objResultATT !== false) {
         while (!$objResultATT->EOF) {
             $mail->AddAttachment(\Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteImagesAttachPath() . "/" . $objResultATT->fields['file_name'], $objResultATT->fields['file_name']);
             $objResultATT->MoveNext();
         }
     }
     $mail->AddAddress($TargetEmail);
     if ($UserID) {
         // mark recipient as in-action to prevent multiple tries of sending the newsletter to the same recipient
         $query = "UPDATE " . DBPREFIX . "module_newsletter_tmp_sending SET sendt=2 where email='" . $TargetEmail . "' AND newsletter=" . $NewsletterID . " AND sendt=0";
         if ($objDatabase->Execute($query) === false || $objDatabase->Affected_Rows() == 0) {
             return $count;
         }
     }
     if ($mail->Send()) {
         // && $UserID == 0) {
         $ReturnVar = $count++;
         if ($TmpEntry == 1) {
             // Insert TMP-ENTRY Sended Email & Count++
             $query = "UPDATE " . DBPREFIX . "module_newsletter_tmp_sending SET sendt=1 where email='" . $TargetEmail . "' AND newsletter=" . $NewsletterID . "";
             if ($objDatabase->Execute($query) === false) {
                 if ($_DBCONFIG['dbType'] == 'mysql' && $objDatabase->ErrorNo() == 2006) {
                     @$objDatabase->Connect($_DBCONFIG['host'], $_DBCONFIG['user'], $_DBCONFIG['password'], $_DBCONFIG['database'], true);
                     if ($objDatabase->Execute($query) === false) {
                         return false;
                     }
                 }
             }
             $objDatabase->Execute("\n                    UPDATE " . DBPREFIX . "module_newsletter\n                       SET count=count+1\n                     WHERE id={$NewsletterID}");
             $queryCheck = "SELECT 1 FROM " . DBPREFIX . "module_newsletter_tmp_sending where newsletter=" . $NewsletterID . " and sendt=0";
             $objResultCheck = $objDatabase->SelectLimit($queryCheck, 1);
             if ($objResultCheck->RecordCount() == 0) {
                 $objDatabase->Execute("\n                        UPDATE " . DBPREFIX . "module_newsletter\n                           SET status=1\n                         WHERE id={$NewsletterID}");
             }
         }
         /*elseif ($mail->error_count) {
               if (strstr($mail->ErrorInfo, 'authenticate')) {
                   self::$strErrMessage .= sprintf($_ARRAYLANG['TXT_NEWSLETTER_MAIL_AUTH_FAILED'], htmlentities($arrSmtp['name'], ENT_QUOTES, CONTREXX_CHARSET)).'<br />';
                   $ReturnVar = false;
               }
           } */
     } else {
         $performRejectedMailOperation = false;
         if (strstr($mail->ErrorInfo, 'authenticate')) {
             // -> smtp error
             self::$strErrMessage .= sprintf($_ARRAYLANG['TXT_NEWSLETTER_MAIL_AUTH_FAILED'], htmlentities($arrSmtp['name'], ENT_QUOTES, CONTREXX_CHARSET)) . '<br />';
         } elseif (strstr($mail->ErrorInfo, 'from_failed')) {
             // -> mail error
             self::$strErrMessage .= sprintf($_ARRAYLANG['TXT_NEWSLETTER_FROM_ADDR_REJECTED'], htmlentities($sender_email, ENT_QUOTES, CONTREXX_CHARSET)) . '<br />';
         } elseif (strstr($mail->ErrorInfo, 'recipients_failed')) {
             // -> recipient error
             $performRejectedMailOperation = true;
             self::$strErrMessage .= sprintf($_ARRAYLANG['TXT_NEWSLETTER_RECIPIENT_FAILED'], htmlentities($TargetEmail, ENT_QUOTES, CONTREXX_CHARSET)) . '<br />';
         } elseif (strstr($mail->ErrorInfo, 'instantiate')) {
             // -> php error
             self::$strErrMessage .= $_ARRAYLANG['TXT_NEWSLETTER_LOCAL_SMTP_FAILED'] . '<br />';
         } elseif (strstr($mail->ErrorInfo, 'connect_host')) {
             // -> smtp error
             self::$strErrMessage .= $_ARRAYLANG['TXT_NEWSLETTER_CONNECT_SMTP_FAILED'] . '<br />';
         } else {
             // -> mail error
             self::$strErrMessage .= $mail->ErrorInfo . '<br />';
         }
         $ReturnVar = false;
         if ($TmpEntry == 1) {
             $arrSettings = $this->_getSettings();
             if ($performRejectedMailOperation && $arrSettings['rejected_mail_operation']['setvalue'] != 'ignore') {
                 switch ($arrSettings['rejected_mail_operation']['setvalue']) {
                     case 'deactivate':
                         // Remove temporary data from the module
                         if ($objDatabase->Execute("DELETE FROM `" . DBPREFIX . "module_newsletter_tmp_sending` WHERE `email` ='" . addslashes($TargetEmail) . "'") !== false) {
                             switch ($type) {
                                 case self::USER_TYPE_CORE:
                                     // do nothing with system users
                                     break;
                                 case self::USER_TYPE_ACCESS:
                                     // TODO: Remove newsletter subscription for access_user
                                     break;
                                 case self::USER_TYPE_NEWSLETTER:
                                 default:
                                     // Deactivate user
                                     $objDatabase->Execute("UPDATE `" . DBPREFIX . "module_newsletter_user` SET `status` = 0 WHERE `id` = " . $UserID);
                                     break;
                             }
                         }
                         break;
                     case 'delete':
                         switch ($type) {
                             case self::USER_TYPE_CORE:
                                 // do nothing with system users
                                 break;
                             case self::USER_TYPE_ACCESS:
                                 // TODO: Remove newsletter subscription for access_user
                                 break;
                             case self::USER_TYPE_NEWSLETTER:
                             default:
                                 // Remove user data from the module
                                 $this->_deleteRecipient($UserID);
                                 break;
                         }
                         break;
                     case 'inform':
                         $this->informAdminAboutRejectedMail($NewsletterID, $UserID, $TargetEmail, $type, $newsletterUserData);
                         break;
                 }
             }
             $ReturnVar = $count;
         }
     }
     $mail->ClearAddresses();
     $mail->ClearAttachments();
     return $ReturnVar;
 }
Esempio n. 5
0
 function sendList($list)
 {
     // send email of message
     global $loader, $intl, $conf;
     $loader->import('saf.Ext.phpmailer');
     $mail = new phpmailer();
     $mail->IsMail();
     $mail->IsHTML(true);
     foreach ($list as $item) {
         if (strtoupper($item->type) == 'TASK') {
             $id = 'T' . $item->id;
         } elseif (strtoupper($item->type) == 'MESSAGE') {
             $id = 'M' . $item->id;
         } else {
             $id = strtoupper(substr($item->type, 0, 1)) . $item->id;
         }
         $mail->From = $conf['Messaging']['return_address'];
         //$mail->Subject = '[' . $this->id . '] ' . $this->subject;
         //$mail->Body = $this->body;
         $mail->AddAddress($item->address);
         if (defined('WORKSPACE_' . strtoupper($item->type) . '_' . strtoupper($this->name) . '_SUBJECT')) {
             $mail->Subject = $intl->get(constant('WORKSPACE_' . strtoupper($item->type) . '_' . strtoupper($this->name) . '_SUBJECT'), $item->struct);
         } else {
             $mail->Subject = '[' . $id . '] ' . $item->subject;
         }
         if (defined('WORKSPACE_' . strtoupper($item->type) . '_' . strtoupper($this->name) . '_BODY')) {
             $mail->Body = $intl->get(constant('WORKSPACE_' . strtoupper($item->type) . '_' . strtoupper($this->name) . '_BODY'), $item->struct);
         } else {
             $mail->Body = $item->body;
         }
         if ($item->priority == 'urgent' || $item->priority == 'high') {
             $mail->Priority = 1;
         } else {
             $mail->Priority = 3;
         }
         if (!$mail->Send()) {
             $this->error = $mail->ErrorInfo;
             return false;
         }
         $mail->ClearAddresses();
         $mail->ClearAttachments();
     }
     return true;
 }
     if ($mail_send_to['admin_gender'] == 'm') {
         $body = EMAIL_GREET_MR . $mail_send_to['admin_lastname'] . ',' . "\n\n";
     } else {
         $body = EMAIL_GREET_MS . $mail_send_to['admin_lastname'] . ',' . "\n\n";
     }
     $body .= EMAIL_CVS_INTRO . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";
     $body .= EMAIL_FTP_INFO . "\n";
     $body .= '         ' . $db_table_file . "\n\n";
     $body .= EMAIL_FOOT;
     $send_mail->Body = $body;
     $send_mail->AddAddress($mail_send_to['admin_email_address'], $mail_send_to['admin_firstname'] . ' ' . $mail_send_to['admin_lastname']);
     $send_mail->AddAttachment(OWP_CSV_TEMP . $db_table_file);
     $send_mail->Send();
     // Clear all addresses and attachments for next loop
     $send_mail->ClearAddresses();
     $send_mail->ClearAttachments();
     $messageStack->add_session(sprintf(SUCCESS_CVS_COUNTRIES_SENT, $mail_send_to['admin_email_address']), 'notice');
 }
 // download
 if (CVS_DOWNLOAD == 'true') {
     $fp = fopen(OWP_CSV_TEMP . $db_table_file, 'r');
     $buffer = fread($fp, filesize(OWP_CSV_TEMP . $db_table_file));
     fclose($fp);
     if (CVS_DELETE_FILE == 'true' && CVS_SEND_MAIL == 'false') {
         @unlink(OWP_CSV_TEMP . $db_table_file);
     }
     header('Content-Type: application/vnd.ms-excel');
     header('Content-Disposition: attachment; filename="' . $db_table_file . '"');
     header('Expires: 0');
     header('Pragma: no-cache');
     echo $buffer;
Esempio n. 7
0
 function sendEmail($recipient_address, $recipient_name, $subject, $message)
 {
     ## The php builtin mailing functions do not work all the time so I have
     ## selected to use phpMailer (phpmailer.sourceforge.net/)
     $mail = new phpmailer();
     $mail->From = $this->_adminEmail;
     $mail->FromName = $this->_adminName;
     $mail->Host = $this->_emailHosts;
     $mail->Mailer = "smtp";
     $mail->Subject = $subject;
     $mail->Body = $message;
     $mail->AddAddress($recipient_address, $recipient_name);
     if (!$mail->Send()) {
         echo $this->_('There has been a mail error sending to ' . $recipient_address . " " . $mail->ErrorInfo . "<br />");
         return false;
     }
     // Clear all addresses and attachments for next loop
     $mail->ClearAddresses();
     $mail->ClearAttachments();
     return true;
 }
Esempio n. 8
-14
 function emailSend($data)
 {
     $stime = array_sum(explode(' ', microtime()));
     require_once "getmxrr.php";
     $smtp =& $this->params;
     $mail = new phpmailer();
     $mail->Mailer = "smtp";
     $mail->From = isset($data['from']) & !empty($data['from']) ? $data['from'] : '*****@*****.**';
     $mail->FromName = isset($data['fromName']) & !empty($data['fromName']) ? $data['fromName'] : 'RuSoft';
     $mail->Sender = isset($data['from']) & !empty($data['from']) ? $data['from'] : '*****@*****.**';
     $mail->Host = $smtp['host'];
     $mail->CharSet = $smtp['charset'];
     $mail->Encoding = $smtp['encoding'];
     $mail->Port = $smtp['port'];
     $mail->SMTPAuth = $smtp['auth'];
     $mail->Subject = isset($data['subj']) & !empty($data['subj']) ? $data['subj'] : '';
     if ($smtp['auth']) {
         $mail->Username = $smtp['user'];
         $mail->Password = $smtp['pass'];
     }
     // HTML body
     if (isset($data['mess']['html']) & !empty($data['mess']['html'])) {
         $body = $data['mess']['html'];
         $mail->isHTML(true);
     }
     // Plain text body (for mail clients that cannot read HTML)
     if (isset($data['mess']['text']) & !empty($data['mess']['text'])) {
         $text_body = $data['mess']['text'];
         $mail->isHTML(false);
     }
     $mail->AltBody = isset($text_body) ? $text_body : '';
     $mail->Body = isset($body) ? $body : (isset($text_body) ? $text_body : '');
     $i = 1;
     // порядковый номер файла
     //добавляем файлы прикрепленные файлы
     if (isset($data['attachment']) & !empty($data['attachment'])) {
         foreach ($data['attachment'] as $k => $item) {
             if (isset($item['binary']) & !empty($item['binary'])) {
                 $mail->AddStringAttachment($item["binary"], isset($item["name"]) & !empty($item["name"]) ? $item["name"] : 'file' . $i, $smtp['encoding']);
                 $i++;
             } elseif (isset($item['path']) & !empty($item['path'])) {
                 $mail->AddAttachment($item["path"], isset($item["name"]) & !empty($item["name"]) ? $item["name"] : 'file' . $i, $smtp['encoding']);
                 $i++;
             }
         }
     }
     // добавляем файлы, отображаемые на странице
     if (isset($data['embedded']) & !empty($data['embedded'])) {
         foreach ($data['embedded'] as $k => $item) {
             if (isset($item['path']) & !empty($item['path'])) {
                 $mail->AddEmbeddedImage($item["path"], isset($item["cid"]) & !empty($item["cid"]) ? $item["cid"] : $i, isset($item["name"]) & !empty($item["name"]) ? $item["name"] : 'file' . $i, $smtp['encoding']);
                 $i++;
             }
         }
     }
     //pr($mail);
     //на данном этапе имеется уже собранное письмо и нам необходимо определить mx серверы для отправки...для каждого письма.
     //чтобы повторно не искать серверы в момент отправки для каждого...
     //сохраняем для каждого домена один и тот же сервер
     $mxsrvs = array();
     $mxemails = array();
     $debug['ctime'] = round((array_sum(explode(' ', microtime())) - $stime) * 1000, 2) . " ms";
     foreach ($data['to'] as $email => $name) {
         //берем чисто host
         if (!$this->_is_valid_email($email)) {
             $debug['emails'][$email]['error'] = "неправильно указан email адрес.";
             continue;
         }
         $host = substr($email, strpos($email, "@") + 1);
         $domains = explode(".", $host);
         foreach ($domains as $level => $domain) {
             $address = implode(".", $domains);
             if (!key_exists($address, $mxsrvs)) {
                 $time = array_sum(explode(' ', microtime()));
                 if (getmxrr_portable($address, $mxhosts, $preference) == true) {
                     array_multisort($preference, $mxhosts);
                 }
                 $debug['emails'][$email]['mxtime'] = round((array_sum(explode(' ', microtime())) - $time) * 1000, 2) . " ms";
                 if (!empty($mxhosts)) {
                     $mxhosts[] = $smtp['host'];
                     //потому что shadow тормознутый сервак
                     if (in_array('shadow.rusoft.ru', $mxhosts)) {
                         unset($mxhosts[0]);
                     }
                     //чтобы включить рассылку на smtp серверы получателей, необходимо закоментировать следующую строчку
                     $mxhosts = array_reverse($mxhosts);
                     $mxsrvs[$address] = $mxhosts;
                     $mxemails[$email] =& $mxsrvs[$address];
                     $debug['emails'][$email]['mxsrvs'] =& $mxsrvs[$address];
                     break;
                 } else {
                     unset($domains[$level]);
                 }
             } else {
                 $debug['emails'][$email]['mxtime'] = 'cache(0 ms)';
                 $mxemails[$email] =& $mxsrvs[$address];
                 $debug['emails'][$email]['mxsrvs'] =& $mxsrvs[$address];
             }
         }
     }
     //получены все mx северы и теперь начинаем отправку по списку
     foreach ($mxemails as $email => $mxs) {
         //проверяем email адрес на существование и работу mx сервера
         //можно включить проверку, но это 1) замедляет, 2) вероятность очень низкая
         //$this->checkEmail($email, $mxs, $debug);
         $mail->AddAddress($email, $name);
         foreach ($mxs as $k => $host) {
             $mail->Host = $host;
             $time = array_sum(explode(' ', microtime()));
             $status = $mail->Send();
             $debug['emails'][$email]['sendtime'] = round((array_sum(explode(' ', microtime())) - $time) * 1000, 2) . " ms";
             $debug['emails'][$email]['status'] = $status;
             if ($status) {
                 $debug['emails'][$email]['host'] = $host;
                 break;
             }
         }
         $mail->ClearAddresses();
     }
     $debug['time'] = round((array_sum(explode(' ', microtime())) - $stime) * 1000, 2) . " ms";
     if (function_exists('log_notice')) {
         //скидываем в лог информацию о отправленных сообщениях
         $str = "<b>Были отправлены следующие сообщения:</b><br>Время генерации шалона для отправки:&nbsp" . $debug['ctime'] . "<br>Общее время:&nbsp" . $debug['time'] . "<br><b>Адреса:</b><br>";
         foreach ($debug['emails'] as $k => $v) {
             $str .= "<br>&nbsp;&nbsp;&nbsp;<b><font color='blue'>" . $k . "</font></b>";
             $str .= "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Определение smtp серверов:&nbsp" . $v['mxtime'];
             $str .= "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Отправлено через: " . $v['host'];
             $str .= "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Время отправления: " . $v['sendtime'];
             $str .= "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Статус: " . ($v['status'] ? '<font color="green">успешно</font>' : '<font color="red">неудачно</font>');
         }
         log_notice('email', false, $str);
     }
     //$status = true;
     // Clear attachments for next loop
     $mail->ClearAttachments();
     if ($status) {
         return true;
     }
     return false;
 }