Skip to content

GH-111 - more and better spam filtering inside the AS Email Service #137

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: feature/GH-111-add-an-option-to-block-incoming-email-that-is-considered-spam
Choose a base branch
from

Conversation

scanner
Copy link
Owner

@scanner scanner commented Feb 2, 2024

Postmark gives us spam assassin.. which used to be pretty weak-sauce.. and after watching it in action is still pretty weak sauce for the kinds of spam we get.

While we will still be delivering all email's including spam to local delivery, we want the option of blocking it when sending it via forwarding.

Eventually we might also get a daily report of blocked messages on the incoming stream from postmark and present users with a "here is the spam that was filtered" system.

* updating requirements

* Only log from `mail` at error or higher

* Update to python3.12
… in the external pw file (#118)

* GH-117 - add support for maintaing an external pwfile by email account

This is still lacking the test for the code we added.

* GH-117 - testing the reading and writing of external pwfile

* GH-117 - update email account update task to use relative paths for mail dirs

Need to write test for the two tasks.

* GH-117 - test delete/add/update tasks for email accounts in external pw file
* GH-116 - I was using the wrong python redis client.

* GH-116 - create default folders.

Also better fix for GH-123 - catch EmailAccount.DoesNotExist. With the proper redis client we can retry tasks that fail.  Since we create 9accounts at once, retry up to 10 times. Also make sure that we can lock the pwfile so that there is only one reader or writer at a time.
…-1 encoded messages, do the binary conversion ourselves. (#127)
* GH-126 - Instead of using `send_message` that can not deal with latin-1 encoded messages, do the binary conversion ourselves.

* GH-126 - try ascii -> utf-8 -> latin-1
* wip

* GH-126 - remember to break out of loop when encode works
* is it by message id?

* GH-132 - retry on failed bounce retrieval.

Bounce retrievals that failed succeeded later.. so just try again.
@scanner scanner assigned scanner and unassigned scanner Feb 2, 2024
@scanner scanner added the enhancement New feature or request label Feb 2, 2024
…les (#145)

* GH-144: Add support for ‘get or create’ for creating message filter rules

* GH-144: updating requirements. Re-blackening. Fix some deprecation warnings

* Add import_maildelivery. Fix parsing of maildelivery lines.

* Logout requires POST to a form
* GH-149 - take converting the message to binary in to our code instead of leaving it to python’s mailbox.

* Update requirements
* GH-149: Move failed incoming deliveries to their own directory.

* GH-149: brute force by trying different encodings.

If this does not catch all the cases have to rearch for bs4.UnicodeDammit

* GH-149: Update requirements.
…. Update requirements. Add more files that can be filtered on. (#154)
* GH-153: Fix so MFR list only shows MFR’s that belong to email account. Update requirements. Add more files that can be filtered on.

* GH-153: Add migration for filtering more headers
* Updating requirements

* updating requirements

* Use fakeredis for the index test as compressor relies on being able to use the cache

Also move running tests out of the docker container.

* Retry failed email.

This will keep retrying forever, based on the assumption that the failure was transient, and if it is not, an admin will manually deal with the messages.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant