[ https://issues.apache.org/jira/browse/JAMES-4092?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benoit Tellier closed JAMES-4092. --------------------------------- Resolution: Fixed Implemented, and no further work planned on the topic > Mailrepository: filter content > ------------------------------ > > Key: JAMES-4092 > URL: https://issues.apache.org/jira/browse/JAMES-4092 > Project: James Server > Issue Type: New Feature > Components: MailStore & MailRepository, webadmin > Reporter: Benoit Tellier > Priority: Major > Time Spent: 1h 40m > Remaining Estimate: 0h > > h2. Why? > Today I was on call with a customer. They screwed up a redirection rule that > eventually got replicated to James, which dropped / rejected legitimate email > fluxes. > The intent was to audit content of address-error mail repository, to see if > some relavant content was there. > This was surpisingly complicated to acheieve. Repository adopt thoussands of > mails, and I lacked filtering hability to expore this well. > h2. Use cases > As an administrator I want: > - To list emails in a repository in a given time period > - To list emails in a repository in matching sender pattern > - To list emails in a repository in matching recipient pattern > - From a specific address / host > By applying also to deletions and reprocessing we could do fun things like: > - Reprocess overquota mails daily over a week > - But drop them after two week > h2. Api changes > Add url parameters for the filters. They can be combined (logical AND): > {code:java} > curl -XGET /mailRepositories/var%2Fmail%2Ferror%2F/mails?updatedBefore=2d > curl -XGET /mailRepositories/var%2Fmail%2Ferror%2F/mails?updatedAfter=2d > curl -XGET > /mailRepositories/var%2Fmail%2Ferror%2F/mails?sender=.%2A%40domain.com // > curl encoded: >*@domain.com > curl -XGET > /mailRepositories/var%2Fmail%2Ferror%2F/mails?recipient=.%2A%40domain.com // > url encoded: >*@domain.com > curl -XGET > /mailRepositories/var%2Fmail%2Ferror%2F/mails?remoteAddress=128.45.67.89 > curl -XGET > /mailRepositories/var%2Fmail%2Ferror%2F/mails?remoteHost=mx.domain.tld > {code} > Apply it also for DELETE: > {code:java} > curl -XDELETE > /mailRepositories/var%2Fmail%2Ferror%2F/mails?remoteHost=mx.domain.tld > {code} > And for Reprocess All (PATCH): > {code:java} > curl -XPATCH > 127.0.0.1:8000/mailRepositories/var%2Fmail%2Ferror%2F/mails?action=reprocess&processor=transport&remoteHost=mx.domain.tld > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org