Beispiel #1
0
            $sql = "SELECT liste_id, liste_format, sender_email, liste_alias, limitevalidate,\n\t\t\t\t\tliste_name, form_url, return_email, liste_sig, use_cron, confirm_subscribe\n\t\t\t\tFROM " . LISTE_TABLE . "\n\t\t\t\tWHERE liste_id = " . $liste;
            if (!($result = $db->query($sql))) {
                trigger_error('Impossible d\'obtenir les données sur la liste', ERROR);
            }
            if ($listdata = $result->fetch()) {
                $wanewsletter = new Wanewsletter($listdata);
                $wanewsletter->message =& $message;
                $wanewsletter->do_action($action, $email, $format);
            } else {
                $message = $lang['Message']['Unknown_list'];
            }
        } else {
            $message = $lang['Message']['Invalid_action'];
        }
    } else {
        $wanewsletter = new Wanewsletter();
        $wanewsletter->message =& $message;
        $wanewsletter->check_code($code);
    }
}
if (defined('IN_WA_FORM')) {
    //
    // On réactive le gestionnaire d'erreur précédent
    //
    @restore_error_handler();
    // Si besoin, conversion du message vers le charset demandé
    if (!empty($textCharset)) {
        $message = iconv($lang['CHARSET'], $textCharset, $message);
    }
    echo nl2br($message);
}
Beispiel #2
0
 // nombre maximal d'emails dont le script doit s'occuper à chaque appel
 //
 // Initialisation de la classe mailer
 //
 $mailer = new Mailer(WA_ROOTDIR . '/language/email_' . $nl_config['language'] . '/');
 if ($nl_config['use_smtp']) {
     $mailer->smtp_path = WAMAILER_DIR . '/';
     $mailer->use_smtp($nl_config['smtp_host'], $nl_config['smtp_port'], $nl_config['smtp_user'], $nl_config['smtp_pass']);
 }
 $mailer->set_charset($lang['CHARSET']);
 $mailer->set_format(FORMAT_TEXTE);
 $mailer->set_from($listdata['sender_email'], unhtmlspecialchars($listdata['liste_name']));
 if ($listdata['return_email'] != '') {
     $mailer->set_return_path($listdata['return_email']);
 }
 $wan = new Wanewsletter($listdata);
 $pop = new Pop();
 $pop->connect($listdata['pop_host'], $listdata['pop_port'], $listdata['pop_user'], $listdata['pop_pass']);
 $cpt = 0;
 $total = $pop->stat_box();
 $mail_box = $pop->list_mail();
 foreach ($mail_box as $mail_id => $mail_size) {
     $headers = $pop->parse_headers($mail_id);
     if (!isset($headers['from']) || !preg_match('/^(?:"?([^"]*?)"?)?[ ]*(?:<)?([^> ]+)(?:>)?$/i', $headers['from'], $match)) {
         continue;
     }
     $pseudo = isset($match[1]) ? strip_tags(trim($match[1])) : '';
     $email = trim($match[2]);
     if (!isset($headers['to']) || !stristr($headers['to'], $wan->liste_email)) {
         continue;
     }