all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* gnus and bbdb: Yahoo groups DMARC-related changes to email From header.
@ 2014-05-23 19:32 Patricia J. Hawkins
  0 siblings, 0 replies; only message in thread
From: Patricia J. Hawkins @ 2014-05-23 19:32 UTC (permalink / raw)
  To: help-gnu-emacs

Hello all,

Yahoogroup email header changes are driving me a little nuts.  I see
someone asked about this, but the answer he got (delete junk addresses)
wasn't useful to me.

I subscribe to a Yahoo group where I want to capture new members and changed
email address and record them in my bbdb.

The incoming From: header looks like this:

  From: "Susan Subscriber ssubscriber@ssnewaddress.com [Listerines]" <Listerines@yahoogroups.com>

Looks like "bbdb-canonicalize-net-hook" is applied too late to do any
good; at that point the user name and email have already been split out as:
("Susan Subscriber" "Listerines@yahoogroups.com")

but should be:

("Susan Subscriber" ssubscriber@ssnewaddress.com)


The extraction seems to be within bbdb-get-addresses, using the function
that's passed in as get-header-content-function

Haven't tracked down get-header-content-function yet.

Anyone care to give me a hand here?  TIA!


Here's the backtrace of my brief, revealing experiment with bbdb-canonicalize-net-hook:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  string-match("\\`\\(\".*\".\\).*\\.\\([^[]*<Listerines@yahoogroups.com>\\)\\'" nil)
  (cond ((string-match "\\`\\(\".*\".\\).*\\.\\([^[]*<Listerines@yahoogroups.com>\\)\\'" addr) (substring addr (match-beginning 1) (match-end 1))) (t addr))
  (lambda (addr) (cond ((string-match "\\`\\(\".*\".\\).*\\.\\([^[]*<Listerines@yahoogroups.com>\\)\\'" addr) (substring addr (match-beginning 1) (match-end 1))) (t addr)))(nil)
  run-hook-with-args((lambda (addr) (cond ((string-match "\\`\\(\".*\".\\).*\\.\\([^[]*<Listerines@yahoogroups.com>\\)\\'" addr) (substring addr (match-beginning 1) (match-end 1))) (t addr))) nil)
  bbdb-canonicalize-address("Listerines@yahoogroups.com")
  bbdb-annotate-message-sender(("Susan Subscriber" "Listerines@yahoogroups.com") t nil nil)
  byte-code("\b\211A@)\204\0\306\202\357\n\307=\203,\310\b\311\v\206\0\f\v\311=?\205'\r\205'\312$C\202\357\n\313=\205\357\314\315\b\211A@)!\316Q\311\x1a^[\306\x1a\x1c\317 \306\x1d\x1e\x1f !\x1f\203\352\x0e\x1f@\x1d\x1e\203\234\x0e\320H\306\"\211#\203\217\x0e#\203\226\x0e\"\204\226\321^[#@\"\"#A\211#\204u\202\226\321^[\322\"\"\"*\203\332\x0e\204\341\x0e\320H\306\"\211#\203\315\x0e#\203\324\x0e\"\204\324\321^[#@\"\"#A\211#\204\263\202\324\321^[\322\"\"\"*\203\341\x0e\x0e!B!\x1fA\211\x1f\204Y\x0e!\237.\a$%T%&\204#\x0e'\204#\r\323=\204#\x0e%\324\246\325U\203#\326\327\n%($)\330)!\210)\331\325!\210\306\207" [bbdb-address x bbdb-update-records-mode auto-create-p offer-to-create bbdb-offer-to-create nil annotating bbdb-annotate-message-sender t bbdb-prompt-for-create searching "^" regexp-quote "$" bbdb-search-invert-p 6 string-match "" q 5 0 format "Hit C-g to stop BBDB from %s.  %d of %d addresses processed." message sit-for bbdb-case-fold-search net bbdb-records record invert records case-fold-search matches done rest-of-nets hits processed-addresses bbdb-silent-running bbdb-gag-messages addrslen mess] 7)
  bbdb-update-records(((authors "From" ("Susan Subscriber" "Listerines@yahoogroups.com")) (recipients "To" (nil "Listerines@yahoogroups.com"))) nil nil)
  (setq records (bbdb-update-records (bbdb-get-addresses bbdb-get-only-first-address-p (or (bbdb/gnus-ignored-from-addresses) bbdb-user-mail-names) (quote gnus-fetch-field)) bbdb/news-auto-create-p offer-to-create))
  (let ((bbdb-update-records-mode (or bbdb/gnus-update-records-mode bbdb-update-records-mode))) (setq records (bbdb-update-records (bbdb-get-addresses bbdb-get-only-first-address-p (or (bbdb/gnus-ignored-from-addresses) bbdb-user-mail-names) (quote gnus-fetch-field)) bbdb/news-auto-create-p offer-to-create)))
  (if cache (setq records (if bbdb-get-only-first-address-p (list (car cache)) cache)) (let ((bbdb-update-records-mode (or bbdb/gnus-update-records-mode bbdb-update-records-mode))) (setq records (bbdb-update-records (bbdb-get-addresses bbdb-get-only-first-address-p (or (bbdb/gnus-ignored-from-addresses) bbdb-user-mail-names) (quote gnus-fetch-field)) bbdb/news-auto-create-p offer-to-create))) (if (and bbdb-message-caching-enabled msg-id) (bbdb-encache-message msg-id records)))
  (save-excursion (set-buffer gnus-article-buffer) (if (and msg-id (not bbdb/gnus-offer-to-create)) (setq cache (bbdb-message-cache-lookup msg-id))) (if cache (setq records (if bbdb-get-only-first-address-p (list (car cache)) cache)) (let ((bbdb-update-records-mode (or bbdb/gnus-update-records-mode bbdb-update-records-mode))) (setq records (bbdb-update-records (bbdb-get-addresses bbdb-get-only-first-address-p (or (bbdb/gnus-ignored-from-addresses) bbdb-user-mail-names) (quote gnus-fetch-field)) bbdb/news-auto-create-p offer-to-create))) (if (and bbdb-message-caching-enabled msg-id) (bbdb-encache-message msg-id records))))
  (let ((bbdb-update-records-mode (or bbdb/gnus-update-records-mode bbdb-update-records-mode)) (bbdb/gnus-offer-to-create offer-to-create) (msg-id (bbdb/gnus-get-message-id)) records cache) (save-excursion (set-buffer gnus-article-buffer) (if (and msg-id (not bbdb/gnus-offer-to-create)) (setq cache (bbdb-message-cache-lookup msg-id))) (if cache (setq records (if bbdb-get-only-first-address-p (list (car cache)) cache)) (let ((bbdb-update-records-mode (or bbdb/gnus-update-records-mode bbdb-update-records-mode))) (setq records (bbdb-update-records (bbdb-get-addresses bbdb-get-only-first-address-p (or ... bbdb-user-mail-names) (quote gnus-fetch-field)) bbdb/news-auto-create-p offer-to-create))) (if (and bbdb-message-caching-enabled msg-id) (bbdb-encache-message msg-id records)))) records)
  bbdb/gnus-update-records(nil)
  (let ((bbdb-gag-messages t) (records (bbdb/gnus-update-records offer-to-create)) (bbdb-electric-p nil)) (if bbdb-use-pop-up (progn (let ((b (current-buffer))) (if records (bbdb-pop-up-bbdb-buffer (function (lambda ... ...))) (or bbdb-inside-electric-display (not (get-buffer-window bbdb-buffer-name)) (let (w) (delete-other-windows) (gnus-configure-windows ...) (if ... ...)))) (set-buffer b)) (if records (bbdb-display-records records bbdb-pop-up-display-layout)))) records)
  bbdb/gnus-pop-up-bbdb-buffer()
  run-hooks(gnus-article-prepare-hook)
  apply(run-hooks gnus-article-prepare-hook)
  gnus-run-hooks(gnus-article-prepare-hook)
  gnus-article-prepare(284761 nil)
  gnus-summary-display-article(284761)
  gnus-summary-next-article(t nil)
  gnus-summary-next-unread-article()
  call-interactively(gnus-summary-next-unread-article nil nil)
-- 
Patricia J. Hawkins



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-05-23 19:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-23 19:32 gnus and bbdb: Yahoo groups DMARC-related changes to email From header Patricia J. Hawkins

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.