コード例 #1
0
 function m_sendMail()
 {
     $libFunc = new c_libFunctions();
     $this->ObTpl = new template();
     $this->ObTpl->set_file("TPL_VAR_CMS", MODULES_PATH . "default/templates/main/contactmail.tpl.htm");
     $this->ObTpl->set_var("TPL_VAR_NAME", $this->libFunc->m_displayContent($this->request['sName']));
     $this->ObTpl->set_var("TPL_VAR_ADDRESS1", $this->libFunc->m_displayContent($this->request['sAddress1']));
     $this->ObTpl->set_var("TPL_VAR_ADDRESS2", $this->libFunc->m_displayContent($this->request['sAddress2']));
     $this->ObTpl->set_var("TPL_VAR_PHONE", $this->libFunc->m_displayContent($this->request['sWorkPhone']));
     $this->ObTpl->set_var("TPL_VAR_COUNTRY", $this->libFunc->m_displayContent($this->request['sCountry']));
     $this->ObTpl->set_var("TPL_VAR_COMMENTS", nl2br($this->libFunc->m_displayContent($this->request['sComments'])));
     $message = "========================================<br />";
     $message .= "Contact request from " . SITE_NAME . "<br />";
     $message .= "========================================<br />";
     $message .= $this->ObTpl->parse("return", "TPL_VAR_CMS");
     $this->request['sName'] . "<" . $this->libFunc->m_displayContent1($this->request['sEmail']) . ">";
     $obMail = new htmlMimeMail();
     $obMail->setReturnPath(ADMIN_EMAIL);
     $this->libFunc->m_displayContent($this->request['sName']) . "<" . $this->libFunc->m_displayContent1($this->request['sEmail']) . ">";
     $obMail->setFrom($this->libFunc->m_displayContent1("\"" . $this->request['sName'] . "\"") . "<" . $this->libFunc->m_displayContent1($this->request['sEmail']) . ">");
     $obMail->setSubject("Contact request from " . SITE_NAME);
     $obMail->setCrlf("\n");
     //to handle mails in Outlook Express
     $htmlcontent = $message;
     $txtcontent = preg_replace("/<([^>]+)>/", "", preg_replace("/<br(\\/{0,1})>/", "\r\n", $message));
     $obMail->setHtml($htmlcontent, $txtcontent);
     $obMail->buildMessage();
     $result = $obMail->send(array(ENQUIRY_EMAIL));
 }
コード例 #2
0
ファイル: DefineTenderClass.php プロジェクト: rrsc/KwaMoja
 function EmailSuppliers()
 {
     $EmailText = _('This email has been automatically generated by KwaMoja') . "\n";
     $EmailText .= _('You are invited to Tender for the following products to be delivered to') . ' ' . $_SESSION['CompanyRecord']['coyname'] . "\n";
     $EmailText .= _('Tender number') . ': ' . $this->TenderId . "\n";
     $EmailText .= _(' Quantity ') . ' ' . _(' Unit ') . ' ' . _(' Item Description') . "\n";
     foreach ($this->LineItems as $LineItem) {
         $EmailText .= $LineItem->Quantity . ' ' . $LineItem->Units . ' ' . $LineItem->ItemDescription . "\n";
     }
     $Subject = _('Tender received from') . ' ' . $_SESSION['CompanyRecord']['coyname'];
     $Headers = 'From: ' . $_SESSION['PurchasingManagerEmail'] . "\r\n" . 'Reply-To: ' . $_SESSION['PurchasingManagerEmail'] . "\r\n" . 'X-Mailer: PHP/' . phpversion();
     if ($_SESSION['SmtpSetting'] == 1) {
         include 'includes/htmlMimeMail.php';
         $mail = new htmlMimeMail();
         $mail->setText($EmailText);
         $mail->setSubject($Subject);
         $mail->setFrom($_SESSION['PurchasingManagerEmail']);
         $mail->setHeader('Reply-To', $_SESSION['PurchasingManagerEmail']);
         $mail->setCc($_SESSION['PurchasingManagerEmail']);
         //Set this as a copy for filing purpose
     }
     foreach ($this->Suppliers as $Supplier) {
         $result = mail($Supplier->EmailAddress, $Subject, $EmailText, $Headers);
         if ($_SESSION['SmtpSetting'] == 0) {
             $result = mail($Supplier->EmailAddress, $Subject, $EmailText, $Headers);
         } else {
             $result = SendmailBySmtp($mail, array($Supplier->EmailAddress, $_SESSION['PurchasingManagerEmail']));
         }
     }
 }
コード例 #3
0
ファイル: NPLib_Net.php プロジェクト: dpecos/npshop
function sendHTMLMail($from, $to, $subject, $body)
{
    $mail = new htmlMimeMail();
    $mail->setFrom($from);
    $mail->setSubject($subject);
    $mail->setHTML($body);
    if (is_array($to)) {
        $result = $mail->send($to);
    } else {
        $result = $mail->send(array($to));
    }
    return $result;
}
コード例 #4
0
ファイル: shop_db.php プロジェクト: penkoh/TradingEye-V7.1.1
 function m_reviewAdd()
 {
     $this->request['display'] = $this->libFunc->ifSet($this->request, "display");
     $timestamp = time();
     $this->obDb->query = "SELECT iProdid_PK FROM " . PRODUCTS . " WHERE iProdid_PK='" . $this->request['productid'] . "'";
     $rs = $this->obDb->fetchQuery();
     if ($this->obDb->record_count > 0) {
         #inserting to departments
         $this->obDb->query = "SELECT iCustRevid_PK FROM " . REVIEWS . " WHERE iCustomerid_FK='" . $_SESSION['userid'] . "' AND iItemid_FK='" . $this->request['productid'] . "'";
         $rs = $this->obDb->fetchQuery();
         $rsCnt = $this->obDb->record_count;
         if ($rsCnt == 0) {
             $this->obDb->query = "INSERT INTO " . REVIEWS . "\n\t\t\t\t\t\t\t\t\t\t(vTitle,vComment,vRank,iDisplay,iItemid_FK,tmDateAdd,iCustomerid_FK,iState) \n\t\t\t\t\t\t\t\t\t\t\tvalues('" . $this->libFunc->m_addToDB($this->request['title']) . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $this->libFunc->m_addToDB($this->request['comment']) . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $this->libFunc->m_addToDB($this->request['rank']) . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $this->request['display'] . "',\n\t\t\t\t\t\t\t\t\t\t\t'" . $this->request['productid'] . "',\n\t\t\t\t\t\t\t\t\t\t\t'{$timestamp}','" . $_SESSION['userid'] . "',1)";
             $this->obDb->updateQuery();
         } else {
             $this->obDb->query = "UPDATE " . REVIEWS . " SET vTitle='" . $this->libFunc->m_addToDB($this->request['title']) . "',\n\t\t\t\t\t\t\t\t\t\tvComment='" . $this->libFunc->m_addToDB($this->request['comment']) . "',\n\t\t\t\t\t\t\t\t\t\tvRank='" . $this->libFunc->m_addToDB($this->request['rank']) . "',\n\t\t\t\t\t\t\t\t\t\tiDisplay='" . $this->request['display'] . "',\n\t\t\t\t\t\t\t\t\t\tiItemid_FK='" . $this->request['productid'] . "',\n\t\t\t\t\t\t\t\t\t\ttmDateAdd='{$timestamp}' WHERE iCustRevid_PK='" . $rs[0]->iCustRevid_PK . "'";
             $this->obDb->updateQuery();
         }
         # additional functionality to e-mail admin on new submission of new product review - MCB, 26/09/2008
         $this->obDb->query = "SELECT vFirstName, vLastName FROM " . CUSTOMERS . " WHERE iCustmerid_PK=" . $_SESSION['userid'];
         $name_row = $this->obDb->fetchQuery();
         $customername = $name_row[0]->vFirstName . " " . $name_row[0]->vLastName;
         $obMail = new htmlMimeMail();
         $obMail->setReturnPath(ADMIN_EMAIL);
         $obMail->setFrom(SITE_NAME . "<" . ADMIN_EMAIL . ">");
         $obMail->setSubject("New product review");
         $obMail->setCrlf("\n");
         //to handle mails in Outlook Express
         $message = "Somebody has posted a new product review on your on-line store.<br>Details of this review are listed below.<br><br>";
         $message .= $customername . " submitted the following at " . date('g:ia') . " on " . date('l, d F Y') . ":<br><br>";
         $message .= $this->libFunc->m_displayContent($this->request['comment']) . "<br><br>";
         $message .= "To view this comment, please visit the following URL:<br>";
         $message .= "<a href=\"" . SITE_URL . "ecom/index.php?action=ecom.pdetails&mode=" . $this->request['mode'] . "\">" . SITE_URL . "ecom/index.php?action=ecom.pdetails&mode=" . $this->request['mode'] . "</a>";
         $htmlcontent = $message;
         $txtcontent = preg_replace("/<([^>]+)>/", "", preg_replace("/<br(\\/{0,1})>/", "\r\n", $message));
         $obMail->setHtml($htmlcontent, $txtcontent);
         $obMail->buildMessage();
         if (preg_match("/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})\$/i", ADMIN_EMAIL)) {
             $result = $obMail->send(array(ADMIN_EMAIL));
         }
     }
     # redirect on posting and e-mailing of comment ...
     $retUrl = $this->libFunc->m_safeUrl(SITE_URL . "ecom/index.php?action=ecom.pdetails&mode=" . $this->request['seotitle']);
     $this->libFunc->m_mosRedirect($retUrl);
     exit;
 }
