Beispiel #1
0
 function ExportEmail($EmailContent)
 {
     global $gTmpImages, $Language;
     $sSender = @$_GET["sender"];
     $sRecipient = @$_GET["recipient"];
     $sCc = @$_GET["cc"];
     $sBcc = @$_GET["bcc"];
     $sContentType = @$_GET["contenttype"];
     // Subject
     $sSubject = ew_StripSlashes(@$_GET["subject"]);
     $sEmailSubject = $sSubject;
     // Message
     $sContent = ew_StripSlashes(@$_GET["message"]);
     $sEmailMessage = $sContent;
     // Check sender
     if ($sSender == "") {
         return "<p class=\"text-error\">" . $Language->Phrase("EnterSenderEmail") . "</p>";
     }
     if (!ew_CheckEmail($sSender)) {
         return "<p class=\"text-error\">" . $Language->Phrase("EnterProperSenderEmail") . "</p>";
     }
     // Check recipient
     if (!ew_CheckEmailList($sRecipient, EW_MAX_EMAIL_RECIPIENT)) {
         return "<p class=\"text-error\">" . $Language->Phrase("EnterProperRecipientEmail") . "</p>";
     }
     // Check cc
     if (!ew_CheckEmailList($sCc, EW_MAX_EMAIL_RECIPIENT)) {
         return "<p class=\"text-error\">" . $Language->Phrase("EnterProperCcEmail") . "</p>";
     }
     // Check bcc
     if (!ew_CheckEmailList($sBcc, EW_MAX_EMAIL_RECIPIENT)) {
         return "<p class=\"text-error\">" . $Language->Phrase("EnterProperBccEmail") . "</p>";
     }
     // Check email sent count
     if (!isset($_SESSION[EW_EXPORT_EMAIL_COUNTER])) {
         $_SESSION[EW_EXPORT_EMAIL_COUNTER] = 0;
     }
     if (intval($_SESSION[EW_EXPORT_EMAIL_COUNTER]) > EW_MAX_EMAIL_SENT_COUNT) {
         return "<p class=\"text-error\">" . $Language->Phrase("ExceedMaxEmailExport") . "</p>";
     }
     // Send email
     $Email = new cEmail();
     $Email->Sender = $sSender;
     // Sender
     $Email->Recipient = $sRecipient;
     // Recipient
     $Email->Cc = $sCc;
     // Cc
     $Email->Bcc = $sBcc;
     // Bcc
     $Email->Subject = $sEmailSubject;
     // Subject
     $Email->Format = $sContentType == "url" ? "text" : "html";
     $Email->Charset = EW_EMAIL_CHARSET;
     if ($sEmailMessage != "") {
         $sEmailMessage = ew_RemoveXSS($sEmailMessage);
         $sEmailMessage .= $sContentType == "url" ? "\r\n\r\n" : "<br><br>";
     }
     if ($sContentType == "url") {
         $sUrl = ew_ConvertFullUrl(ew_CurrentPage() . "?" . $this->ExportQueryString());
         $sEmailMessage .= $sUrl;
         // Send URL only
     } else {
         foreach ($gTmpImages as $tmpimage) {
             $Email->AddEmbeddedImage($tmpimage);
         }
         $sEmailMessage .= $EmailContent;
         // Send HTML
     }
     $Email->Content = $sEmailMessage;
     // Content
     $EventArgs = array();
     $bEmailSent = FALSE;
     if ($this->Email_Sending($Email, $EventArgs)) {
         $bEmailSent = $Email->Send();
     }
     // Check email sent status
     if ($bEmailSent) {
         // Update email sent count
         $_SESSION[EW_EXPORT_EMAIL_COUNTER]++;
         // Sent email success
         return "<p class=\"text-success\">" . $Language->Phrase("SendEmailSuccess") . "</p>";
         // Set up success message
     } else {
         // Sent email failure
         return "<p class=\"text-error\">" . $Email->SendErrDescription . "</p>";
     }
 }