I accomplished this by defining advice to certain key functions
involved with bbdb and mail.

Like so:

/--------------- begin code snippet

(defvar hold nil
  "Variable for keeping default value of gnus-message-archive-group")


(defadvice bbdb-send-mail (before dmg-change-gcc activate)
  (if (string-equal (buffer-name) "*BBDB*")
      (let ((gcc (save-excursion
                   (set-buffer bbdb-buffer-name)
                   (bbdb-record-getprop (bbdb-current-record) 'gnus-private))))
        (print gcc)
        (if gcc (progn
                  (setq hold gnus-message-archive-group)
                  (setq gnus-message-archive-group (concat "nnml:" gcc))
                  ))
    )
))

(defadvice gnus-inews-insert-archive-gcc (after dmg-reset-gcc activate)
  (setq gnus-message-archive-group hold)
  (setq hold nil))

(ad-activate 'bbdb-send-mail)
(ad-activate 'gnus-inews-insert-archive-gcc)

\----------------- end code snippet

To use this, I make sure a bbdb record has the gnus-private field set
to the nnml folder I want for that individual. As a result, not only
will mail from that person get stored in that folder, but so too will
mail sent to that person, provided I execute bbdb-send-mail on that
record (`m' in the *BBDB* buffer).

If you want to use a different bbdb field besides gnus-private, simply
replace `gnus-private' with the name of the field you desire.

HTH,

Dan

-- 
--------------
Dan Griswold
Rochester, NY
--------------



_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
http://lists.gnu.org/mailman/listinfo/info-gnus-english

Reply via email to