コード例 #5
0
 public static function send($from, $to, $subject, $body, array $attachments = null, array $headers = null)
 {
     if (empty($to)) {
         Logger::trace("mail not sent: no recipients: {$subject}");
         return;
     }
     $config = Context::last()->config;
     if (empty($from)) {
         if (!($from = $config->get('modules/mail/from'))) {
             $from = "Molinos.CMS <no-reply@" . MCMS_HOST_NAME . ">";
         }
     }
     if (strstr($body, '<html>') === false) {
         $body = '<html><head><title>' . html::plain($subject) . '</title></head><body>' . $body . '</body></html>';
     }
     if (!is_array($to)) {
         $to = preg_split('/, */', $to, -1, PREG_SPLIT_NO_EMPTY);
     }
     Logger::log(sprintf('to=%s, subject=%s', join(',', $to), $subject), 'mail');
     $mail = new htmlMimeMail();
     if ('smtp' == ($transport = ($server = $config->get('modules/mail/server')) ? 'smtp' : 'mail')) {
         $mail->setSMTPParams($server);
     }
     $mail->setFrom($from);
     $mail->setSubject($subject);
     $mail->setHtml(self::fixhtml($body));
     $mail->setTextCharset('UTF-8');
     $mail->setTextEncoding('base64');
     $mail->setHTMLCharset('UTF-8');
     $mail->setHTMLEncoding('UTF-8');
     $mail->setHeadCharset('UTF-8');
     foreach ((array) $attachments as $file) {
         $mail->addAttachment($file['data'], $file['name'], $file['type']);
     }
     foreach ((array) $headers as $k => $v) {
         if (!empty($v)) {
             $mail->setHeader($k, $v);
         }
     }
     return $mail->send($to, $transport);
 }
コード例 #6
0
ファイル: tools.php プロジェクト: BackupTheBerlios/facturaphp
function SendHtmlEmail($plantilla, $variables, $subject, $destino, $origen = "*****@*****.**", $imagenes = NULL, $imgdir = "img", $html = NULL)
{
    require_once 'mail.php';
    if (!$html) {
        $smarty = SmartyInit();
        $smarty->assign("variables", $variables);
        $body = $smarty->fetch($plantilla);
    } else {
        $body = $html;
    }
    $mail = new htmlMimeMail();
    // Definimos el html
    $mail->setHtml($body);
    // Comprobamos si hay imagenes embebidas en el correo
    if ($imagenes != NULL) {
        // Leemos todos los ficheros y los aadimos al correo
        foreach ($imagenes as $imagen) {
            $len = strlen($imagen);
            $extension = substr($imagen, $len - 3, 3);
            if ($extension == "gif") {
                $tipo = "image/gif";
            }
            if ($extension == "jpg") {
                $tipo = "image/jpg";
            }
            $fichero = $imgdir . "/" . $imagen;
            $temp = $mail->getFile($fichero);
            $mail->addHtmlImage($temp, $imagen, $tipo);
        }
    }
    // Definimos las cabeceras de los mensajes
    $mail->setReturnPath($origen);
    $mail->setFrom($origen);
    $mail->setSubject($subject);
    $mail->setHeader('X-Mailer', 'Correo enviado por pachecoforja.com');
    // Enviamos el correo
    $result = $mail->send(array($destino), 'smtp');
    if (!$result) {
        return $mail->errors;
    } else {
        return true;
    }
}
コード例 #7
0
ファイル: example.1.php プロジェクト: 4v4t4r/CTF-LCC
 * (case-sensitive) to the name in the html.
 */
$mail->setHtml($html, $text);
$mail->addHtmlImage($background, 'background.gif', 'image/gif');
/*
 * This is used to add an attachment to
 * the email. Due to above, the $attachment
 * variable contains the example zip file.
 */
$mail->addAttachment($attachment, 'example.zip', 'application/zip');
/*
 * Set the return path of the message
 */
$mail->setReturnPath('*****@*****.**');
/**
 * Set some headers
 */
$mail->setFrom('"Joe" <*****@*****.**>');
$mail->setSubject('Test mail');
$mail->setHeader('X-Mailer', 'HTML Mime mail class (http://www.phpguru.org)');
/**
 * Send it using SMTP. If you're using Windows you should *always* use
 * the smtp method of sending, as the mail() function is buggy.
 */
