Here’s a diagnostic report taken just after a very slight instance of the behavior in question: I selected a message and said “Train as Spam”, and SpamSieve did so, but it took long enough that I saw the faded yellow icon in the menu bar briefly. The Log shows the sequence starting about 8/31/26 at 6:53 AM, i.e. all the last stuff in the log. I wonder whether the Error -1758 is relevant here.
You will also see, around 6:50, SpamSieve initially evaluating the message in question and getting the answer wrong; this is a very good example of the sort of thing I’m suggesting SS needs to do better, i.e. the return address may look reasonable, but the button the user is invited to click in the message goes to some evil place (not to mention the improbable wording of the message itself).
Anyway, none of this is very much to go on, I’m afraid.
Thanks. It looks to me like the delay was in Mail loading the message source so that SpamSieve could look at it, rather than in moving the message. But this may be a different issue than what you reported earlier because before it never moved at all? Or are you saying that this one didn’t either?
I’m seeing error -1728. If the message did in fact move, I think this is probably a spurious error that’s simply saying the message no longer exists at the old location.
What do you find if you do a Words search of the Good Messages section of the Corpus for these words:
This one did move (“SpamSieve did so”). I only bring this one up because at least I saw something odd happen, namely the brief “yellow” icon.
With regard to your Words search in the corpus: They all do occur a few times (e.g. five or six times), in messages that were genuinely good (that is, they are in the Good Messages section, and rightly so).
As I said, it may be that this is not a good enough instance to give us any useful information about the “nothing happened” cases I reported earlier.
Yeah, it’s normal that Mail sometimes takes a few seconds to load a message. Hopefully, the esoteric preference fixed the problem of it actually getting stuck, but please let me know if you find otherwise.
As to the false negative, if you’d be willing to export that and some of the matching good messages, I’d like to investigate further.
Okay, we caught a fish! I approached my computer to find five new messages that I considered spam but which SpamSieve had not moved out of the inbox. I selected them and chose Train as Spam; SpamSieve’s icon turned a sort of pale pinkish and nothing happened. I captured a diagnostic for SS and also samples for Mail, SS, and the plug-in. [Attached.] Eventually (30 seconds?), SpamSieve’s icon turned its normal black, and I tried the same selection and command again, and again nothing happened. I then quit SpamSieve; eventually it relaunched and I tried again, and this time, after a pause, the move succeeded.
First, the log does not show any trained messages in the last week. So it seems like any messages that were moved were either due to SpamSieve’s normal filtering or something external. Perhaps the messages had been moved and the Mail selection was empty by the time the training script ran.
Second, in the samples, the source of the slowness is that SpamSieve is waiting on Mail to report on the list of new, unread messages (via AppleScript). This is normally not something that should even have to happen. It should be reading Mail’s database file directly, which is much faster and doesn’t bog down Mail.
I think what happened is that you had selected the Tidbits inbox in Filter spam messages in other mailboxes but then renamed the account. So when it’s not finding the old name in the database, it’s asking Mail via AppleScript as a fallback. I suggest that you go back to that window, check Inbox under the new account name, and click OK.
Because you have Check inboxes for new messages not sent to Mail extension unchecked, it’s really important to have all the inboxes selected manually. Otherwise, SpamSieve won’t see some messages at all, so obvious spams may be left in the inbox.
You’ve seen very deeply into what’s happening at this end!
The log probably doesn’t show any messages being trained in the last week because SpamSieve was getting all the right answers (i.e. it was correctly moving all the messages that I would have called spam).
You’re right about renaming the account; that happened yesterday because I was forced (by circumstances beyond my control) to add an account, and when I did, the old name of the existing account didn’t make so much sense to me.
It is also true that I had unchecked “Check inboxes for new messages not sent to Mail extension”. That was done a while back, and was because doing so was recommended here: https://c-command.com/spamsieve/help/if-apple-mail-is-runnin.html I have now checked it. I have also now, under Select Mailboxes to Filter, manually checked the inboxes of the new account and the renamed account.
Since SpamSieve can be manually told to move selected messages that are not in the Select Mailboxes to Filter list (as it ultimately did, on the third try), I wonder whether it might be able to alert the user to the fact that it is being told to filter messages in a mailbox that it has not been told to filter automatically.
Also, please note that after renaming the mailboxes, I did do everything described under SpamSieve Manual: Why is SpamSieve not catching my spam? as a way of checking that my setup was still coherent. That page did not suggest that there might be an incoherence in my setup of the sort that you have described. Basically, there is enough interaction between these various places in SpamSieve’s setting, some of them hidden behind buttons, that it seems my entire setup got into an untenable state; and nothing in the Help prompted me to check for this.
We may now have fixed the problem, though. So I’m going to turn off the extra script debugging and I’m going to turn the drone back on. Thanks!
It’s fine to have it unchecked. As that page says, that can help if Mail is overloaded. It just means that you then need to keep the selection of mailboxes up-to-date.
I thought we were talking about training. Is your suggestion about Train as Spam or Filter Messages (or both)? I like the general idea of trying to detect inconsistencies like this automatically.
If you have new messages arriving in mailboxes other than in the inbox (e.g. because of rules in Apple Mail or on your mail server), go to Settings ‣ Apple Mail ‣ Filtering in SpamSieve and make sure that Filter spam messages in other mailboxes is checked. Click Select Mailboxes to Filter… and make sure that Filter is checked for each mailbox that you want to be filtered.
So I guess that first clause was implying to you that the second part wasn’t applicable. I’m now thinking it should have everyone go to that sheet. Thanks!
Both; both of those things are things that could result in the “nothing happens and SS’s icon turns a funny color and stays like that” that is the heart of this thread. And both are presumably things that the user should not be manually asking SS to do in a place where SS would not normally automatically be doing it.
If you have new messages arriving in mailboxes other than in the inbox
Yes, and I stopped reading at that point, because every mailbox in question is an inbox. None of them is “other” than an inbox.
But you seem to be implying now that even if a mailbox is an inbox, it may need to be checked manually in the list hidden behind the Select Mailboxes to Filter button. So perhaps the whole “other” concept is misleading. Also perhaps the whole “When a Mail or server rule moves a message out of the inbox” is misleading, because what we seem to be talking about is what mailboxes SS will filter at all, not merely when something else happens.
I have to admit that I’m massively confused at this point. The usual test for me, as a technical or documentation writer, is whether I could explain what SS does with regard to this checkbox, and I definitely could not.
Not every day, probably, but there are valid reasons for doing both. So it would need to be more of an advisory than telling the user they’re doing something wrong.
Most of the docs and interface are operating from the assumption that you’ll have Check inboxes… selected. Normally, no inboxes will be selected as “other mailboxes,” and that’s fine. The inboxes are listed in the sheet for obscure cases like only wanting to filter certain accounts and for troubleshooting.
I don’t mean for that to sound like the server action is the trigger for SpamSieve doing something; it’s more about sequencing. The messages get moved to those locations, and then because they end up there they become eligible or filtering.
Sorry! To be very precise, it just turns on/off a timer that filters the mailboxes selected in the sheet.
I’m going to suggest a change in the Settings → Apple Mail → Filtering inteface. What if we delete “When a Mail or server rule…” entirely? Then replace the checkbox label “Filter spam messages in other mailboxes” with “Check for spam messages in specified mailboxes” and “Select Mailboxes to Filter” with “Select Mailboxes to Check”. Then make the enablement of the stuff below that checkbox depend upon whether the checkbox is checked; in other words, you can’t Select Mailboxes to Check unless it has been specified that we are to check explicitly specified mailboxes.
And while I am on the subject of enablement, it would really be a help to me if under Apple Mail → Setup, the Uninstall Plug-In button would be disabled if the Plug-In is uninstalled. I click that button every time I see it, hoping that uninstallation will succeed this time; I measure success by whether the button goes dim. The fact that it is enabled makes me think that I am using both the extension (because it is the selected radio button) and the plug-in (because Uninstall is enabled).
Thanks for the suggestions. Is there a reason that you like “Check” better than “Filter”? To me, “Check” doesn’t imply anything about what will happen to the messages.
Are you not getting an alert saying that it succeeded?
I do recognize that the enabled button can be confusing. Currently, it’s like that for technical reasons: while it’s easy to to check whether the plug-in is already uninstalled, it’s more involved to preflight all the other stuff the button does, like communicating with Mail about which rules are present. I’ll see if I can add those checks so that the button can be disabled if we are able to confirm that everything is already uninstalled.
On Check vs Filter: You said the whole thing really refers to the turning on of a timer, so I based the wording on the wording on the text field label, “SpamSieve will check for new unread messages every n seconds” — because that describes, quite clearly I think, what the timer does. What I don’t want to do is have “filter” in some places and “check” in others. Personally, I think “check” is better; I think we know what SpamSieve is checking for, and what it does during a check. You are coming from this as the developer, thinking in terms of the action that SS will perform, which you call “filter”; I am coming from it as a user, thinking in terms of SS as a little robot with eyes, and we are telling it where to aim those eyes.
I do get an alert saying that uninstall succeeded, but ironically that alert makes me think it didn’t succeed on my previous attempts, because if it had already succeeded, I would expect the alert now to say something to that effect, e.g. “There was nothing to do, as the plug-in was not installed.”