X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=bin%2Femails.broken.php;h=ef9cb39d6dfdb5ab86289d0839f3870dfe462564;hb=6decd4448d11c56dacd50d7f4202b5982aa1a05c;hp=d713c89670a79acd4a1d0269cca83a8d1b47d70e;hpb=08cce2ff528b38bde27cdec6d6bc28d6af4a42d4;p=platal.git diff --git a/bin/emails.broken.php b/bin/emails.broken.php index d713c89..ef9cb39 100755 --- a/bin/emails.broken.php +++ b/bin/emails.broken.php @@ -1,6 +1,7 @@ +#!/usr/bin/php5 -q fetchOneAssoc()) { if (!$x['panne']) { - XDB::execute("UPDATE emails SET panne=NOW() WHERE email = {?}", $email); + XDB::execute("UPDATE emails + SET panne=NOW(), last=NOW(), + panne_level = 1 + WHERE email = {?}", + $email); + } else { + XDB::execute("UPDATE emails + SET last = CURDATE(), + panne_level = panne_level + 1 + WHERE email = {?} + AND DATE_ADD(last, INTERVAL 7 DAY) < CURDATE()", $email); } if (empty($x['nb_mails'])) { echo "$email : seule adresse active de {$x['prenom']} {$x['nom']}\n"; } else { - $message = " Bonjour ! - - Nous t'écrivons car lors de l'envoi de la lettre d'information mensuelle -de Polytechnique.org à ton adresse polytechnicienne : - - {$x['alias']}@polytechnique.org, - -l'adresse {$email}, sur laquelle tu rediriges ton courrier, ne -fonctionnait pas. - - Estimant que cette information serait susceptible de t'intéresser, nous -avons préféré t'en informer. Il n'est pas impossible qu'il ne s'agisse que -d'une panne temporaire. Si tu souhaites changer la liste des adresses sur -lesquelles tu reçois le courrier qui t'es envoyé à ton adresse -polytechnicienne, il te suffit de te rendre sur la page : - - {$globals->baseurl}/emails/redirect - - - A bientôt sur Polytechnique.org ! - L'équipe d'administration - ---------------------------------------------------------------------------- - - PS : si jamais tu ne disposes plus du mot de passe te permettant -d'accéder au site, rends toi sur la page - - {$globals->baseurl}/recovery - -elle te permettra de créer un nouveau mot de passe après avoir rentré ton -login ({$x['alias']}) et ta date de naissance !"; - - require_once("diogenes/diogenes.hermes.inc.php"); - $mail = new HermesMailer(); - $mail->setFrom('"Polytechnique.org" '); - $mail->addTo("\"{$x['prenom']} {$x['nom']}\" <{$x['alias']}@polytechnique.org>"); - $mail->setSubject("Une de tes adresse de redirection Polytechnique.org ne marche plus !!"); - $mail->setTxtBody($message); + $mail = new PlMailer('emails/broken.mail.tpl'); + $mail->addTo("\"{$x['prenom']} {$x['nom']}\" <{$x['alias']}@" . $globals->mail->domain . '>'); + $mail->assign('x', $x); + $mail->assign('email', $email); $mail->send(); - echo "$email : mail envoyé\n"; + echo "$email : mail envoyé\n"; + } + + if (!isset($list[$x['alias']])) { + $list[$x['alias']] = array($email); + } else { + $list[$x['alias']][] = $email; } } else { - echo "$email : cette addresse n'est pas dans la base\n"; - } + echo "$email : cette adresse n'est pas dans la base\n"; + } +} + +XDB::execute("UPDATE emails + SET panne_level = panne_level - 1 + WHERE flags = 'active' AND panne_level > 1 + AND last != CURDATE()"); +XDB::execute("UPDATE emails + SET panne_level = 0 + WHERE flags = 'active' AND panne_level = 1 + AND DATE_ADD(last, INTERVAL 1 YEAR) < CURDATE()"); + +$csv = "nom;prenom;promo;alias;bounce;nbmails\n"; +foreach ($list as $alias=>$mails) { + $sel = Xdb::query( + "SELECT u.user_id, count(e.email) AS nb_mails, u.nom, u.prenom, u.promo + FROM aliases AS a + INNER JOIN auth_user_md5 AS u ON a.id = u.user_id + LEFT JOIN emails AS e ON (e.uid = u.user_id AND FIND_IN_SET('active', e.flags) AND e.panne = 0) + WHERE a.alias = {?} + GROUP BY u.user_id", $alias); + if ($x = $sel->fetchOneAssoc()) { + $csv .= $x['nom'].';'.$x['prenom'].';' .$x['promo'].';'.$alias.';' . join(',', $mails) . ';'.$x['nb_mails']."\n"; + } } +$fo = fopen($output, 'w+'); +fwrite($fo, $csv); +fclose($fo); + +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>