$result = $mail->send(array('postmaster@localhost'), 'smtp');
// These errors are only set if you're using SMTP to send the message
if (!$result) {
    print_r($mail->errors);
} else {
    echo 'Mail sent!';
}
コード例 #8
0
chdir($kwamoja_home);
// get me the report name from the command line
$_GET['ReportID'] = $reportnumber;
$Recipients = explode(";", $emailaddresses);
//wrap in angles so that mail can accept it
for ($i = 0; $i < count($Recipients); $i++) {
    $Recipient[$i] = "<" . $Recipient[$i] . ">";
}
$AllowAnyone = true;
include 'includes/session.inc';
include 'includes/ConstructSQLForUserDefinedSalesReport.inc';
include 'includes/PDFSalesAnalysis.inc';
include 'includes/htmlMimeMail.php';
$mail = new htmlMimeMail();
if ($Counter > 0) {
    /* the number of lines of the sales report is more than 0  ie there is a report to send! */
    $pdfcode = $pdf->output();
    $fp = fopen($_SESSION['reports_dir'] . "/" . $reportname, "wb");
    fwrite($fp, $pdfcode);
    fclose($fp);
    $attachment = $mail->getFile($_SESSION['reports_dir'] . "/" . $reportname);
    $mail->setText($mailtext . "\nPlease find herewith " . $reportname . "  report");
    $mail->setSubject($reportname . " Report");
    $mail->addAttachment($attachment, $reportname, 'application/pdf');
    $mail->setFrom("");
    $result = $mail->send($Recipients);
} else {
    $mail->setText("Error running automated sales report number {$ReportID}");
    $mail->setFrom("Do_not_reply_" . $_SESSION['CompanyRecord']['coyname'] . "<" . $_SESSION['CompanyRecord']['email'] . ">");
    $result = $mail->send($Recipients);
}
コード例 #9
0
ファイル: xapEnviar.php プロジェクト: rusoftware/GrupoNorte
    $cTexto = $oMail->getFile("./Newsletter/Newsletter.txt");
    $cTexto = str_replace("##Contenido##", $cContTexto, $cTexto);
    $cTexto = str_replace("##Nombre##", $aRegistro["NwsSuscNombre"], $cTexto);
    $cTexto = str_replace("##EMail##", $aRegistro["NwsSuscMail"], $cTexto);
    $cTexto = str_replace("##ClaveBaja##", md5("#".$aRegistro["NwsSuscCodigo"]."#".$aRegistro["NwsSuscMail"]."#"), $cTexto);

    $cHTML  = $oMail->getFile("./Newsletter/Newsletter.html");
    $cHTML  = str_replace("##Contenido##", $cContHTML, $cHTML);
    $cHTML  = str_replace("##Nombre##", $aRegistro["NwsSuscNombre"], $cHTML);
    $cHTML  = str_replace("##EMail##", $aRegistro["NwsSuscMail"], $cHTML);
    $cHTML  = str_replace("##ClaveBaja##", md5("#".$aRegistro["NwsSuscCodigo"]."#".$aRegistro["NwsSuscMail"]."#"), $cHTML);

    $oMail->setHtml($cHTML, $cTexto, '../');
    $oMail->setFrom($cDesdeMail);
    $oMail->setReturnPath($cRetorMail);
    $oMail->setSubject($cAsunto);
    $oMail->send(array($aRegistro["NwsSuscMail"]));

    unset($oMail);

    if ($_GET['Desde']=='EnvNews') {
      $cSql = "INSERT INTO NwsEnvio (NwsEdicCodigo, NwsSuscCodigo) VALUES (" . $_REQUEST["Codigo"] . ", " . $aRegistro["NwsSuscCodigo"] . ")";
      $nResulIns = mysql_query ($cSql) or fErrorSQL($conf["EstadoSitio"], "<br /><br /><b>Error en la consulta:</b><br />" . $cSql . "<br /><br /><b>Tipo de error:</b><br />" . mysql_error() . "<br />");
    }

    ?>
    <script language="JavaScript">
      changeCaption('EstadoEnvio', '<?php 
echo $cEstado;
?>
 - <?php 
コード例 #10
0
ファイル: formmail.class.inc.php プロジェクト: Nenet/Urban
 /**
  * Replace placeholders in mail templates and send
  * e-mails.
  */
 function send_mail($mail_content, $content_data, $post_data = null)
 {
     global $text_wrap, $my_sendmail, $send_alternative_mail, $debug_mode, $sender_count, $sender_duration, $recipient_count, $recipient_duration, $txt, $remove_tags, $tplt, $configuration;
     $multiple = $this->collect_multiples($post_data);
     $mail_content = $this->replace_multiples($mail_content, $multiple);
     for ($i = 0; $i < count($mail_content); $i++) {
         /**
          * Replace placeholder with form, text (from language
          * file) and environment data
          */
         $mail_content[$i] = $this->replace_values($mail_content[$i], $post_data);
         $mail_content[$i] = $this->replace_values($mail_content[$i], $txt);
         $mail_content[$i] = $this->replace_values($mail_content[$i], $content_data);
         $mail_content[$i] = $this->replace_values($mail_content[$i], $this->get_environment_var($_SERVER));
         //$mail_content[$i] = $this->replace_values($mail_content[$i], $url);
         /**
          * Remove unselected value placeholders
          */
         $mail_content[$i] = $this->remove_values($mail_content[$i]);
         /**
          * Remove tags
          */
         // $mail_content[$i] = $this->clean_output($mail_content[$i], $remove_tags);
         /**
          * Strip slashes
          */
         $final_mail_content = stripslashes($mail_content[$i]);
         if ($this->validate_to($final_mail_content) == false) {
             continue;
         }
         /**
          * Check whether the user is allowed to send e-mails
          * with or to a certain e-mail address.
          */
         $sender = $this->get_header_info($mail_content[$i], 'From');
         $recipient = $this->get_header_info($mail_content[$i], 'To');
         // Check if recipient is blocked by domain
         if (sizeof($configuration['recipients_domains']) > 0) {
             foreach ($configuration['recipients_domains'] as $recipient_domain) {
                 $domain = '#' . preg_quote(trim($recipient_domain)) . '#';
                 if (preg_match($domain, $recipient) === 1) {
                     return array('status' => 'failed', 'message' => array(), 'mail_content' => $mail_content[$i]);
                 }
             }
         }
         if ($tplt == 'recom') {
             if ($limit = $this->check_value_limit($sender, $sender_count, $sender_duration, 4, $txt['txt_sender_expiration'])) {
                 $message[] = array('message' => $limit, 'fields' => '');
             }
             if ($limit = $this->check_value_limit($recipient, $recipient_count, $recipient_duration, 5, $txt['txt_recipient_expiration'])) {
                 $message[] = array('message' => $limit, 'fields' => '');
             }
             if (isset($message) and !empty($message)) {
                 return array('status' => 'failed', 'message' => $message);
             }
         }
         /**
          * Start attachment handling
          */
         $send_attachments = false;
         if (!empty($this->attachments) and is_array($this->attachments)) {
             $send_alternative_mail = 'yes';
             $send_attachments = true;
         }
         if (isset($configuration['attach_mail_vars']) and is_array($configuration['attach_mail_vars']) and sizeof($configuration['attach_mail_vars']) > 0) {
             $send_alternative_mail = 'yes';
             $send_attachments = true;
         }
         /**
          * Get sendmail path from php ini settings or use the
          * value of $my_sendmail.
          */
         if ($send_alternative_mail != 'yes') {
             $sendmail = @ini_get('sendmail_path');
             debug_mode($sendmail, 'ini_get()');
             if (empty($sendmail)) {
                 $sendmail = "/usr/sbin/sendmail -t ";
                 debug_mode($sendmail, 'empty($sendmail)');
             }
             if (isset($my_sendmail) and !empty($my_sendmail)) {
                 $sendmail = $my_sendmail;
                 debug_mode(array('$my_sendmail', $sendmail));
             }
             /**
              * Try to send e-mail by using popen() to access
              * sendmail.
              */
             if ($fd = @popen($sendmail, "w")) {
                 if (!@fputs($fd, $final_mail_content . "\n")) {
                     $send_alternative_mail = 'yes';
                     debug_mode(array($txt['txt_popen_error'] . ' - fputs()', gettype($fd), $fd));
                 }
                 pclose($fd);
             } else {
                 $send_alternative_mail = 'yes';
                 debug_mode(array($txt['txt_popen_error'] . ' - popen()', gettype($fd), $fd));
             }
             debug_mode($final_mail_content, 'Mail Content popen()');
         }
         /**
          * If popen() - or fputs() - fails, extract mail
          * header from the template and use the PHP  function
          * mail().
          */
         if ($send_alternative_mail == 'yes') {
             $header_info = explode("\n", $final_mail_content);
             $mail_subject = '';
             $mail_header = $this->mail_headers;
             $mail_header = join($mail_header, '|');
             unset($additional_headers);
             $attachment_headers = array();
             for ($k = 0; $k < count($header_info); $k++) {
                 $clean_header = trim($header_info[$k]);
                 if (empty($clean_header)) {
                     break;
                 }
                 if (preg_match("/^From:/i", $header_info[$k])) {
                     $mail_from = trim(preg_replace("/From:/i", '', $header_info[$k]));
                     $attachment_headers['From'] = $mail_from;
                     unset($header_info[$k]);
                     continue;
                 }
                 if (preg_match("/^To:/i", $header_info[$k])) {
                     $mail_recipient = trim(preg_replace("/^To:/i", '', $header_info[$k]));
                     unset($header_info[$k]);
                     continue;
                 }
                 if (preg_match("/^Subject:/i", $header_info[$k])) {
                     $mail_subject = trim(preg_replace("/^Subject:/i", '', $header_info[$k]));
                     unset($header_info[$k]);
                     continue;
                 }
                 if (preg_match("/^X-Form-Mail-Attachment:/i", $header_info[$k])) {
                     if (trim(str_replace('X-Form-Mail-Attachment:', '', $header_info[$k])) == 'no') {
                         $send_attachments = false;
                     }
                     unset($header_info[$k]);
                     continue;
                 }
                 if (preg_match("/^" . $mail_header . "/i", $header_info[$k], $match)) {
                     $additional_headers[] = $header_info[$k];
                     $attachment_headers[str_replace(':', '', $match[0])] = trim(preg_replace("/" . $match[0] . "/i", '', $header_info[$k]));
                     unset($header_info[$k]);
                     continue;
                 }
             }
             if (isset($header_info) and is_array($header_info)) {
                 $new_mail_content = trim(implode($header_info, "\n"));
                 $new_mail_content = str_replace("\r", '', $new_mail_content);
             } else {
                 $new_mail_content = '';
             }
             //                if (isset($additional_headers) and is_array($additional_headers)) {
             //                    $additional_headers = implode($additional_headers, "\n");
             //                } else {
             //                    $additional_headers = '';
             //                }
             /**
              * Wrap mail content (and only mail content - not
              * headers).
              */
             $new_mail_content = $this->wrap_content($new_mail_content, $text_wrap);
             /**
              * Send mail using simple mail function
              */
             if (!$send_attachments and $debug_mode != 'on' and $mail_recipient != '') {
                 //  @mail ($mail_recipient, $mail_subject, $new_mail_content, $additional_headers);
                 send_mail($mail_recipient, $mail_subject, $new_mail_content, $mail_from, $attachment_headers);
             }
             /**
              * Send mail using mail class
              */
             if ($send_attachments and $debug_mode != 'on' and $mail_recipient != '') {
                 $att = new htmlMimeMail();
                 // Switch to smtp mode
                 if ($configuration['mail_type'] == 'smtp') {
                     $type = 'smtp';
                     $smtp = $configuration['smtp'];
                     $att->setSMTPParams($smtp['host'], $smtp['port'], $smtp['helo'], $smtp['auth'], $smtp['user'], $smtp['pass']);
                 } else {
                     $type = 'mail';
                 }
                 // Register file attachments in mime class
                 foreach ($this->attachments as $file_name) {
                     $att->addAttachment($att->getFile($file_name['new']), $file_name['old']);
                 }
                 //Manage mail var attachments
                 if (isset($configuration['attach_mail_vars']) and is_array($configuration['attach_mail_vars']) and sizeof($configuration['attach_mail_vars']) > 0) {
                     foreach ($configuration['attach_mail_vars'] as $attach_type) {
                         if ($attach_type == 'vcard') {
                             $attach_config = array('mailvars' => $post_data, 'type' => G10E_ATTACH_TYPE_VCARD, 'control' => $this->control_fields);
                             if ($res = attach_mail_variables::get_content($attach_config)) {
                                 $att->addAttachment($res, 'vcard.vcf');
                             }
                         }
                         if ($attach_type == 'csv') {
                             $attach_config = array('mailvars' => $post_data, 'type' => G10E_ATTACH_TYPE_CSV, 'control' => $this->control_fields, 'csv_head' => true);
                             if ($res = attach_mail_variables::get_content($attach_config)) {
                                 $att->addAttachment($res, 'csv.csv');
                             }
                         }
                     }
                 }
                 // Register headers in mime class
                 $html = false;
                 if (isset($attachment_headers) and is_array($attachment_headers)) {
                     foreach ($attachment_headers as $key => $val) {
                         $att->setHeader($key, $val);
                         if ($key == 'Content-Type' and preg_match('#text/html#i', $val)) {
                             $att->setHtmlCharset($configuration['character_set']);
                             $att->setHtml($new_mail_content);
                             $html = true;
                         }
                     }
                 }
                 $att->setHeadCharset($configuration['character_set']);
                 $att->setSubject($mail_subject);
                 if ($html != true) {
                     $att->setTextCharset($configuration['character_set']);
                     $att->setText($new_mail_content);
                 }
                 $att->send(array($mail_recipient), $type);
             }
             debug_mode($mail_recipient, 'Mail Recipient mail()');
             debug_mode($mail_subject, 'Mail Subject mail()');
             debug_mode($new_mail_content, 'Mail Content mail()');
             debug_mode($additional_headers, 'Mail Additional Headers mail()');
         }
     }
     // -re- for
     $this->mail_content = $mail_content[0];
     return array('status' => 'ok', 'mail_content' => $this->mail_content);
 }
コード例 #11
0
ファイル: general.class.php プロジェクト: NioFBI/majordomo
function SendMail_HTML($from, $to, $subj, $body, $attach = "")
{
    // sending email as html
    //global $SERVER_SOFTWARE;
    $mail = new htmlMimeMail();
    $mail->setFrom($from);
    $mail->setSubject($subj);
    $mail->setHTML($body);
    $mail->setHTMLCharset('windows-1251');
    $mail->setHeadCharset('windows-1251');
    if (is_array($attach)) {
        $total = count($attach);
        for ($i = 0; $i < $total; $i++) {
            if (file_exists($attach[$i])) {
                $attach_data = $mail->getFile($attach[$i]);
                $mail->addAttachment($attach_data, basename($attach[$i]), '');
            }
        }
    } elseif (file_exists($attach) && $attach != "") {
        $attach_data = $mail->getFile($attach);
        $mail->addAttachment($attach_data, basename($attach), '');
    }
    $result = $mail->send(array($to));
    return $result;
}
コード例 #12
0
ファイル: order_db.php プロジェクト: penkoh/TradingEye-V7.1.1
 function m_sendConfirmation()
 {
     $this->comFunc->obDb = $this->obDb;
     $this->obDb->query = "SELECT vFirstName,vLastName,vEmail  FROM " . ORDERS . " WHERE  iOrderid_PK = '" . $this->request['orderid'] . "'";
     $qryResult = $this->obDb->fetchQuery();
     $rCount = $this->obDb->record_count;
     //	$uniqID=uniqid (3);
     if ($rCount > 0) {
         $name = $this->libFunc->m_displayContent($qryResult[0]->vFirstName) . " " . $this->libFunc->m_displayContent($qryResult[0]->vLastName);
         $this->ObTpl = new template();
         $this->ObTpl->set_file("TPL_MAIL_FILE", $this->mailTemplate);
         $this->ObTpl->set_var("TPL_VAR_NAME", $name);
         $this->ObTpl->set_var("TPL_VAR_INVOICE", $this->request['invoice']);
         $this->ObTpl->set_var("TPL_VAR_METHOD", $this->request['shipper']);
         $this->ObTpl->set_var("TPL_VAR_TRACKNUM", $this->request['tracking']);
         $orderUrl = $this->libFunc->m_safeUrl(SITE_URL . "ecom/index.php?action=checkout.receipt&mode=" . $this->request['orderid']);
         $this->ObTpl->set_var("TPL_VAR_URL", $orderUrl);
         $this->ObTpl->set_var("TPL_VAR_MAILFOOTER", $this->comFunc->m_mailFooter());
         $message = $this->ObTpl->parse("return", "TPL_MAIL_FILE");
         $obMail = new htmlMimeMail();
         $obMail->setReturnPath(ADMIN_EMAIL);
         $obMail->setFrom(SITE_NAME . "<" . ADMIN_EMAIL . ">");
         #11-05-07
         $obMail->setSubject("Your order from " . SITE_NAME . " has shipped!");
         $obMail->setCrlf("\n");
         //to handle mails in Outlook Express
         $htmlcontent = $message;
         $txtcontent = preg_replace("/<([^>]+)>/", "", preg_replace("/<br(\\/{0,1})>/", "\r\n", $message));
         $obMail->setHtml($htmlcontent, $txtcontent);
         $obMail->buildMessage();
         $result = $obMail->send(array($qryResult[0]->vEmail));
     }
 }
コード例 #13
0
            $Result = DB_query("SELECT realname, email FROM www_users WHERE fullaccess=7 AND email <>''", $db);
            if (DB_num_rows($Result) == 0) {
                /*There are no sysadmins with email address specified */
                $Recipients = array("'tim' <tim@localhost>");
            } else {
                /*Make an array of the sysadmin recipients */
                $Recipients = array();
                $i = 0;
                while ($SysAdminsRow = DB_fetch_array($Result)) {
                    $Recipients[$i] = "'" . $SysAdminsRow['realname'] . "' <" . $SysAdminsRow['email'] . ">";
                    $i++;
                }
            }
            $TryNextFile = False;
            /*reset the abort to false before hit next file*/
            $mail->setSubject(_('EDI Order Message Error'));
        } else {
            $mail->setSubject(_('EDI Order Message') . ' ' . $Order->CustRef);
            $EDICustServPerson = "'tim' <tim@localhost>";
            $Recipients = array($EDICustServPerson);
        }
        $result = $mail->send($Recipients);
        echo $EmailText;
    }
    /* nothing in the email text to send - the message file is a complete dud - maybe directory */
    /*Now create the order from the $Order object  and commit to the DB*/
}
/*end of the loop around all the incoming order files in the incoming orders directory */
include 'includes/footer.inc';
function StripTrailingComma($StringToStrip)
{
コード例 #14
0
         prnMsg(_('The accepted offers from') . ' ' . $SupplierName . ' ' . _('have been converted to purcharse orders but failed to mail, you can view the order contents') . ' ' . '<a href="' . $RootPath . '/PO_Header.php?ModifyOrderNumber=' . $OrderNo . '">' . _('here') . '</a>', 'warn');
     }
 }
 if (sizeOf($RejectsArray) > 0) {
     $MailText = _('This email has been automatically generated by the webERP installation at') . ' ' . $_SESSION['CompanyRecord']['coyname'] . "\n";
     $MailText .= _('The following offers you made have been rejected') . "\n\n";
     foreach ($RejectsArray as $RejectID) {
         $sql = "SELECT offers.quantity,\n\t\t\t\t\t\t\toffers.price,\n\t\t\t\t\t\t\tstockmaster.description\n\t\t\t\t\t\tFROM offers\n\t\t\t\t\t\tLEFT JOIN stockmaster\n\t\t\t\t\t\t\tON offers.stockid=stockmaster.stockid\n\t\t\t\t\t\tWHERE offerid='" . $RejectID . "'";
         $result = DB_query($sql);
         $myrow = DB_fetch_array($result);
         $MailText .= $myrow['description'] . "\t" . _('Quantity') . ' ' . $myrow['quantity'] . "\t" . _('Price') . ' ' . locale_number_format($myrow['price']) . "\n";
         $sql = "DELETE FROM offers WHERE offerid='" . $RejectID . "'";
         $result = DB_query($sql);
     }
     $mail = new htmlMimeMail();
     $mail->setSubject(_('Your offer to') . ' ' . $_SESSION['CompanyRecord']['coyname'] . ' ' . _('has been rejected'));
     $mail->setText($MailText);
     $mail->setFrom($_SESSION['CompanyRecord']['coyname'] . ' <' . $_SESSION['CompanyRecord']['email'] . '>');
     $Recipients = GetMailList('OffersReceivedResultRecipients');
     if (sizeOf($Recipients) == 0) {
         prnMsg(_('There are no members of the Offers Received Result Recipients email group'), 'warn');
         include 'includes/footer.inc';
         exit;
     }
     array_push($Recipients, $Email);
     if ($_SESSION['SmtpSetting'] == 0) {
         $mail->setFrom($_SESSION['CompanyRecord']['coyname'] . ' <' . $_SESSION['CompanyRecord']['email'] . '>');
         $result = $mail->send($Recipients);
     } else {
         $result = SendmailBySmtp($mail, $Recipients);
     }
コード例 #15
0
 function m_sendPassword()
 {
     $this->obDb->query = "select iCustmerid_PK,vFirstName,vEmail,tmSignupDate FROM " . CUSTOMERS . " WHERE vEmail = '" . $this->request['email'] . "' AND iRegistered='1'";
     $qryResult = $this->obDb->fetchQuery();
     $rCount = $this->obDb->record_count;
     if (isset($this->cart)) {
         $action = "ecom/index.php?action=checkout.loginForm";
     } else {
         $action = "user/index.php?action=user.loginForm";
     }
     if ($rCount > 0) {
         $requesttime = time();
         $recoveryid = md5($qryResult[0]->iCustmerid_PK . $qryResult[0]->vFirstName . $qryResult[0]->vEmail . $qryResult[0]->tmSignupDate . $requesttime);
         $this->obDb->query = "UPDATE " . CUSTOMERS . " SET vRecovery='" . $recoveryid . "',tRequestTime='" . $requesttime . "' WHERE iCustmerid_PK='" . $qryResult[0]->iCustmerid_PK . "' AND iRegistered='1'";
         $this->obDb->updateQuery();
         //	$uniqID=uniqid (3);
         $message = "Hi " . $this->libFunc->m_displayContent($qryResult[0]->vFirstName);
         $message .= "<br><br>You requested to reset your login details for Username:&nbsp;" . $qryResult[0]->vEmail;
         $message .= "<br><br>You can do so by visiting this <a href='" . SITE_URL . "user/index.php?action=user.recover&id=" . $recoveryid . "'>link</a>.";
         $message .= "<br>If the link is not clickable, copy and paste this url into your browser: " . SITE_URL . "user/index.php?action=user.recover&id=" . $recoveryid;
         $message .= "<br>You must click the above password within 24 hours of your request or the link will be deactivated.";
         $message .= "<br><br>If you didn't request to reset your password, then please disregard this message.";
         $message .= "<br><br>Best Regards,";
         $message .= "<br><a href='" . SITE_URL . "'>" . SITE_NAME . "</a>";
         $obMail = new htmlMimeMail();
         $obMail->setReturnPath(ADMIN_EMAIL);
         $obMail->setFrom(SITE_NAME . "<" . ADMIN_EMAIL . ">");
         $obMail->setSubject("Login details from " . SITE_NAME);
         $obMail->setCrlf("\n");
         //to handle mails in Outlook Express
         $htmlcontent = $message;
         $txtcontent = preg_replace("/<([^>]+)>/", "", preg_replace("/<br(\\/{0,1})>/", "\r\n", $message));
         $obMail->setHtml($htmlcontent, $txtcontent);
         $obMail->buildMessage();
         $result = $obMail->send(array($qryResult[0]->vEmail));
         $retUrl = $this->libFunc->m_safeUrl(SITE_URL . $action . "&mode=sent&msg=1");
         $this->libFunc->m_mosRedirect($retUrl);
         exit;
     } else {
         $retUrl = $this->libFunc->m_safeUrl(SITE_URL . $action . "&mode=lost&msg=2");
         $this->libFunc->m_mosRedirect($retUrl);
         exit;
     }
 }
コード例 #16
0
ファイル: admin.php プロジェクト: matthisamoto/Graphfan
 function forgotPassword($email)
 {
     global $bigtree;
     $home_page = sqlfetch(sqlquery("SELECT `nav_title` FROM `bigtree_pages` WHERE id = 0"));
     $site_title = $home_page["nav_title"];
     $no_reply_domain = str_replace(array("http://www.", "https://www.", "http://", "https://"), "", DOMAIN);
     $email = sqlescape($email);
     $user = sqlfetch(sqlquery("SELECT * FROM bigtree_users WHERE email = '{$email}'"));
     if (!$user) {
         return false;
     }
     $hash = sqlescape(md5(md5(md5(uniqid("bigtree-hash" . microtime(true))))));
     sqlquery("UPDATE bigtree_users SET change_password_hash = '{$hash}' WHERE id = '" . $user["id"] . "'");
     $login_root = ($bigtree["config"]["force_secure_login"] ? str_replace("http://", "https://", ADMIN_ROOT) : ADMIN_ROOT) . "login/";
     $html = file_get_contents(BigTree::path("admin/email/reset-password.html"));
     $html = str_ireplace("{www_root}", WWW_ROOT, $html);
     $html = str_ireplace("{admin_root}", ADMIN_ROOT, $html);
     $html = str_ireplace("{site_title}", $site_title, $html);
     $html = str_ireplace("{reset_link}", $login_root . "reset-password/{$hash}/", $html);
     $text = "Password Reset:\n\nPlease visit the following link to reset your password:\n{$reset_link}\n\nIf you did not request a password change, please disregard this email.\n\nYou are receiving this because the address is linked to an account on {$site_title}.";
     $mailer = new htmlMimeMail();
     $mailer->setFrom('"BigTree CMS" <no-reply@' . $no_reply_domain . '>');
     $mailer->setSubject("Reset Your Password");
     $mailer->setHeader('X-Mailer', 'HTML Mime mail class (http://www.phpguru.org)');
     $mailer->setHtml($html, $text);
     $mailer->send(array($user["email"]));
     BigTree::redirect($login_root . "forgot-success/");
 }
コード例 #17
0
<?php

/* $Revision: 1.7 $ */
/*Now this is not secure so a malicious user could send multiple emails of the report to the intended receipients

The intention is that this script is called from cron at intervals defined with a command like:

/usr/bin/wget http://localhost/web-erp/MailSalesReport.php

The configuration of this script requires the id of the sales analysis report to send
and an array of the receipients and the company database to use*/
/*The Sales report to send */
$ReportID = 4;
/*The company database to use */
$DatabaseName = 'weberp';
/*The people to receive the emailed report */
$Recipients = array('"Root" <root@localhost>', '"someone else" <*****@*****.**>');
/* ----------------------------------------------------------------------------------------------*/
$AllowAnyone = true;
include 'includes/session.inc';
include 'includes/ConstructSQLForUserDefinedSalesReport.inc';
include 'includes/CSVSalesAnalysis.inc';
include 'includes/htmlMimeMail.php';
$mail = new htmlMimeMail();
$attachment = $mail->getFile($_SESSION['reports_dir'] . '/SalesAnalysis.csv');
$mail->setText(_('Please find herewith the comma seperated values sales report'));
$mail->addAttachment($attachment, 'SalesAnalysis.csv', 'application/csv');
$mail->setSubject(_('Sales Analysis') . ' - ' . _('CSV Format'));
$mail->setFrom($_SESSION['CompanyRecord']['coyname'] . '<' . $_SESSION['CompanyRecord']['email'] . '>');
$result = $mail->send($Recipients);
コード例 #18
0
/**
 * Find the specified error message, and return the first found with the following precedence:
 * 1. Current language(s) set by setMsgLangage()
 * 2. English message
 * 3. Debug message
 * 4. Generic error
 * Each language can be found through ['lnk'] if needed
 * Tags (%1..%n) in the message are replaced by mixed arguments specified after $errNum.
 * Ex: errorMsg(55, $domainName)
 * if 'dbg' is found in ['add'] or $DisplayDbg is true, the 'dbg' version is appended to the found version.
 */
function errorMsg($errNum = GENERIC_ERROR_NUM)
{
    // Find specified message using precedence rules
    global $MsgLanguages;
    $precedence = array(array($errNum, $MsgLanguages == 'all' ? array('en', 'fr', 'de') : $MsgLanguages), array($errNum, array('en')), array($errNum, array('dbg')), array(GENERIC_ERROR_NUM, $MsgLanguages), array(GENERIC_ERROR_NUM, array('en')));
    global $ErrMsgs;
    $args = func_get_args();
    $msg = '';
    foreach ($precedence as $rule) {
        // Find message
        list($actualErrNum, $languages) = $rule;
        foreach ($languages as $lg) {
            if (isset($ErrMsgs[$actualErrNum][$lg]) && $ErrMsgs[$actualErrNum][$lg] != 'TODO') {
                appendToMsg($msg, $errNum, $ErrMsgs[$actualErrNum][$lg], $args);
            } else {
                if (isset($ErrMsgs[$actualErrNum]['lnk']) && isset($ErrMsgs[$actualErrNum]['lnk'][$lg]) && $ErrMsgs[$actualErrNum]['lnk'][$lg] != 'TODO') {
                    appendToMsg($msg, $errNum, $ErrMsgs[$actualErrNum]['lnk'][$lg], $args);
                }
            }
        }
        // Try next rule only if not found
        if (!empty($msg)) {
            break;
        }
    }
    // Add debug version if needed
    global $DisplayDbg;
    $msgHasDebug = in_array('dbg', $languages);
    $logExtMsg = '';
    if (!$msgHasDebug && isset($ErrMsgs[$actualErrNum]['dbg'])) {
        if ($DisplayDbg || isset($ErrMsgs[$actualErrNum]['add']) && $ErrMsgs[$actualErrNum]['add'] == 'dbg') {
            $msg .= '[' . $ErrMsgs[$actualErrNum]['dbg'] . "]\n";
        } else {
            $logExtMsg .= '[' . $ErrMsgs[$actualErrNum]['dbg'] . ']';
        }
        // to log message
    }
    // Get mail data if specified
    $mailData = isset($ErrMsgs[$actualErrNum]['mail']) ? $ErrMsgs[$actualErrNum]['mail'] : (isset($ErrMsgs[$actualErrNum]['lnk']['mail']) ? $ErrMsgs[$actualErrNum]['lnk']['mail'] : array());
    // Apply params if applicable
    $numArgs = func_num_args();
    if ($numArgs > 1) {
        for ($i = 0; $i != $numArgs; ++$i) {
            $msg = str_replace("%{$i}", $args[$i], $msg);
            $logExtMsg = str_replace("%{$i}", $args[$i], $logExtMsg);
            $mIdx = 0;
            foreach ($mailData as $field) {
                $mailData[$mIdx] = str_replace("%{$i}", $args[$i], $field);
                ++$mIdx;
            }
        }
    }
    // Log technical errors if possible
    $logMode = isset($ErrMsgs[$actualErrNum]['log']) ? $ErrMsgs[$actualErrNum]['log'] : (isset($ErrMsgs[$actualErrNum]['lnk']['log']) ? $ErrMsgs[$actualErrNum]['lnk']['log'] : true);
    if ($logMode && class_exists('CWwwLog')) {
        $logFile = new CWwwLog();
        $logFile->logStr($logExtMsg);
        // message is already logged by ob_callback_r2login()
    }
    // Send email if specified
    if (!empty($mailData) && count($mailData) >= 3) {
        include_once 'email/htmlMimeMail.php';
        $mail = new htmlMimeMail();
        $mail->setFrom('*****@*****.**');
        $mail->setSubject($mailData[1]);
        $mail->setText('Application: ' . $_GET['clientApplication'] . ' - Login: '******'login'] . "\n" . $mailData[2]);
        $result = $mail->send(array($mailData[0]));
    }
    return $msg;
}
コード例 #19
0
    }
    /*end of new page header  */
}
/* end of while there are customer receipts in the batch to print */
$YPos -= $line_height;
$LeftOvers = $pdf->addTextWrap($Left_Margin, $YPos, 60, $FontSize, locale_number_format($TotalCheques, 2), 'right');
$LeftOvers = $pdf->addTextWrap($Left_Margin + 65, $YPos, 300, $FontSize, _('TOTAL') . ' ' . $Currency . ' ' . _('CHEQUES'), 'left');
$ReportFileName = $_SESSION['DatabaseName'] . '_ChequeListing_' . date('Y-m-d') . '.pdf';
$pdf->Output($_SESSION['reports_dir'] . '/' . $ReportFileName, 'F');
$pdf->OutputD($ReportFileName);
$pdf->__destruct();
if ($_POST['Email'] == 'Yes') {
    include 'includes/htmlMimeMail.php';
    $mail = new htmlMimeMail();
    $attachment = $mail->getFile($_SESSION['reports_dir'] . '/' . $ReportFileName);
    $mail->setSubject(_('Payments check list'));
    $mail->setText(_('Please find herewith payments listing from') . ' ' . $_POST['FromDate'] . ' ' . _('to') . ' ' . $_POST['ToDate']);
    $mail->addAttachment($attachment, 'PaymentListing.pdf', 'application/pdf');
    $ChkListingRecipients = GetMailList('ChkListingRecipients');
    if (sizeOf($ChkListingRecipients) == 0) {
        prnMsg(_('There are no member in Check Listing Recipients email group,  no mail will be sent'), 'error');
        include 'includes/footer.inc';
        exit;
    }
    if ($_SESSION['SmtpSetting'] == 0) {
        $mail->setFrom(array('"' . $_SESSION['CompanyRecord']['coyname'] . '" <' . $_SESSION['CompanyRecord']['email'] . '>'));
        $result = $mail->send($ChkListingRecipients);
    } else {
        $result = SendmailBySmtp($mail, $ChkListingRecipients);
    }
}
コード例 #20
0
} else {
    $TotalGP = 0;
}
$LeftOvers = $pdf->addTextWrap($Left_Margin + $Col2, $YPos, $Col3 - $Col2 - 5, $FontSize, _('Monthly Invoiced Total'), 'left');
$LeftOvers = $pdf->addTextWrap($Left_Margin + $Col6, $YPos, $Col7 - $Col6 - 5, $FontSize, locale_number_format($TotalSalesVolume, $_SESSION['CompanyRecord']['decimalplaces']), 'right');
$LeftOvers = $pdf->addTextWrap($Left_Margin + $Col7, $YPos, $Col8 - $Col7 - 5, $FontSize, locale_number_format($TotalSalesValue, $_SESSION['CompanyRecord']['decimalplaces']), 'right');
$LeftOvers = $pdf->addTextWrap($Left_Margin + $Col8, $YPos, $Col9 - $Col8 - 5, $FontSize, locale_number_format($TotalSalesCost, $_SESSION['CompanyRecord']['decimalplaces']), 'right');
$LeftOvers = $pdf->addTextWrap($Left_Margin + $Col9, $YPos, $Col10 - $Col9 - 5, $FontSize, locale_number_format($TotalGP, 2), 'right');
include 'includes/htmlMimeMail.php';
$filename = $_SESSION['reports_dir'] . '/WeeklyOrders.pdf';
$pdf->Output($filename, 'F');
$pdf->__destruct();
$mail = new htmlMimeMail();
$attachment = $mail->getFile($filename);
$mail->setText(_('Please find the weekly order report'));
$mail->setSubject(_('Weekly Orders Report'));
$mail->addAttachment($attachment, $filename, 'application/pdf');
if ($_SESSION['SmtpSetting'] == 0) {
    $mail->setFrom($_SESSION['CompanyRecord']['coyname'] . '<' . $_SESSION['CompanyRecord']['email'] . '>');
    $result = $mail->send($Recipients);
} else {
    $result = SendmailBySmtp($mail, $Recipients);
}
if ($result) {
    $Title = _('Print Weekly Orders');
    include 'includes/header.inc';
    prnMsg(_('The Weekly Orders report has been mailed'), 'success');
    echo '<br /><a href="' . $RootPath . '/index.php">' . _('Back to the menu') . '</a>';
    include 'includes/footer.inc';
    exit;
} else {
コード例 #21
0
            $SQLScript .= "INSERT INTO taxgrouptaxes (taxgroupid,\n                                                        taxauthid,\n                                                        calculationorder,\n                                                        taxontax)\n                                   VALUES (" . $TaxGroupTaxesRow['taxgroupid'] . ",\n                                           " . $TaxGroupTaxesRow['taxauthid'] . ",\n                                           " . $TaxGroupTaxesRow['calculationorder'] . ",\n                                           " . $TaxGroupTaxesRow['taxontax'] . ");\n";
        }
        $SQLScript .= "SET FOREIGN_KEY_CHECKS=1;";
        /*Now write $SQLScript to a file */
        $FileHandle = fopen("./companies/" . $_SESSION['DatabaseName'] . "/reports/" . $_POST['TemplateName'] . ".sql", "w");
        fwrite($FileHandle, $SQLScript);
        fclose($FileHandle);
        echo '<P><a href="' . $RootPath . '/companies/' . $_SESSION['DatabaseName'] . '/reports/' . $_POST['TemplateName'] . '.sql">' . _('Show the sql template file produced') . '</a>';
        include 'includes/htmlMimeMail.php';
        $Recipients = array('"Submissions" <*****@*****.**>');
        $mail = new htmlMimeMail();
        $Host = $_SERVER['HTTP_HOST'];
        $attachment = $mail->getFile('http://' . $Host . $RootPath . '/companies/' . $_SESSION['DatabaseName'] . '/reports/' . $_POST['TemplateName'] . '.sql');
        $mail->setText('Please find company template ' . $_POST['TemplateName']);
        $mail->addAttachment($attachment, 'CompanyTemplate.sql', 'application/txt');
        $mail->setSubject('Company Template Submission');
        if ($_SESSION['SmtpSetting'] == 0) {
            $mail->setFrom($_SESSION['CompanyRecord']['coyname'] . '<' . $_SESSION['CompanyRecord']['email'] . '>');
            $result = $mail->send($Recipients);
        } else {
            $result = SendmailBySmtp($mail, $Recipients);
        }
        /*end of SQL Script creation */
    }
    /*end if Input error*/
}
/*end submit button hit */
echo '<form method="post" action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '">';
echo '<div class="centre">';
echo '<input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" />';
prnMsg(_('Running the create a new company template script will export all account groups, account codes and tax set up tables including tax groups, tax authorities, tax rates etc. However, no transactions or private data will be exported. There is opportunity to prevent specific general ledger accounts from being exported where these are considered private - again no transactional or balance data is exported and you can inspect the contents of the sql file. The template file will be emailed automatically to the webERP project'), 'info');
コード例 #22
0
ファイル: sendmail.adm.class.php プロジェクト: Sywooch/dobox
 function subscriber_sendspam()
 {
     if (!$this->haveAccessTo('sendspam-subscribers')) {
         return $this->showAccessDenied();
     }
     $aData = array();
     $aSelectedEmails = func::POSTGET('user_id', false);
     if (is_array($aSelectedEmails)) {
         $aSelectedEmails = array_unique($aSelectedEmails);
     }
     $sFrom = self::SENDSPAM_FROM;
     if (func::isPostMethod() || func::POSTGET('submit') == 'send') {
         $sSubject = func::POSTGET('subject', true);
         $sBody = func::POSTGET('body', true);
         if (!$sSubject) {
             $this->errors->set('no_subject');
         }
         if (!$sBody) {
             $this->errors->set('no_body');
         }
         if (!is_array($aSelectedEmails) || count($aSelectedEmails) == 0) {
             $this->errors->set('no_receivers');
         }
         if ($this->errors->no()) {
             include PATH_CORE . 'mail/htmlMimeMail.php';
             @set_time_limit(0);
             $nCountSuccessfull = 0;
             $nCountUnsuccessfull = 0;
             $aEmailsSuccessfull = array();
             $oMail = new htmlMimeMail();
             $oMail->setSubject($sSubject);
             $oMail->setFrom($sFrom);
             $oMail->setText($sBody);
             for ($i = 0; $i < count($aSelectedEmails); $i++) {
                 if (@$oMail->send(array($aSelectedEmails[$i]))) {
                     $nCountSuccessfull++;
                     $aEmailsSuccessfull[] = $aSelectedEmails[$i];
                 } else {
                     $nCountUnsuccessfull++;
                 }
             }
             if ($nCountUnsuccessfull == 0) {
                 $this->adminRedirect(Errors::SUCCESSFULL, 'subscriber_sendspam');
             } else {
                 $this->errors->set('result_of_sendmail', false, 'успешно - ' . $nCountSuccessfull . ' / с ошибками - ' . $nCountUnsuccessfull);
                 //leave only unsuccessfull emails :)
                 $aSelectedEmails = array_diff($aSelectedEmails, $aEmailsSuccessfull);
             }
         }
         $aData = $_REQUEST;
     }
     $aSubscribers = $this->db->select('SELECT id, email, name FROM ' . DB_PREFIX . 'subscribers ORDER BY name');
     $htmlExistsOptions = '';
     $htmlReceiversOptions = '';
     for ($i = 0; $i < count($aSubscribers); $i++) {
         if (!$aSubscribers[$i]['email']) {
             continue;
         }
         $htmlItem = '<option value="' . $aSubscribers[$i]['email'] . '">' . $aSubscribers[$i]['name'] . ' &lt;' . $aSubscribers[$i]['email'] . '&gt; </option>';
         if (is_array($aSelectedEmails) && in_array($aSubscribers[$i]['email'], $aSelectedEmails)) {
             $htmlReceiversOptions .= $htmlItem;
         } else {
             $htmlExistsOptions .= $htmlItem;
         }
     }
     $aData['from'] = $sFrom;
     $this->tplAssign('aData', $aData);
     $this->tplAssign("exists_values", $htmlExistsOptions);
     $this->tplAssign("sendtousers_options", $htmlReceiversOptions);
     return $this->tplFetch('admin.subscriber.sendspam.tpl');
 }
