preg_match('/\\[\\[[^\\]]+]]/', $mailing->_mailing['subject'], $matches3); if (!empty($matches1) || !empty($matches2) || !empty($matches3)) { $pommo->_session['personalization'] = TRUE; } // cache personalizations in session if ($pommo->_session['personalization']) { $pommo->_session['personalization_body'] = PommoHelperPersonalize::search($mailing->_mailing['body']); $pommo->_session['personalization_altbody'] = PommoHelperPersonalize::search($mailing->_mailing['altbody']); $pommo->_session['personalization_subject'] = PommoHelperPersonalizeTitle::search($mailing->_mailing['subject']); } } /********************************** * PREPARE THE MAILER *********************************/ $html = $mailing->_mailing['ishtml'] == 'on' ? TRUE : FALSE; $mailer = new PommoMailer($mailing->_mailing['fromname'], $mailing->_mailing['fromemail'], $mailing->_mailing['frombounce'], $config['list_exchanger'], NULL, $mailing->_mailing['charset'], $pommo->_session['personalization']); if (!$mailer->prepareMail($mailing->_mailing['subject'], $mailing->_mailing['body'], $html, $mailing->_mailing['altbody'])) { $mailer->shutdown('*** ERROR *** prepareMail() returned errors.'); } // Set appropriate SMTP relay if ($config['list_exchanger'] == 'smtp') { $mailer->setRelay(unserialize($config['smtp_1'])); //$mailer->setRelay($config['smtp_' . $relayID]); /* PR15: depricated */ $mailer->SMTPKeepAlive = TRUE; } // necessary? (better method!) $mailing->attach('_mailer', $mailer); /********************************** * INITIALIZE Throttler *********************************/ $tid = 1;
function notify(&$notices, &$sub, $type, $comments = false) { global $pommo; Pommo::requireOnce($pommo->_baseDir . 'inc/classes/mailer.php'); $mails = PommoHelper::trimArray(explode(',', $notices['email'])); if (empty($mails[0])) { $mails = array($pommo->_config['admin_email']); } $subject = $notices['subject'] . ' '; $body = sprintf(Pommo::_T('poMMo %s Notice'), $type); $body .= " [" . date("F j, Y, g:i a") . "]\n\n"; $body .= "EMAIL: " . $sub['email'] . "\n"; $body .= "IP: " . $sub['ip'] . "\n"; $body .= "REGISTERED: " . $sub['registered'] . "\n\n"; if ($comments) { $body .= "COMMENTS: {$comments} \n\n"; } $body .= "DATA:\n"; Pommo::requireOnce($pommo->_baseDir . 'inc/helpers/fields.php'); $fields = PommoField::getNames(); foreach ($sub['data'] as $fid => $v) { $body .= "\t" . $fields[$fid] . ": {$v}\n"; } switch ($type) { case 'subscribe': $subject .= Pommo::_T('new subscriber!'); break; case 'unsubscribe': $subject .= Pommo::_T('user unsubscribed.'); break; case 'pending': $subject .= Pommo::_T('new pending!'); break; case 'update': $subject .= Pommo::_T('subscriber updated.'); break; } $mail = new PommoMailer(); // allow mail to be sent, even if demo mode is on $mail->toggleDemoMode("off"); // send the confirmation mail $mail->prepareMail($subject, $body); foreach ($mails as $to) { $mail->bmSendmail($to); } // reset demo mode to default $mail->toggleDemoMode(); return; }