Emacs 메시지: 보낸 메일을 저장합니다.

Emacs 메시지: 보낸 메일을 저장합니다.

Emacs 메시지( )가 보내는 메일을 어떻게 저장하도록 합니까 C-x m?

이를 수행하는 표준 방법이 있습니까?

그럴 수도 있지만 C-x C-s이는 비효율적이고 잊어버리기 쉽습니다. 게다가 실제로 보낸 메일이 100%일 수는 없습니다. 나중에 잊어버렸던 몇 가지 마지막 순간 변경 작업을 수행했을 수도 있습니다.

이 ( save-buffer)가 "메시지 보내기" 후크에서 호출되어 자동화될 수 있습니까? (처럼요 text-mode-hook.) 그렇다면 어떤 후크가 있을까요? (모드의 고리는 어떻게 얻나요?)

BCC자신에게: 별로 우아하지 않은데요?

FCC: 최선의 솔루션인 것 같지만 호출과 좋은 파일 이름이 모두 자동화되어야 합니다.

답변1

방금 작동했습니다. 넣어 .emacs:

(defun save-sent-mail ()
  (write-file (format-time-string "~/Mail/sent/%Y-%m-%d_%T") nil) )
(add-hook 'message-send-hook 'save-sent-mail)

답변2

보관하려는 그룹에 대해 gcc-self변수 를 설정할 수 있습니다 .T

해당 문서를 참조하세요 여기. (또는 (gnus) Group Parameters)

편집: gcc-self"클래식" 변수가 아니므로 를 통해 설정해야 합니다 gnus-parameter.

(setq gnus-parameters
      '((".*"
         (gcc-self . t))))

답변3

나는 더 복잡한 솔루션을 사용합니다.

(defconst my-safe-filename-char-regex "[[:alnum:]-_!.@]"
  "안전한 파일 이름.")

(my-clean-filename (파일 이름)을 정의했습니다.
  (mapconcat
   (lambda (ch) (또는 (when (string-match my-safe-filename-char-regex (char-to-string ch)) (char-to-string ch)) "-"))
   파일 이름 "") )

(내 메시지 저장을 거부함()
  "'gnus-article-save-directory'에 메시지를 저장한 후
성공적으로 보냈습니다. 메일이 거부되어 분실되었을 가능성이 있습니다.
완전히, 이 기능이 나를 위해 저장해 줬어요."
  ((eq 메이저 모드 '메시지 모드)가 아닌 경우)
    (오류 "비 메시지 모드 버퍼에서 my-message-save 호출 시도"))
  (make-디렉토리 gnus-article-save-디렉토리 t)
  (let ( (buf (현재 버퍼))
         (field-to (my-clean-filename (또는 (message-fetch-field "Newsgroups") (message-fetch-field "To"))))
         (field-subject (my-clean-filename (message-fetch-field "제목")))
         파일)
    (setq 파일(concat gnus-article-save-directory "/" (형식-시간-문자열 "%F_%T") "_" 필드-"_" 필드-주제))
    (임시 파일 포함 파일
      (삽입 버퍼 버퍼)
      )) )
(추가 후크 '메시지 전송 후크 '내 메시지 저장)

또한 내가 사용하는 점에 유의하십시오.메시지 전송 후크대신에메시지 전송 후크.

관련 정보