I have a procmail recipe that does the majority of my heavy lifting for my mailing lists. It's pretty straightforward, but as I understand it, this isn't something sieve can do:
# [ ] contains a space and a tab :0
- 9876543210^0 ^(List-Id:.*<|X-Mailing-List:[ ]*)\/[-A-z0-9_+]+
- 9876543210^0 ^(List-Post:[ ]*(<mailto:)?|List-Owner:[ ]*(<mailto:)?owner-)\/[-A-Z0-9_+]+
- 9876543210^0 ^(Sender:[ ]*owner-|X-BeenThere:[ ]*|Delivered-To:[ ]*mailing list )\/[-A-Za-z0-9_+]+
- 9876543210^0 ^Sender:.* List"? <(mailto:)?\/[-A-Z0-9_+]+ { LISTNAME=$MATCH }
Basically, it checks the headers for any one of the headers
List-ID: List-Post: List-Owner: Sender: owner- X-BeenThere: Delivered-To: Sender:.*List
and parses out the name of the list, writing it to the LISTNAME variable
For the vast majority of mailing lists the message is then written to
.$LISTNAME/
This means that, by default, a new mailing list is automatically sorted to its own mailbox without my doing anything at all.
Is this something hat Sieve can do? Does it have variable assignment?
-- <div id="me"><div id="Dennis Miller>It's just my opinion. I could be wrong.</div>But I'm not.</div>