Client-side spam filtering
Nobody has claimed this yet.
- 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:
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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