Norman Walsh writes: > Additionally, is there any way to process-mark a bunch of articles and > then have them each individually forwarded to a particular address? I send them as a digest instead of individual messages, but here we go: ,---- | (defvar jk/spam-report-address "spam@somewhere" | "Email-address to report ill-classified spam.") | (defvar jk/ham-report-address "nospam@somewhere" | "Email-address to report ill-classified ham.") | (defvar jk/spam-target "nnimap+some:spam/misc" | "Group to move reported spam too.") | | (defun jk/ham-spam-report (to-address) | "Digest and forward all articles in this series to the specified address." | (let | ((gnus-uu-digest-headers nil) | (gnus-uu-save-in-digest t) | (file (mm-make-temp-file (nnheader-concat gnus-uu-tmp-dir "spam-report"))) | (message-forward-as-mime t) | (mail-parse-charset gnus-newsgroup-charset) | (mail-parse-ignored-charsets gnus-newsgroup-ignored-charsets) | gnus-uu-digest-buffer subject from) | (let ((gnus-article-reply (gnus-summary-work-articles nil))) | (gnus-setup-message 'forward | (setq gnus-uu-digest-from-subject nil) | (setq gnus-uu-digest-buffer | (gnus-get-buffer-create " *gnus spam-report*")) | (gnus-uu-decode-save nil file) | (switch-to-buffer gnus-uu-digest-buffer) | (let ((message-forward-decoded-p t)) | (message-forward nil t)))) | (setq gnus-uu-digest-from-subject nil) | ;; Ok, finish mail | ;; Subject: | (goto-char (point-min)) | (when (re-search-forward "^Subject: ") | (delete-region (point) (point-at-eol)) | (insert "ham/spam report")) | ;; From: (Heinz only accepts reports from internal address) | (goto-char (point-min)) | (when (re-search-forward "^From:") | (delete-region (point) (point-at-eol)) | (insert " jochen-xIDITz2oXuw@public.gmane.org")) | ;; Reply-To: (Heinz only accepts reports from internal address) | (goto-char (point-min)) | (when (re-search-forward "^Reply-To:" (point-max) t) | (delete-region (point) (point-at-eol)) | (insert " jochen-xIDITz2oXuw@public.gmane.org")) | ;; To: | (goto-char (point-min)) | (when (re-search-forward "^To:") | (delete-region (point) (point-at-eol)) | (insert " " to-address)) | ;; Gcc | (goto-char (point-min)) | (when (re-search-forward "^Gcc:" (point-max) t) | (delete-region (point-at-bol) (point-at-eol)) | (insert "Gcc: nnimap+some:sent/" (format-time-string "%Y/%m") | " nnimap+some:spam/reported")) | ;; remove signature | (when (message-goto-signature) | (delete-region (- (point) 4) (point-max))) | ;; and send | (message-send-and-exit))) | | (defun jk/ham-report () | "Digest and forward all articles in this series to nospam@somewhere." | (interactive) | (jk/ham-spam-report jk/ham-report-address)) | | (defun jk/spam-report () | "Digest and forward all articles in this series to spam@somewhere. | In addition move the marked articles to a different group (specified in | `jk/spam-target')." | (interactive) | (gnus-summary-save-process-mark) | (jk/ham-spam-report jk/spam-report-address) | (gnus-summary-yank-process-mark) | (gnus-summary-move-article nil jk/spam-target)) `---- Some more minor features, but it should work for you as well. Greetings, Jochen -- Einigkeit und Recht und Freiheit http://www.Jochen-Kuepper.de Liberté, Égalité, Fraternité GnuPG key: CC1B0B4D (Part 3 you find in my messages before fall 2003.)