コード例 #23
0
 //} /* end of check to see that there was an order selected to print */
 $Success = 1;
 //assume the best and email goes - has to be set to 1 to allow update status
 if ($MakePDFThenDisplayIt) {
     $pdf->OutputD($_SESSION['DatabaseName'] . '_PurchaseOrder_' . $OrderNo . '_' . date('Y-m-d') . '.pdf');
     $pdf->__destruct();
 } else {
     /* must be MakingPDF to email it */
     $PdfFileName = $_SESSION['DatabaseName'] . '_PurchaseOrder_' . $OrderNo . '_' . date('Y-m-d') . '.pdf';
     $pdf->Output($_SESSION['reports_dir'] . '/' . $PdfFileName, 'F');
     $pdf->__destruct();
     include 'includes/htmlMimeMail.php';
     $mail = new htmlMimeMail();
     $attachment = $mail->getFile($_SESSION['reports_dir'] . '/' . $PdfFileName);
     $mail->setText(_('Please find herewith our purchase order number') . ' ' . $OrderNo);
     $mail->setSubject(_('Purchase Order Number') . ' ' . $OrderNo);
     $mail->addAttachment($attachment, $PdfFileName, 'application/pdf');
     $mail->setFrom($_SESSION['CompanyRecord']['coyname'] . '<' . $_SESSION['CompanyRecord']['email'] . '>');
     $Success = $mail->send(array($_POST['EmailTo']));
     if ($Success == 1) {
         $title = _('Email a Purchase Order');
         include 'includes/header.inc';
         echo '<div class="centre"><br /><br /><br />';
         prnMsg(_('Purchase Order') . ' ' . $OrderNo . ' ' . _('has been emailed to') . ' ' . $_POST['EmailTo'] . ' ' . _('as directed'), 'success');
     } else {
         //email failed
         $title = _('Email a Purchase Order');
         include 'includes/header.inc';
         echo '<div class="centre"><br /><br /><br />';
         prnMsg(_('Emailing Purchase order') . ' ' . $OrderNo . ' ' . _('to') . ' ' . $_POST['EmailTo'] . ' ' . _('failed'), 'error');
     }
コード例 #24
0
ファイル: functions.inc.php プロジェクト: Nenet/Urban
/**
 * Send e-mails
 *
 * @param String $to      Recipient mail address
 * @param String $subject Subject
 * @param String $message Mail content
 * @param String $from    Sender mail address
 * @param Array  $headers Additional mail headers
 *
 * @return Bool Returs true if mail has been sent
 */
function send_mail($to, $subject, $message, $from, $headers = NULL)
{
    global $configuration;
    $mail = new htmlMimeMail();
    if ($configuration['mail_type'] == 'smtp') {
        $type = 'smtp';
        $smtp = $configuration['smtp'];
        $mail->setSMTPParams($smtp['host'], $smtp['port'], $smtp['helo'], $smtp['auth'], $smtp['user'], $smtp['pass']);
    } else {
        $type = 'mail';
    }
    // Set additional mail headers
    $html = false;
    if (is_array($headers)) {
        foreach ($headers as $name => $value) {
            $mail->setHeader($name, $value);
            if (strtolower($name) == 'content-type' and preg_match('#text/html#i', $value)) {
                $mail->setHtmlCharset($configuration['character_set']);
                $mail->setHtml($message);
                $html = true;
            }
            // Set return path
            if (strtolower($name) == 'return-path') {
                $mail->setReturnPath($value);
            }
        }
    }
    $mail->setHeadCharset($configuration['character_set']);
    $mail->setFrom($from);
    $mail->setSubject($subject);
    if ($html != true) {
        $configuration['character_set'];
        $mail->setTextCharset($configuration['character_set']);
        $mail->setText($message);
    }
    $result = $mail->send(array($to), $type);
    if ($result) {
        return true;
    }
}
コード例 #25
0
    $YPos -= 2 * $line_height;
}
$YPos -= 2 * $line_height;
/*Print out the grand totals */
$LeftOvers = $pdf->addTextWrap(80, $YPos, 260 - $Left_Margin, $FontSize, _('Grand Total Value'), 'right');
$DisplayTotalVal = locale_money_format($Tot_Val, $_SESSION['CompanyRecord']['currencydefault']);
$LeftOvers = $pdf->addTextWrap(500, $YPos, 60, $FontSize, $DisplayTotalVal, 'right');
if ($_POST['DetailedReport'] == 'Yes') {
    $pdf->line($Left_Margin, $YPos + $line_height - 2, $Page_Width - $Right_Margin, $YPos + $line_height - 2);
    $YPos -= 2 * $line_height;
}
if ($ListCount == 0) {
    $title = _('Print Inventory Valuation Error');
    include 'includes/header.inc';
    echo '<br />' . _('There were no items with any value to print out for the location specified');
    echo '<br /><a href="' . $rootpath . '/index.php">' . _('Back to the menu') . '</a>';
    include 'includes/footer.inc';
    exit;
    // Javier: needs check
} else {
    include 'includes/htmlMimeMail.php';
    $pdf->Output($_SESSION['reports_dir'] . '/InventoryReport.pdf', 'F');
    $pdf->__destruct();
    $mail = new htmlMimeMail();
    $attachment = $mail->getFile($_SESSION['reports_dir'] . '/InventoryReport.pdf');
    $mail->setText(_('Please find herewith the stock valuation report'));
    $mail->setSubject(_('Inventory Valuation Report'));
    $mail->addAttachment($attachment, 'InventoryReport.pdf', 'application/pdf');
    $mail->setFrom($_SESSION['CompanyRecord']['coyname'] . "<" . $_SESSION['CompanyRecord']['email'] . ">");
    $result = $mail->send($Recipients);
}
コード例 #26
0
 function mail_send($email_from, $subject, $sendto_email, $html_body, $plain_body, $randpath, $randfile)
 {
     $file = $html_mime_mail = new htmlMimeMail();
     $html_mime_mail->setFrom($email_from);
     $html_mime_mail->setSubject($subject);
     $html_mime_mail->setHtml($html_body, $plain_body);
     if ($randpath != '' && $randfile != '') {
         $html_mime_mail->addAttachment($html_mime_mail->getFile($randpath . $randfile), $randfile);
     }
     $success = $html_mime_mail->send(array($sendto_email), 'smtp');
     return $success;
 }
