X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/58b231b221a15a6f312ad9b0a58ce4fa406cb471..9ee82fbbdbc2a7ea10b8f7a1b4cb470abf60e792:/dot/gnus-local.el.distorted diff --git a/dot/gnus-local.el.distorted b/dot/gnus-local.el.distorted index fa2b1a7..a484554 100644 --- a/dot/gnus-local.el.distorted +++ b/dot/gnus-local.el.distorted @@ -62,9 +62,7 @@ ;;; Mail group configuration. ;; General splitting configuration. -(setq nnimap-split-inbox '("INBOX" "to.split") - nnimap-split-rule 'nnimap-split-fancy - nnimap-split-methods 'nnimap-split-fancy +(setq nnimap-split-rule 'nnimap-split-fancy nnmail-split-methods 'nnmail-split-fancy nnimap-split-predicate "UNDELETED" nnimap-split-crosspost t @@ -75,7 +73,9 @@ (setq gnus-auto-expirable-newsgroups (concat "^" "\\(nnimap\\+[^:]+\\|nnvirtual\\):" - "\\(admin\\|crap\\|lists\\|nag\\|spam\\)\\.")) + "\\(" "\\(admin\\|crap\\|lists\\|nag\\)\\." + "\\|" "spam\\.oubliette" + "\\)")) ;; My various email addresses. (setq message-alternative-emails bbdb-user-mail-names @@ -93,9 +93,33 @@ (address "distorted.mdw@gmail.com") ("X-mdw-Send-Mail" "gmail-smtp")))) +(defvar mdw-odin-parse-regexp + (concat "^" + "\\S-+" "\\s-+" ; time limit + "\\(" "\\S-+" "\\)" "\\s-+" ; local part + "\\S-+" "\\s-+" ; recipient email address + "=" "\\(" "\\S-+" "\\)" ; mailbox tag + "\\(" "$" "\\|" "\\s-" "\\)")) + +(defun mdw-odin-splits () + (let ((list nil)) + (with-temp-buffer + (call-process "ssh" nil t nil + "stratocaster" "userv" "odin" "mail" "list") + (goto-char (point-min)) + (while (< (point) (point-max)) + (when (looking-at mdw-odin-parse-regexp) + (let ((local-part (match-string 1)) + (tag (match-string 2))) + (push `(to ,(format "%s@odin\\.gg" local-part) + ,(format "crap.%s" tag)) + list))) + (forward-line))) + (nreverse list))) + ;; The actual splitting rules. (setq nnmail-split-fancy - '(| + `(| ;; Administrative boxes. (to "\\<\\(root\\|postgres\\|ca\\|noc\\)@" "admin.misc" t) (to "\\<\\(jukebox\\|nobody\\|darchive\\)@" "admin.misc" t) @@ -117,59 +141,68 @@ ;; Mailing lists, not split out earlier. (to "python-list@python\\.org" "lists.python") - (to "jump-announce@jump\\.net\\.uk" "lists.jump-announce") + (to "\\(jump-\\(announce\\|discuss\\)\\)@\\(lists\\.\\)jump\\.net\\.uk" + "lists.jump-\\1") + (to "cambridgecryptowhiskyclub@gmail\\.com" + "lists.cambridge-crypto-whisky") + (from "@liberty-human-rights\\.org\\.uk\\>" "lists.liberty" t) + (from "@libertymail\\.org\\.uk\\>" "lists.liberty" t) + (from "@openrightsgroup\\.org\\>" "lists.org" t) ;; Per-sender addresses. (to "\\" "spam.lovefilm" t) - (from "@\\(\\|.*\\.\\)amazon\\." "spam.amazon" t) - (from "@cineworldmail\\.com\\>" "spam.cineworld" t) - (from "@picturehouses\\.co\\.uk\\>" "spam.picturehouse" t) - (from "@nationwide" "spam.nationwide\\>" t) - (from "@news\\.spotifymail\\.com\\>" "spam.spotify" t) - (from "@action\\.openrightsgroup\\.org\\>" "spam.org" t) - (from "unlimited@cineworld\\.com\\>" "spam.cineworld" t) - (from "nationwide@securesuiteemail\\.com\\>" "spam.nationwide" t) - (from "@liberty-human-rights\\.org\\.uk\\>" "spam.liberty" t) - (from "@libertymail\\.org\\.uk\\>" "spam.liberty" t) - (from "@openrightsgroup\\.org\\>" "spam.org" t) - (from "@tshirthell\\.com\\>" "spam.tshirt-hell" t) + (from "@\\(.*\\.\\)?lovefilm\\.com\\>" "crap.lovefilm" t) + (from "@\\(\\|.*\\.\\)amazon\\." "crap.amazon" t) + (from "@cineworldmail\\.com\\>" "crap.cineworld" t) + (from "@picturehouses\\.co\\.uk\\>" "crap.picturehouse" t) + (from "@nationwide" "crap.nationwide" t) + (from "nationwide@securesuiteemail\\.com\\>" "crap.nationwide" t) + (from "@news\\.spotifymail\\.com\\>" "crap.spotify" t) + (from "@action\\.openrightsgroup\\.org\\>" "crap.org" t) + (from "unlimited@cineworld\\.com\\>" "crap.cineworld" t) + (from "@tshirthell\\.com\\>" "crap.tshirt-hell" t) (from "campaigns@jolla\\.com\\>" "crap.jolla" t) ;; Default. - "mail.misc") - nnimap-split-fancy nnmail-split-fancy) + "mail.misc")) ;;;-------------------------------------------------------------------------- ;;; Where we get mail from. ;; Read mail on the IMAP server. (setq gnus-secondary-select-methods - '((nnimap "distorted" + `((nnimap "distorted" (nnimap-address "mail.distorted.org.uk") (nnimap-stream starttls) - (nnimap-inbox "INBOX") + (nnimap-inbox ("INBOX" "to.split")) + (nnimap-split-methods nnimap-split-fancy) + (nnimap-split-fancy ,nnmail-split-fancy) (nnimap-unsplittable-articles (%Deleted))) (nnimap "markw-distorted" (nnimap-address "mail.distorted.org.uk") (nnimap-stream starttls) - (nnimap-inbox "INBOX") + (nnimap-inbox ("INBOX" "to.split")) + (nnimap-split-methods nnimap-split-fancy) + (nnimap-split-fancy ,nnmail-split-fancy) (nnimap-unsplittable-articles (%Deleted))) (nnimap "mwooding-chiark" (nnimap-address "imap.dovecot.chiark.greenend.org.uk") (nnimap-stream starttls) - (starttls-extra-arguments ("--insecure")) (nnimap-inbox "INBOX") (nnimap-unsplittable-articles (%Deleted))) (nnimap "google"