(setq message-alternative-emails bbdb-user-mail-names
message-dont-reply-to-names message-alternative-emails)
-;; Mail sent to `mdw-nospam-THING' should appear to come from this address.
-(setq gnus-posting-styles
- '(("^nnimap\\+distorted:crap\\."
- (address (concat "mdw-nospam-"
- (substring gnus-newsgroup-name (match-end 0))
- "@distorted.org.uk")))
- ("^nnimap\\+[^:]+-chiark:"
- ("X-mdw-Send-Mail" "chiark-smtp"))
- ("^nnimap\\+google:"
- (address "distorted.mdw@gmail.com")
- ("X-mdw-Send-Mail" "gmail-smtp"))))
-
;; Augment Gnus's built-in header-list abbreviations.
(require 'nnmail)
(setq nnmail-split-abbrev-alist
"\\(" "$" "\\|" "\\s-" "\\)"))
(defvar mdw-odin-splits nil)
+(defvar mdw-odin-sender-alist nil)
(defun mdw-update-odin-info ()
- (let ((list nil))
+ (let ((splits nil) (senders nil))
(with-temp-buffer
(call-process "ssh" nil t nil
"stratocaster" "userv" "odin" "mail" "list")
(tag (match-string 2)))
(push `(to ,(format "%s@odin\\.gg" local-part)
,(format "crap.%s" tag))
- list)))
+ splits)
+ (push (cons tag local-part) senders)))
(forward-line)))
- (setq mdw-odin-splits (nreverse list))))
+ (setq mdw-odin-splits (nreverse splits)
+ mdw-odin-sender-alist (nreverse senders))))
(mdw-update-odin-info)
+;; Mail sent to `mdw-nospam-THING' should appear to come from this address.
+(setq gnus-posting-styles
+ '(("^nnimap\\+distorted:crap\\."
+ (address (let* ((mailbox (substring gnus-newsgroup-name
+ (match-end 0)))
+ (entry (assoc mailbox mdw-odin-sender-alist)))
+ (if entry (concat (cdr entry) "@odin.gg")
+ (concat "mdw-nospam-" mailbox "@distorted.org.uk")))))
+ ("^nnimap\\+[^:]+-chiark:"
+ ("X-mdw-Send-Mail" "chiark-smtp"))
+ ("^nnimap\\+google:"
+ (address "distorted.mdw@gmail.com")
+ ("X-mdw-Send-Mail" "gmail-smtp"))))
+
;; The actual splitting rules.
(setq nnmail-split-fancy
`(|