Existe-t-il un script de création de rapports sur les files d'attente de pirate qui génère de jolis graphiques et graphiques à partir de votre base de données MQ? J'ai MQ mis en place sur un travail cron et je veux attacher des rapports dans ma console d'administration.script de rapport de file d'attente de courrier de poire?
Répondre
Pas «nativement», mais vous pouvez utiliser la nouvelle fonction de rappel dans la version 1.2.3 pour remplir une table de journal dans votre base de données et générer des rapports. La fonction de rappel est appelée avant que l'entrée correspondante ne soit supprimée de la table mail_queue dans la base de données. Si nécessaire, vous pouvez lui ajouter des champs supplémentaires à insérer dans votre journal/table de rapports.
Vous devez utiliser les versions récentes des packages Mail et Net_SMTP PEAR pour pouvoir récupérer l'ID esmtp et les détails de message d'accueil si vous en avez besoin pour vos rapports. En outre, si vous souhaitez décoder le corps de l'e-mail et le stocker pour votre rapport, vous devez installer le package PEAR Mail_mimeDecode.
Indiquez le nom de la fonction de rappel comme ceci:
$dn = $mail_queue->sendMailsInQueue(
MAX_AMOUNT_MAILS,
MAILQUEUE_START,
MAILQUEUE_MAX_RETRY,
"callback_fn");
function callback_fn($args) {
$row = get_mail_queue_row($args['id']);
$headers = unserialize($row['headers']);
$subject = $headers['Subject'];
$body = unserialize($row['body']);
$mh = '';
foreach($headers as $key=>$value) {
$mh .= "$key:$value\n";
}
$mail = $mh . "\n" . $body;
$decoder = new Mail_mimeDecode($mail);
$decoded = $decoder->decode(array(
'include_bodies' => TRUE,
'decode_bodies' => TRUE,
'decode_headers' => TRUE,
));
$body = $decoded->body;
if (isset($args['greeting'])) {
$greeting = $args['greeting'];
$greets = explode(" ", $greeting);
$detail = "esmtp id: {$args['queued_as']}; server: {$greets[0]}";
} else {
$detail = "esmtp id: {$args['queued_as']}; server: localhost";
}
insert_to_log($detail, $subject,...);
}
Grande réponse, mais je ne suis pas sûr d'avoir la bande passante pour cela et chercherai à un service comme postmarkapp.com (je ne relation avec le service) $ 1.50 par mille e-mails envoyés me semble être une économie jusqu'à ce que mon nombre d'utilisateurs augmente considérablement. Quand cela arrivera, je serai de retour pour digérer tout cela! – robr