*/ require_once 'Rmail.php'; $mail = new Rmail(); /** * Set the from address of the email */ $mail->setFrom('Richard <*****@*****.**>'); /** * Set the subject of the email */ $mail->setSubject('Test email'); /** * Set high priority for the email. This can also be: * high/normal/low/1/3/5 */ $mail->setPriority('high'); /** * Set the text of the Email */ $mail->setText('Sample text'); /** * Set the HTML of the email. Any embedded images will be automatically found as long as you have added them * using addEmbeddedImage() as below. */ $mail->setHTML('<b>Sample HTML</b> <img src="background.gif">'); /** * Set the delivery receipt of the email. This should be an email address that the receipt should be sent to. * You are NOT guaranteed to receive this receipt - it is dependent on the receiver. */ $mail->setReceipt('*****@*****.**'); /**
if (empty($scrubbed['email_body'])) { $errors[] = '<li class="error">You forgot to write your message!</li>'; } else { $email_body = $scrubbed['email_body']; } if (empty($errors)) { // Include the Rmail library. require_once 'Rmail/Rmail.php'; $body = $email_body; $body = wordwrap($body, 70); $to = '*****@*****.**'; $subject = $email_subject; $mail = new Rmail(); $mail->setFrom("{$email_address}"); $mail->setSubject("{$subject}"); $mail->setPriority('normal'); $mail->setText("{$body}"); $mail->send(array("{$to}")); // Free up Rmail overhead unset($mail); // Clear $_POST so that form info does not "stick" for next user. $_POST = array(); } else { // If there were errors; echo '<div id="emailErrors">'; echo "<h2>Oops! Something wasn't filled out properly</h2>"; echo '<ul>'; foreach ($errors as $error) { // Print each individual error in the array. echo $error; }
function BuildReport($uid, $ou) { $usr = new usersMenus(); $user = new user($uid); $emailsnumbers = count($user->HASH_ALL_MAILS); if ($emailsnumbers == 0) { write_syslog("BuildReport() user=<{$uid}> has no email addresses", __FILE__); return null; } $ouU = strtoupper($ou); $ini = new Bs_IniHandler("/etc/artica-postfix/settings/Daemons/OuSendQuarantineReports{$ouU}"); $days = $ini->_params["NEXT"]["days"]; if ($days == null) { $days = 2; } if ($ini->_params["NEXT"]["title1"] == null) { $ini->_params["NEXT"]["title1"] = "Quarantine domain senders"; } if ($ini->_params["NEXT"]["title2"] == null) { $ini->_params["NEXT"]["title2"] = "Quarantine list"; } if ($ini->_params["NEXT"]["explain"] == null) { $ini->_params["NEXT"]["explain"] = "You will find here all mails stored in your quarantine area"; } if ($ini->_params["NEXT"]["externalLink"] == null) { $ini->_params["NEXT"]["externalLink"] = "https://{$usr->hostname}:9000/user.quarantine.query.php"; } if (preg_match("#([0-9]+) (jours|days)#", $_GET["subject"], $re)) { write_syslog("Change to {$re[1]} days from subject", __FILE__); $days = $re[1]; } write_syslog("Starting HTML report ({$days} days) for {$uid} {$user->DisplayName} ({$emailsnumbers} recipient emails)", __FILE__); $date = date('Y-m-d'); $font_normal = "<FONT FACE=\"Arial, Helvetica, sans-serif\" SIZE=2>"; $font_title = "<FONT FACE=\"Arial, Helvetica, sans-serif\" SIZE=4>"; while (list($num, $ligne) = each($user->HASH_ALL_MAILS)) { $recipient_sql[] = "mailto='{$ligne}'"; } $recipients = implode(" OR ", $recipient_sql); $sql = "SELECT mailfrom,zDate,MessageID,DATE_FORMAT(zdate,'%W %D %H:%i') as tdate,subject FROM quarantine\n\tWHERE (zDate>DATE_ADD('{$date}', INTERVAL -{$days} DAY)) AND ({$recipients}) ORDER BY zDate DESC;"; $q = new mysql(); // echo "$sql\n"; $results = $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { write_syslog("Wrong sql query {$q->mysql_error}", __FILE__); return null; } $style = "font-size:11px;border-bottom:1px solid #CCCCCC;margin:3px;padding:3px"; $session = md5($user->password); while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { $subject = htmlspecialchars($ligne["subject"]); $from = trim($ligne["mailfrom"]); $zDate = $ligne["tdate"]; $MessageID = $ligne["MessageID"]; if ($from == null) { $from = "unknown"; } $domain = "unknown"; if (preg_match("#(.+?)@(.+)#", $from, $re)) { $domain = $re[2]; } $uri = "<a href=\"{$ini->_params["NEXT"]["externalLink"]}?uid={$user->uid}&session={$session}&mail={$MessageID}\">"; $array[$domain][] = "<tr>\n\t\t<td style=\"{$style}\" nowrap>{$uri}{$font_normal}{$zDate}</FONT></a></td>\n\t\t<td style=\"{$style}\" nowrap>{$uri}{$font_normal}<code>{$from}</code></FONT></a></td>\n\t\t<td style=\"{$style}\">{$uri}{$font_normal}<strong>{$subject}</strong></FONT></a></td>\n\t\t\n\t\t</tr>"; } write_syslog("BuildReport: Single ???=<{$_GET["SINGLE"]}>", __FILE__); $count_domains = count($array); if (!$_GET["SINGLE"]) { if ($count_domains == 0) { write_syslog("BuildReport() user=<{$uid}> has no spam domains senders", __FILE__); return null; } } $html = "<H1>{$font_title}{$days} {$ini->_params["NEXT"]["title1"]}</FONT></H1>\n<p style=\"font-size:12px;font-weight:bold\">{$font_title}{$ini->_params["NEXT"]["explain"]}</FONT> </p>\n<hr>\n<H2>{$font_title}{$count_domains} Domains</FONT></H2>\n<table style=\"width:100%\">"; if (is_array($array)) { while (list($num, $ligne) = each($array)) { $html = $html . "<tr><td><li><strong style=\"font-size:12px\">{$font}{$num}</FONT></li></td></tr>\n"; } reset($array); } $html = $html . "</table>\n<hr>\n<h2>{$font_title}{$ini->_params["NEXT"]["title2"]}</FONT></h2>\n<table style=\"width:100%;border:1px solid #CCCCCC;margin:5px;padding:5px\">"; if (is_array($array)) { while (list($num, $ligne) = each($array)) { $html = $html . "<hr>\n\t<table border=1 style=\"width:100%;border:1px solid #CCCCCC;margin:5px;padding:5px\">\n\t<tr>\n\t\t<td colspan=3><strong style=\"font-size:16px\"> {$font_title}{$num}</FONT></td>\n\t</tr>\n\t" . implode("\n", $ligne); $html = $html . "\n\t</table>\n\t"; } } if ($ini->_params["NEXT"]["mailfrom"] == null) { $ini->_params["NEXT"]["mailfrom"] = $_GET["mailfrom"]; } if ($ini->_params["NEXT"]["mailfrom"] == null) { $ini->_params["NEXT"]["mailfrom"] = "root@localhostlocaldomain"; } if ($ini->_params["NEXT"]["subject"] == null) { $ini->_params["NEXT"]["subject"] = $_GET["subject"]; } if ($ini->_params["NEXT"]["subject"] == null) { $ini->_params["NEXT"]["subject"] = "Daily Quarantine report"; } $tpl = new templates(); $subject = $ini->_params["NEXT"]["subject"]; $mail = new Rmail(); $mail->setFrom("quarantine <{$ini->_params["NEXT"]["mailfrom"]}>"); $mail->setSubject($subject); $mail->setPriority('normal'); $mail->setText(strip_tags($html)); $mail->setHTML($html); $address = $user->mail; $result = $mail->send(array($address)); write_syslog("From=<{$ini->_params["NEXT"]["mailfrom"]}> to=<{$user->mail}> Send Quarantine Report=<{$result}>", __FILE__); }