nextcloud / nextcloud/mail

Client-side spam filtering

Open
#9,217 4 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement feature parity
Dominant language
JavaScript
Stars
1k
Forks
348
Avg merge
12h 28m
Merged PRs (30d)
91

Description

Is your feature request related to a problem? Please describe.

Email spam is the main problem. Mail app allows users to "Mark as spam" but it simply moves the email to the Spam folder, it doesn't actually do anything useful to help reduce/fight spam.

Describe the solution you'd like

Ideally, it would be helpful if the Mail app included a built-in spam filter that could be trained by marking emails as spam. Similar to how Thunderbird allows users to train spam filter.

Another option, offer integration with a third-party spam solution. Ideally, open source, like SpamAssassin. Something similar to how Sieve is used for filtering emails or Talk uses TURN server.

Mail app should also respect spam headers set by server-side spam filters, such as SpamAssassin. This could be an option for users to select, here's how Thunderbird handles it:
image

Describe alternatives you've considered

Nothing can be done with the "Mark as spam" option right now.

Additional context

Thunderbird's adaptive filtering:

Thunderbird's primary method of dealing with junk mail is an adaptive filter. Thunderbird's adaptive filter actually learns how it should classify e-mail by learning from your habits.

If you consistently mark a certain type of e-mail as junk, Thunderbird will learn that that type of e-mail should be marked as spam in the future. However, e-mail that you wish to receive will not be marked as spam, because Thunderbird's filter is entirely based on your actions.

The filter improves as it watches how you sort your e-mail, and with time the filter will reach nearly 100% classification accuracy. More important, however, is that the filter is intentionally conservative in what it marks as junk mail. If Thunderbird can't quite decide whether an e-mail is junk or not, it will mark it as not spam. It's that simple -- after training, the filter simply doesn't create false positives.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by clarifying whether the goal is adaptive client-side filtering, third-party integration, or support for server-set spam headers; done should be defined by choosing and specifying one implementable approach.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.