コード例 #27
0
        $DbgMsg = _('The following SQL to insert the debtor transaction record was used');
        $Result = DB_query($SQL, $db, $ErrMsg, $DbgMsg, true);
        $DebtorTransID = DB_Last_Insert_ID($db, 'debtortrans', 'id');
        $SQL = 'INSERT INTO debtortranstaxes (debtortransid,
							taxauthid,
							taxamount)
				VALUES (' . $DebtorTransID . ',
					' . $TaxAuthID . ',
					' . $Tax['FXAmount'] / $CurrencyRate . ')';
        $ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('The debtor transaction taxes records could not be inserted because');
        $DbgMsg = _('The following SQL to insert the debtor transaction taxes record was used');
        $Result = DB_query($SQL, $db, $ErrMsg, $DbgMsg, true);
        $SQL = 'COMMIT';
        $Result = DB_query($SQL, $db);
        echo _('Invoice number') . ' ' . $InvoiceNo . ' ' . _('processed') . '<BR>';
        $EmailText .= "\n" . _('This recurring order was set to produce the invoice automatically on invoice number') . ' ' . $InvoiceNo;
    }
    /*end if the recurring order is set to auto invoice */
    if (IsEmailAddress($RecurrOrderRow['email'])) {
        $mail = new htmlMimeMail();
        $mail->setText($EmailText);
        $mail->setSubject(_('Recurring Order Created Advice'));
        $mail->setFrom($_SESSION['CompanyRecord']['coyname'] . "<" . $_SESSION['CompanyRecord']['email'] . ">");
        $result = $mail->send(array($RecurrOrderRow['email']));
        unset($mail);
    } else {
        prnMsg(_('No email advice was sent for this order because the location has no email contact defined with a valid email address'), 'warn');
    }
}
/*end while there are recurring orders due to have a new order created */
include 'includes/footer.inc';
コード例 #28
0


			$mail->setHtml($body, $body_notags);

			

			$mail->setReturnPath('*****@*****.**');



			$mail->setFrom('*****@*****.**');



			$mail->setSubject($messageSubject);



			$mail->setHeader('X-Mailer', 'HTML Mime mail class (http://www.phpguru.org)');

			

			//SEND TO BELOW /

			

			if (isset($_COOKIE["goerie"]))

