From 1e3bad2152a2d4e383b45a419e7c0d7ce3423ff8 Mon Sep 17 00:00:00 2001 Message-Id: <1e3bad2152a2d4e383b45a419e7c0d7ce3423ff8.1717413979.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sat, 25 Apr 2020 00:32:24 +0100 Subject: [PATCH] dot/gnus-local.el.distorted: Set `odin.gg' sender address if applicable. Organization: Straylight/Edgeware From: Mark Wooding Gather an alist mapping mailbox names to `odin' local-parts and consult it when building the sender address. --- dot/gnus-local.el.distorted | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dot/gnus-local.el.distorted b/dot/gnus-local.el.distorted index e7e7f52..7bfba60 100644 --- a/dot/gnus-local.el.distorted +++ b/dot/gnus-local.el.distorted @@ -93,9 +93,10 @@ "\\(" "$" "\\|" "\\s-" "\\)")) (defvar mdw-odin-splits nil) +(defvar mdw-odin-sender-alist nil) (defun mdw-update-odin-info () - (let ((splits nil)) + (let ((splits nil) (senders nil)) (with-temp-buffer (call-process "ssh" nil t nil "stratocaster" "userv" "odin" "mail" "list") @@ -106,9 +107,11 @@ (tag (match-string 2))) (push `(to ,(format "%s@odin\\.gg" local-part) ,(format "crap.%s" tag)) - splits))) + splits) + (push (cons tag local-part) senders))) (forward-line))) - (setq mdw-odin-splits (nreverse splits)))) + (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. @@ -117,7 +120,8 @@ (address (let* ((mailbox (substring gnus-newsgroup-name (match-end 0))) (entry (assoc mailbox mdw-odin-sender-alist))) - (concat "mdw-nospam-" mailbox "@distorted.org.uk")))) + (if entry (concat (cdr entry) "@odin.gg") + (concat "mdw-nospam-" mailbox "@distorted.org.uk"))))) ("^nnimap\\+[^:]+-chiark:" ("X-mdw-Send-Mail" "chiark-smtp")) ("^nnimap\\+google:" -- [mdw]