Mensagem do Emacs: salvar e-mails enviados

2

Como você faz a Mensagem do Emacs ( C-x m ) salvar emails de saída?

Existe uma maneira padrão de fazer isso?

Você poderia C-x C-s , mas isso é ineficiente e fácil de esquecer, além disso, você não pode ser 100%, é o e-mail enviado: você pode ter feito algumas alterações de última hora que você esqueceu mais tarde.

Isso ( save-buffer ) pode ser invocado de um gancho "enviar mensagem" e ser automatizado? (Como text-mode-hook .) Se sim, qual gancho? (Como você consegue os ganchos de um modo?)

BCC para si mesmo: não é muito elegante?

FCC : parece ser a melhor solução, ainda assim, deve ser automatizada, invocação e um bom nome de arquivo gerado.

    
por Emanuel Berg 13.06.2012 / 12:23

3 respostas

2

Acabei de fazer isso funcionar. Coloque em .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)
    
por 14.06.2012 / 19:21
2

Você pode definir a variável gcc-self a T para todos os grupos que deseja arquivo.

Veja sua documentação aqui . (ou (gnus) Group Parameters )

EDITAR: gcc-self não é uma variável «clássica», você pode configurá-la via gnus-parameter .

(setq gnus-parameters
      '((".*"
         (gcc-self . t))))
    
por 14.06.2012 / 11:12
1

Eu uso uma solução mais complicada:

(defconst my-safe-filename-char-regex "[[:alnum:]-_!.@]"
  "Safe file names.")

(defun my-clean-filename (filename)
  (mapconcat
   (lambda (ch) (or (when (string-match my-safe-filename-char-regex (char-to-string ch)) (char-to-string ch)) "-"))
   filename "") )

(defun my-message-save ()
  "Store message in 'gnus-article-save-directory' after
successful sending. It is possible that mail rejected and I lost
it completely, this func save it for me."
  (unless (eq major-mode 'message-mode)
    (error "Attempt to call my-message-save in non message-mode buffer"))
  (make-directory gnus-article-save-directory t)
  (let ( (buf (current-buffer))
         (field-to (my-clean-filename (or (message-fetch-field "Newsgroups") (message-fetch-field "To"))))
         (field-subject (my-clean-filename (message-fetch-field "Subject")))
         file )
    (setq file (concat gnus-article-save-directory "/" (format-time-string "%F_%T") "_" field-to "_" field-subject))
    (with-temp-file file
      (insert-buffer buf)
      )) )
(add-hook 'message-sent-hook 'my-message-save)

Note também que eu uso message-sent-hook ao invés de message-send-hook .

    
por 08.07.2012 / 21:07

Tags