commit 681b0766cfd81b748d09b8239726ade553e7deea
parent eba27f8d59cfae9090e275cf57e5bb9ac9247dbf
Author: Paul <paul@claws-mail.org>
Date: Mon, 6 Feb 2023 14:08:03 +0000
add spam stats to session stats
Diffstat:
5 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/src/gtk/about.c b/src/gtk/about.c
@@ -760,6 +760,11 @@ static void about_update_stats(void)
session_stats.received);
gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1,
"indented-list-item", "bold", NULL);
+ if (session_stats.spam > 0) {
+ g_snprintf(buf, sizeof(buf), _("Spam messages: %d\n"), session_stats.spam);
+ gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter, buf, -1,
+ "indented-list-item", NULL);
+ }
gtk_text_buffer_insert(stats_text_buffer, &iter, "\n", 1);
gtk_text_buffer_insert_with_tags_by_name(stats_text_buffer, &iter,
diff --git a/src/main.h b/src/main.h
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2013 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -32,6 +32,7 @@ typedef struct _SessionStats SessionStats;
struct _SessionStats
{
gint received;
+ gint spam;
gint sent;
gint replied;
gint forwarded;
diff --git a/src/plugins/bogofilter/bogofilter.c b/src/plugins/bogofilter/bogofilter.c
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2021 the Claws Mail team and Colin Leroy
+ * Copyright (C) 1999-2023 the Claws Mail team and Colin Leroy
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -45,6 +45,7 @@
#include "prefs_gtk.h"
#include "bogofilter.h"
+#include "main.h"
#include "inc.h"
#include "log.h"
#include "prefs_common.h"
@@ -84,6 +85,8 @@ static MessageCallback message_callback;
static BogofilterConfig config;
+extern SessionStats session_stats;
+
static PrefParam param[] = {
{"process_emails", "TRUE", &config.process_emails, P_BOOL,
NULL, NULL, NULL},
@@ -303,7 +306,7 @@ static void bogofilter_do_filter(BogoFilterData *data)
data->mail_filtering_data->filtered, msginfo);
}
data->new_spams = g_slist_prepend(data->new_spams, msginfo);
-
+ session_stats.spam++;
} else if (whitelisted && parts && parts[0] && parts[1] &&
(*parts[1] == 'S' || *parts[1] == 'U')) {
diff --git a/src/plugins/bsfilter/bsfilter.c b/src/plugins/bsfilter/bsfilter.c
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2021 the Claws Mail team and
+ * Copyright (C) 1999-2023 the Claws Mail team and
* Colin Leroy <colin@colino.net>
*
* This program is free software; you can redistribute it and/or modify
@@ -48,6 +48,7 @@
#include "utils.h"
#include "bsfilter.h"
+#include "main.h"
#include "inc.h"
#include "log.h"
#include "prefs_common.h"
@@ -83,6 +84,8 @@ static MessageCallback message_callback;
static BsfilterConfig config;
+extern SessionStats session_stats;
+
static PrefParam param[] = {
{"process_emails", "TRUE", &config.process_emails, P_BOOL,
NULL, NULL, NULL},
@@ -340,6 +343,7 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data)
} else {
if (!whitelisted || (whitelisted && !config.learn_from_whitelist)) {
procmsg_msginfo_set_flags(msginfo, MSG_SPAM, 0);
+ session_stats.spam++;
debug_print("flagging spam: %d\n", msginfo->msgnum);
filtered = TRUE;
}
diff --git a/src/plugins/spamassassin/spamassassin.c b/src/plugins/spamassassin/spamassassin.c
@@ -1,6 +1,6 @@
/*
* Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2021 the Claws Mail Team
+ * Copyright (C) 1999-2023 the Claws Mail Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -46,6 +46,7 @@
#include "libspamc.h"
#include "spamassassin.h"
+#include "main.h"
#include "inc.h"
#include "log.h"
#include "prefs_common.h"
@@ -88,6 +89,8 @@ static MessageCallback message_callback;
static SpamAssassinConfig config;
+extern SessionStats session_stats;
+
static PrefParam param[] = {
{"enable", "FALSE", &config.enable, P_BOOL,
NULL, NULL, NULL},
@@ -297,6 +300,7 @@ static gboolean mail_filtering_hook(gpointer source, gpointer data)
if (is_spam) {
debug_print("message is spam\n");
procmsg_msginfo_set_flags(msginfo, MSG_SPAM, 0);
+ session_stats.spam++;
if (config.receive_spam) {
FolderItem *save_folder = NULL;