function emailContentsWrapper($contents = array(), $heading = null, $subHeading = null, $footerHeading = null) { $contentsWrapper = emailHeader(); $contentsWrapper .= '<tr> <td style="background:#FFFFFF; padding:20px 0;"><table width="650" border="0" cellspacing="0" cellpadding="0" align="center" style="background:#f4f4f4;"> ' . emialHeading($heading) . emailContentsHeading($subHeading); if ($contents) { $contentsWrapper .= '<tr> <td style="padding:0 10px 10px;"> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="background-color:#ffffff; border:2px solid #e6e6e6; font-family:Arial, Helvetica, sans-serif; font-size:15px; color:#000000;"> ' . emailContents($contents) . ' </table></td> </tr>'; } if ($footerHeading) { $contentsWrapper .= emailContentsHeading($footerHeading); } $contentsWrapper .= '</table></td> </tr>'; $contentsWrapper .= emailFooter(); return $contentsWrapper; }
$subject = 'Easy Sharing in the New FotoFlix Community!'; $template = file_get_contents('./script_emailer_' . $campaignName . '.html'); $campaign = $GLOBALS['dbh']->query_first("SELECT * FROM email_campaigns WHERE ec_name = '{$campaignName}'"); $campaignId = $campaign['ec_id']; $start = intval($_GET['start']); $limit = 50; $sql = 'SELECT DISTINCT u.* ' . "FROM (users AS u LEFT JOIN email_campaign_tracker AS ect ON u.u_id = ect.ect_u_id AND ect.ect_ec_id = {$campaignId}) " . 'LEFT JOIN email_unsubscribe AS eu ON u.u_id = eu.eu_u_id ' . "WHERE ect.ect_u_id IS NULL AND eu.eu_u_id IS NULL AND u.u_status = 'Active' " . "LIMIT {$start}, {$limit}"; /*$sql = 'SELECT DISTINCT u.* ' . 'FROM users AS u LEFT JOIN email_campaign_tracker AS ect ON u.u_id = ect.ect_u_id ' . "WHERE (u.u_username = '******' OR u.u_username = '******') " . "LIMIT {$start}, {$limit}";*/ //echo $sql; $users = $GLOBALS['dbh']->query_all($sql); $from = FF_EMAIL_FROM_FORMATTED; $from_email = FF_EMAIL_FROM; $mail_headers = "MIME-Version: 1.0\n" . "Content-type: text/html; charset=iso-8859-1\n" . "Return-Path: {$from}\n" . "From: {$from}\n"; echo '************Emails for ' . date(FF_FORMAT_DATE_LONG, NOW) . "************\n"; $i = 0; foreach ($users as $v) { $body = str_replace('{EMAIL_FOOTER}', emailFooter($v['u_key'], $campaignId, 'link'), $template); $m->send($v['u_email'], $subject, $body, $mail_headers, "-f{$from_email}"); $GLOBALS['dbh']->execute($s = "INSERT INTO email_campaign_tracker(ect_ec_id, ect_u_id) VALUES({$campaignId}, {$v['u_id']})"); echo "Email sent to {$v['u_username']} ({$v['u_id']}) - {$v['u_email']}<br/>\n"; $i++; } echo "************{$i} emails sent on " . date(FF_FORMAT_DATE_LONG, NOW) . "************\n"; if (count($users) > 0) { echo '<script language="javascript"> setTimeout(\'location.href = "' . $_SERVER['PHP_SELF'] . '?start=' . ($start + $limit) . '"\', 1000); </script>'; }
$campaignName = '2005_newyear'; $template = file_get_contents('./script_emailer_2005_newyear.html'); $campaign = $GLOBALS['dbh']->query_first("SELECT * FROM email_campaigns WHERE ec_name = '{$campaignName}'"); $campaignId = $campaign['ec_id']; $start = intval($_GET['start']); $limit = 50; $sql = 'SELECT DISTINCT u.* ' . "FROM (users AS u LEFT JOIN email_campaign_tracker AS ect ON u.u_id = ect.ect_u_id AND ect.ect_ec_id = {$campaignId}) " . 'LEFT JOIN email_unsubscribe AS eu ON u.u_id = eu.eu_u_id ' . "WHERE ect.ect_u_id IS NULL AND eu.eu_u_id IS NULL AND u.u_status = 'Active' " . "LIMIT {$start}, {$limit}"; /*$sql = 'SELECT DISTINCT u.* ' . 'FROM users AS u LEFT JOIN email_campaign_tracker AS ect ON u.u_id = ect.ect_u_id ' . "WHERE (u.u_username = '******' OR u.u_username = '******') " . "LIMIT {$start}, {$limit}";*/ //echo $sql; $users = $GLOBALS['dbh']->query_all($sql); $from = FF_EMAIL_FROM_FORMATTED; $from_email = FF_EMAIL_FROM; $mail_headers = "MIME-Version: 1.0\n" . "Content-type: text/html; charset=iso-8859-1\n" . "Return-Path: {$from}\n" . "From: {$from}\n"; echo '************Emails for ' . date(FF_FORMAT_DATE_LONG, NOW) . "************\n"; $i = 0; foreach ($users as $v) { $body = str_replace(array('{USERNAME}', '{EMAIL_FOOTER}'), array($v['u_username'], emailFooter($v['u_key'], $campaignId, 'link')), $template); $m->send($v['u_email'], 'A New Year\'s theme and more from FotoFlix', $body, $mail_headers, "-f{$from_email}"); $GLOBALS['dbh']->execute($s = "INSERT INTO email_campaign_tracker(ect_ec_id, ect_u_id) VALUES({$campaignId}, {$v['u_id']})"); echo "Email sent to {$v['u_username']} ({$v['u_id']}) - {$v['u_email']}<br/>\n"; $i++; } echo "************{$i} emails sent on " . date(FF_FORMAT_DATE_LONG, NOW) . "************\n"; if (count($users) > 0) { echo '<script language="javascript"> setTimeout(\'location.href = "' . $_SERVER['PHP_SELF'] . '?start=' . ($start + $limit) . '"\', 1000); </script>'; }
include_once PATH_DOCROOT . '/init_database.php'; include_once PATH_INCLUDE . '/functions.php'; include_once PATH_CLASS . '/CMail.php'; $m =& Cmail::getInstance(); $campaignName = 'email_free_no_space'; $spaceLimit = 3 * KB; $template = file_get_contents(PATH_DOCROOT . '/email_free_no_space.tpl.php'); $expiry = date(FF_FORMAT_DATE_LONG, mktime(0, 0, 0, date('m', NOW), date('d', NOW) + 3, date('Y', NOW))); $threshold = date('Y-m-d 00:00:00', mktime(0, 0, 0, date('m', NOW), date('d', NOW) - 3, date('Y', NOW))); $campaign = $GLOBALS['dbh']->query_first("SELECT * FROM email_campaigns WHERE ec_name = '{$campaignName}'"); $campaignId = $campaign['ec_id']; $sql = 'SELECT * ' . 'FROM (users AS u LEFT JOIN email_campaign_tracker AS ect ON u.u_id = ect.ect_u_id) ' . 'LEFT JOIN email_unsubscribe AS eu ON u.u_id = eu.eu_u_id ' . "WHERE ect.ect_u_id IS NULL AND eu.eu_u_id IS NULL AND u.u_status = 'Active' AND u.u_accountType = 'premium_trial' AND u.u_dateExpires > NOW() AND (u.u_spaceTotal - u.u_spaceUsed) < {$spaceLimit} AND u.u_dateCreated BETWEEN '2005-06-01 00:00:00' AND '{$threshold}'"; /*$sql = 'SELECT * ' . 'FROM users AS u LEFT JOIN email_campaign_tracker AS ect ON u.u_id = ect.ect_u_id ' . "WHERE (u.u_username = '******' OR u.u_username = '******')";*/ //echo $sql; $users = $GLOBALS['dbh']->query_all($sql); $from = FF_EMAIL_FROM_FORMATTED; $from_email = FF_EMAIL_FROM; $mail_headers = "MIME-Version: 1.0\n" . "Content-type: text/plain; charset=iso-8859-1\n" . "Return-Path: {$from}\n" . "From: {$from}\n"; echo '************Emails for ' . date(FF_FORMAT_DATE_LONG, NOW) . "************\n"; $i = 0; foreach ($users as $v) { $link = 'http://' . FF_SERVER_NAME . '/promo?code=upgrade50MB&key=' . md5('FF' . date('Ymd', NOW)); $body = str_replace(array('{USERNAME}', '{EXPIRE_DATE}', '{LINK}', '{EMAIL_FOOTER}'), array($v['u_username'], $expiry, $link, emailFooter($v['u_key'], $campaignId, 'text')), $template); echo "Email sent to {$v['u_username']} ({$v['u_id']})\n"; $m->send($v['u_email'], 'Your FotoFlix account is running out of space', $body, $mail_headers, "-f{$from_email}"); $GLOBALS['dbh']->execute($s = "INSERT INTO email_campaign_tracker(ect_ec_id, ect_u_id) VALUES({$campaignId}, {$v['u_id']})"); $i++; } echo "************{$i} emails sent on " . date(FF_FORMAT_DATE_LONG, NOW) . "************\n";