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;
Example #2
0
 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;
 }