{
コード例 #29
0
     if ($Quantity >= $RequestedQuantity or $Completed == True) {
         $SQL = "UPDATE stockrequestitems\n\t\t\t\t\t\t\t\tSET completed=1\n\t\t\t\t\t\t\tWHERE dispatchid='" . $RequestID . "'\n\t\t\t\t\t\t\t\tAND dispatchitemsid='" . $LineID . "'";
         $Result = DB_query($SQL, $db, $ErrMsg, $DbgMsg, true);
     }
     $Result = DB_Txn_Commit($db);
     $ConfirmationText = _('An internal stock request for') . ' ' . $StockID . ' ' . _('has been fulfilled from location') . ' ' . $Location . ' ' . _('for a quantity of') . ' ' . locale_number_format($Quantity, $DecimalPlaces);
     prnMsg($ConfirmationText, 'success');
     if ($_SESSION['InventoryManagerEmail'] != '') {
         $ConfirmationText = $ConfirmationText . ' ' . _('by user') . ' ' . $_SESSION['UserID'] . ' ' . _('at') . ' ' . Date('Y-m-d H:i:s');
         $EmailSubject = _('Internal Stock Request Fulfillment for') . ' ' . $StockID;
         if ($_SESSION['SmtpSetting'] == 0) {
             mail($_SESSION['InventoryManagerEmail'], $EmailSubject, $ConfirmationText);
         } else {
             include 'includes/htmlMimeMail.php';
             $mail = new htmlMimeMail();
             $mail->setSubject($EmailSubject);
             $mail->setText($ConfirmationText);
             $result = SendmailBySmtp($mail, array($_SESSION['InventoryManagerEmail']));
         }
     }
 } else {
     $ConfirmationText = _('An internal stock request for') . ' ' . $StockID . ' ' . _('has been fulfilled from location') . ' ' . $Location . ' ' . _('for a quantity of') . ' ' . locale_number_format($Quantity, $DecimalPlaces) . ' ' . _('cannot be created as there is insufficient stock and your system is configured to not allow negative stocks');
     prnMsg($ConfirmationText, 'warn');
 }
 // Check if request can be closed and close if done.
 if (isset($RequestID)) {
     $SQL = "SELECT dispatchid\n\t\t\t\t\t\tFROM stockrequestitems\n\t\t\t\t\t\tWHERE dispatchid='" . $RequestID . "'\n\t\t\t\t\t\t\tAND completed=0";
     $Result = DB_query($SQL, $db);
     if (DB_num_rows($Result) == 0) {
         $SQL = "UPDATE stockrequest\n\t\t\t\t\t\tSET closed=1\n\t\t\t\t\tWHERE dispatchid='" . $RequestID . "'";
         $Result = DB_query($SQL, $db);
コード例 #30
0
function welcome_email_send(&$registration_details)
{
    global $main_smarty, $current_user;
    include_once mnminclude . 'user.php';
    // Check User ID != 0
    if ($registration_details['id'] > 0) {
        $username = $registration_details['username'];
        $password = $registration_details['password'];
        $email = $registration_details['email'];
        $id = $registration_details['id'];
        $user = new User();
        $user->id = $id;
        // Check User Data
        if ($user->read()) {
            include_once mnmmodules . 'welcome_email/includes/htmlMimeMail.php';
            // Current Date/Time of Server
            $thisDate = date("M d, Y");
            $thisTime = date("H:i:s");
            // User Information
            $thisUserName = $username;
            $thisUserEmail = $email;
            // Pligg Information
            $siteName = $main_smarty->get_config_vars('PLIGG_Visual_Name');
            $siteEmail = $main_smarty->get_config_vars('PLIGG_PassEmail_From');
            $installedURL = my_base_url;
            $installedBase = my_pligg_base;
            // Email Subject
            $messageSubject = "Welcome to " . $siteName . "!";
            // Email Message
            $messageText = "Hello, " . $thisUserName . ".\n\n";
            $messageText .= "Your account at " . $siteName . " has been successfully set up.\n\n";
            $messageText .= "Please keep the below information for future reference:\n";
            $messageText .= "-----------------------------------------\n\n";
            $messageText .= "  Login URL: " . $installedURL . $installedBase . "/login.php\n\n";
            $messageText .= "  Username.: " . $thisUserName . "\n";
            $messageText .= "  Password.: (password choosen when registered)\n\n";
            $messageText .= "-----------------------------------------\n";
            $messageText .= "Email has been automatically generated on " . $thisDate . " at " . $thisTime . ".\n";
            // Setup Mail Class
            $mail = new htmlMimeMail();
            // Set Mail Body Text
            $mail->setText($messageText);
            // Set Mail From
            $mail->setFrom($siteName . " <" . $siteEmail . ">");
            // Set Mail Subject
            $mail->setSubject($messageSubject);
            // Send Mail
            $mail->send(array($thisUserEmail));
        } else {
            // Unable to find user data
            echo "Module Error #2";
            die;
            // To disable this error message and continue with registration,
            // remove the above ELSE statement this comment is within.
        }
    } else {
        // Unable to find User ID
        echo "Module Error #1";
        die;
    }
}