Tự động thêm địa chỉ thư của người nhận vào cơ sở dữ liệu BBDB


8

Tôi đang sử dụng BBDB3 với Gnus. Tôi muốn tạo BBDB để cập nhật địa chỉ người nhận trong cơ sở dữ liệu của nó cho mỗi thư tôi gửi (giống như Gmail). Có thể không?

Câu trả lời:


5

Chắc chắn, đây là Emacs! :)

(bbdb-initialize 'gnus 'message)
(bbdb-mua-auto-update-init 'message) ;; use 'gnus for incoming messages too
(setq bbdb-mua-auto-update-p 'query) ;; or 'create to create without asking

Điều này sẽ phân tích các trường trong các tin nhắn gửi đi và đề nghị tạo các mục BBDB tương ứng


Điều đó làm cho nó quá xâm phạm đặc biệt là trong khi đọc một nhóm tin tức. Tôi không muốn bbdb hành động trên các tin nhắn đến mà chỉ cho các tin nhắn mà tôi gửi. Tìm kiếm một số loại message-sent-hook?
kindahero

đó là lý do tại sao tôi đã viết (bbdb-mua-auto-update-init 'message)và không (bbdb-mua-auto-update-init 'message 'gnus). Các móc nối trước vào message-send-hook(chỉ các tin nhắn gửi đi), trong khi các móc nối sau cũng vào gnus-article-prepare-hook(tất cả các bài viết được hiển thị, do đó cũng có các bài viết đến)
Sigma

Cảm ơn vì đã giải thích. Nhưng nó dường như không hoạt động. không biết tại sao. Tôi sẽ kiểm tra nhiều hơn và trở lại.
kindahero

Tôi khuyên bạn nên kiểm tra kỹ nội dung gnus-article-prepare-hookvà loại bỏ bất kỳ sự cố nào xảy ra bbdb-mua-auto-update(chúng có thể đến từ các phần khác trong cấu hình của bạn, rất có thể là một cuộc gọi khác bbdb-mua-auto-update-init)
Sigma

2

Tôi không có tự động nhưng nếu bạn muốn có nó trong một phím nhanh ở đây, làm thế nào bạn có thể có nó:

(defun my-gnus-bbdb-snarf-sender ()
  (interactive)
  (gnus-with-article-buffer
    (let ((from (mail-fetch-field "from")))
      (bbdb-snarf from 'mail))))

và thêm một hook cho gnus-Tóm tắt-hook vào một khóa, ví dụ như:

(defun my-gnus-summary-mode-hook ()
  (local-set-key '[(\')] 'my-gnus-bbdb-snarf-sender))
(add-hook 'gnus-summary-mode-hook 'my-gnus-summary-mode-hook)

liên kết nó với bàn phím trích dẫn để thêm người gửi trực tiếp vào BBDB

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.